👨‍👩‍👦

CLIPと進化戦略ESを用いて、単純なかたちを組み合わせて描く抽象画. AIキュビズム ?

Entry
CLIPと進化戦略ESを用いて、単純なかたちを組み合わせて描く抽象画. AIキュビズム ?
Simple Title
YINGTAO TIAN, DAVID HA. Modern Evolution Strategies for Creativity: Fitting Concrete Images and Abstract Concepts (2021)
Description
テキストと画像がどのくらいマッチしているかを定量化するモデル OpenAI CLIPを評価関数に用いて、進化戦略ESによって生成した抽象画
Type
Project
Year
2021
Posted at
October 1, 2021
Tags
imageart
"A drawing of a cat"
"Walt Disney World"

Overview

  • 遺伝的アルゴリズム(GA)に代表される進化的計算手法は以前から画像の生成に用いられてきた。
  • しかし、個体(この場合は画像)の良し悪しを決める評価関数(Fitness function)を定量的に定めるのが難しいという問題があった (何を持って良い絵とする?)
  • これまでは、人が評価する方式(対話型進化計算)か、ターゲットとして与えた画像との単純な類似度を評価関数として使うしかなかった。
  • そこで... このプロジェクトでは画像とテキストがどのくらいマッチしているかを定量化するモデル、OpenAI CLIPを評価関数として用いる。
👨‍👩‍👦
画像と文章をつなげるモデル OpenAI CLIPを用いた「CLIPアート」
ターゲットとして与えた画像との類似度で最適化した場合
ターゲットとして与えた画像との類似度で最適化した場合
  • さらに最適化手法として遺伝的アルゴリズムの代わりに、進化戦略(Evolution Strategy)を採用。
  • 与えたテキストを表現する絵としてよりふさわしいとCLIPモデルに判断されるように、半透明の三角形の並べ方、組み合わせ方を最適化していく。

Technology/System

システム図 - Evaluate Fitnessの上が今回のプロジェクト、下は参考に示した画像との類似度で最適化した場合 (上のモナリザの絵を参照)
システム図 - Evaluate Fitnessの上が今回のプロジェクト、下は参考に示した画像との類似度で最適化した場合 (上のモナリザの絵を参照)

  • ESの各個体は三角形の座標や色を表現する「遺伝子」を持つ 例: {x1,y1,x2,y2,x3,y3,r,g,b,a}\left\{x_{1}, y_{1}, x_{2}, y_{2}, x_{3}, y_{3}, r, g, b, a\right\}
  • 遺伝子が「発現」して生まれる図をCLIPにかけた出力と入力として与えたテキスト(プロンプト)をCLIPにかけた出力の距離 (Cosine Loss) を、各個体の適応度(Fitness)として扱う

Results

  • カンディンスキーの作品やキュビズムを想起させる作品に!!
  • 初期化時の乱数などの違いによって、試すたびにちょっとずつ異なる結果になるのも面白い
同じプロンプトで試してみた結果
同じプロンプトで試してみた結果
  • ESの代わりにバックプロパゲーションを使って三角形の配置の最適化を試みた。
    • 結果はESの方がはっきりした抽象画に
    • ESの結果はポスト印象派、バックプロパゲーションした場合は印象派っぽくなったという比較もされている。
ESとバックプロパゲーションの比較
ESとバックプロパゲーションの比較

Further Thoughts

  • 進化計算において、絵や音楽に対して定性的な評価関数を定義するのが難しいという大きなボトルネックをCLIPを使うことで迂回 → ピカソっぽい絵、バッハっぽい音楽を生成するといった人の模倣ではない創作を、AIを用いて実現する、というとてもアーティスティックなプロジェクト
  • 願わくば、自分でやりたかった! (悔しい...)
  • こういうアーティスティックなプロジェクトできちんと論文のようにまとめて提示できるのはほんとにかっこいい。しかもページ自体のデザインもクリーンで良い。見習いたい!!

Related Projects

Links

CLIPについて

今回利用したESのアルゴリズを実装したライブラリ