CLIPと進化戦略ESを用いて、単純なかたちを組み合わせて描く抽象画. AIキュビズム ?
YINGTAO TIAN, DAVID HA. Modern Evolution Strategies for Creativity: Fitting Concrete Images and Abstract Concepts (2021)
テキストと画像がどのくらいマッチしているかを定量化するモデル OpenAI CLIPを評価関数に用いて、進化戦略ESによって生成した抽象画
2021
Overview
- 遺伝的アルゴリズム(GA)に代表される進化的計算手法は以前から画像の生成に用いられてきた。
- しかし、個体(この場合は画像)の良し悪しを決める評価関数(Fitness function)を定量的に定めるのが難しいという問題があった (何を持って良い絵とする?)
- これまでは、人が評価する方式(対話型進化計算)か、ターゲットとして与えた画像との単純な類似度を評価関数として使うしかなかった。
- そこで... このプロジェクトでは画像とテキストがどのくらいマッチしているかを定量化するモデル、OpenAI CLIPを評価関数として用いる。
- さらに最適化手法として遺伝的アルゴリズムの代わりに、進化戦略(Evolution Strategy)を採用。
- 与えたテキストを表現する絵としてよりふさわしいとCLIPモデルに判断されるように、半透明の三角形の並べ方、組み合わせ方を最適化していく。
Technology/System
- ESの各個体は三角形の座標や色を表現する「遺伝子」を持つ 例:
- 遺伝子が「発現」して生まれる図をCLIPにかけた出力と入力として与えたテキスト(プロンプト)をCLIPにかけた出力の距離 (Cosine Loss) を、各個体の適応度(Fitness)として扱う
Results
- カンディンスキーの作品やキュビズムを想起させる作品に!!
- 初期化時の乱数などの違いによって、試すたびにちょっとずつ異なる結果になるのも面白い
- ESの代わりにバックプロパゲーションを使って三角形の配置の最適化を試みた。
- 結果はESの方がはっきりした抽象画に
- ESの結果はポスト印象派、バックプロパゲーションした場合は印象派っぽくなったという比較もされている。
Further Thoughts
- 進化計算において、絵や音楽に対して定性的な評価関数を定義するのが難しいという大きなボトルネックをCLIPを使うことで迂回 → ピカソっぽい絵、バッハっぽい音楽を生成するといった人の模倣ではない創作を、AIを用いて実現する、というとてもアーティスティックなプロジェクト
- 願わくば、自分でやりたかった! (悔しい...)
- こういうアーティスティックなプロジェクトできちんと論文のようにまとめて提示できるのはほんとにかっこいい。しかもページ自体のデザインもクリーンで良い。見習いたい!!
Related Projects
- ブロックの配置をAIで「最適化」して絵を描く 《造形に学ぶ – バウハウスの積み木》JAGDAインターネット委員会 + Qosmo
JAGDA 「AIと共創するグラフィックデザイン展」 | COMMISSION | Qosmo - Computational Creativity and Beyond
AIを用いたグラフィックデザインの実験 2019年3月15日~29日に東京ミッドタウン・デザインハブにて、開催された第78回企画展「AIと共創するグラフィックデザイン」。2017年よりQosmoは、近未来におけるグラフィックデザインの発展と可能性を探ることを目的に、公益社団法人日本グラフィックデザイナー協会(JAGDA)と共同で機械学習を用いた実験を行ってきました。 ...
qosmo.jp
- 一般的な畳み込みニューラルネットワーク(CNN)を使って、抽象的な絵を描くプロジェクト。 《Perception Engine》 Tom White
畳み込みニューラルネットワークの識別能力を用いて抽象画を描く- Perception Engine
このプロジェクトの面白いところは、DeepDreamやStyle Transferのようにニューラルネットによって画像を直接生成するのではなく、 線や円で構成されるシンプルな絵を描くシステム を用意している点。 そして用意した CNNの特定のクラスとして識別される割合をなるべく高くする ...
createwith.ai
Links
CLIPについて
画像と文章をつなげるモデル OpenAI CLIPを用いた「CLIPアート」
"Perfume at Tokyo Dome, hyperrealistic"
createwith.ai
今回利用したESのアルゴリズを実装したライブラリ
GitHub - nnaisense/pgpelib: A mini library for Policy Gradients with Parameter-based Exploration, with reference implementation of the ClipUp optimizer (https://arxiv.org/abs/2008.02387) from NNAISENSE.
A mini library for Policy Gradients with Parameter-based Exploration, with reference implementation of the ClipUp optimizer (https://arxiv.org/abs/2008.02387) from NNAISENSE. - GitHub - nnaisense/pgpelib: A mini library for Policy Gradients with Parameter-based Exploration, with reference implementation of the ClipUp optimizer (https://arxiv.org/abs/2008.02387) from NNAISENSE.
github.com