どうも!sodaエンジニアの國田です。
突然ですが、皆さま、CLIPってご存じですか!?
CLIPは画像と文章を結びつけることができるAIモデルです。ある画像に対し、その説明文がどの程度合っているかを出力することができます。(これを難しい言葉で画像とテキストの類似度と言います。)
例えば、「たわわに実った赤いリンゴ」という説明文と「リンゴの実がたくさん宿った木の写真」はよく似ているという評価が得られ、同じ説明文に対し「猫のイラスト」を渡したり、「女優の顔写真」を渡したりするとあまり似ていない、合っていないという結果が数値で出力されるというわけです。
このCLIP、これまで英語版が主流でしたが、ついに先日、日本語版CLIPが公開されました!
日本語版CLIPのプレスリリースには「画像生成モデルと組み合わせることで、テキストから画像を生成することが可能です」とありますね。これは簡単に言いますと「日本語でAIに命令をして好きな画像を生成させる・・いわゆる『AIアート』ができます」ということです。
「CLIPでAIアート」と言うと、一見複雑なことをやっているように感じるのですが、原理的にはかなりシンプルです。
すなわち、
① AIに適当に絵を描かせる。
② 「AIが描いた絵」と「欲しい絵の説明文」をCLIPで⽐較することによって、似ている度合い(類似度)を算出する。
この値を誤差として、誤差逆伝播を行い、 AIのパラメータを更新する(≒類似度が大きくなってくれるように調整する)。
③ 更新されたパラメータを⽤いて、新しい絵を描かせる。
④ 似ている度合い(類似度)が⼗分に大きくなるまで②、③を繰り返す。
という流れです。
今回はこのAIアートを日本語版CLIPを使ってやってみたいと思います。
日本語版CLIPそのものは公開されておりますが、残念ながら日本語CLIP組込済みの生成モデルは公開されておりませんでした。
ここは、自前で組み込みを行います。今回は生成モデルとしてハイクオリティな画像を生成できる「VQGAN」を選びました。
さぁ、やってみよう
では早速、日本語版CLIPを使って、AIアートを描いてもらいましょう!
AIには今回ものすごく意地悪をして、絶対に存在しなさそうな画像を生成してもらうことにします。
いきなりですが、一気に入力する文章と生成画像をお見せしちゃいますね!
南国のビーチに建つ東京タワー
すごい!しっかりビーチに東京タワーのような物体が建てられています。
では続いて、
北極で咲くひまわり
これは、すごい・・!きちんとひまわりのようなものも描かれてますし、北極の氷も表現できているようです。地表に砂のようなものがチラホラ見えるのは、「ひまわり」という言葉から畑の土等が引っ張られたのでしょうか?
次はこちら、
深海にある京都
美しい・・!清水寺のようなものが描かれています。「京都」と言うだけで「清水寺」を提示してくるAIには『感嘆!』の一言。
富士山と自由の女神
これも良いですね。これぞ日本とアメリカのコラボレーション。こんな画像が日本語を入力するだけで得られるあたり、恐ろしさを感じざるを得ません。
さて、以上はうまく生成できた例ですが、想定どおりにならなかった例もいくつかありましたので、紹介したいと思います。
ジムでトレーニングをするゴリラ
なかなかそれっぽい画像にはなっていますが、個人的にはちょっと物足りなかった例ですね。
ジムにあるマシンの雰囲気がそこそこ出ているような気はするのですが、ゴリラがダンベル持っている画像やベンチプレスしている画像を期待していたので、惜しい感じがしてます。
喫茶店でコーヒーを飲む猫
こちらは顔部分が惜しかったです。「喫茶店」「コーヒー」といった要素はきちんと描かれており、ハイクオリティにできたのに・・・。
漫画を読んで笑う犬
「漫画」「犬」のイメージは十分ですが、「笑う」部分が上手く表現できていませんね。このあたりの感情表現は絵に表すには意外と難しいのかもしれません。
最後にこちら
馬と娘の可愛い競馬
「娘」の雰囲気は出ていますが、「馬」が惜しいですね。尻尾や脚は見えるのに頭が見当たらない様子。もう少し時間かけて生成させればうまくいくのでしょうか?
いかがだったでしょうか?
今回は、新たに公開された日本語版CLIPを生成モデルと組み合わせてAIアートを描かせる実験を行いました。
結果、日本語モデルでもかなり高品質かつ面白いAIアートを描くことができました。
一応、補足しておきますと、日本語版と英語版のCLIPとでは学習させている画像自体も異なりますので、厳密に英語版CLIPと全く同じAIアートを描くことができるということではありません。また、今回の聖生物に関しては細かい調整もしていない状態ですので、原論文に掲載されているようなレベルの画像にまでは至っていません。
しかしながら、「絶対に存在しないものを描け」という無茶振りにも対応できるような能力があることを存分にご理解いただけたかと思います。言葉が表す物体の特徴をこれだけ捉えられるのだから、CLIPは本当に素晴らしいモデルですね。
最近では、マルチモーダルAIに関する研究も盛んに行われており、アート分野以外でも何か使えたら色々面白いことができそうです。日本語版CLIP、今後も継続して試してみたいです。
おまけ
入力ワードに画風を示す言葉を含めることで絵のスタイルも変更できました。
ピラミッドの浮世絵
バーベルの浮世絵
ではまた!
参考
Katherine Crowson, Stella Biderman, Daniel Kornis, Dashiell Stander, Eric Hallahan, Louis Castricato and Edward Raff, "VQGAN-CLIP: Open Domain Image Generation and Editing with Natural Language Guidance", 2022