見出し画像

拡散する想像力 ─ 画像生成 AI の進化


激しい雨が降っていた。夜の船着場には、何艘ものボートが係留されている。

この文章の一節を読んで,あなたはどのような情景を思い浮かべるでしょうか?

場所はきっと「どこかの船着場」で,時間帯は「夜」,周囲は暗く「激しい雨が降る」悪天候でしょう。船着場には少なくとも 2 艘以上のボートが停まっています……つまり,その情景は完全な暗闇ではなく,何らかの光源で照らされているはずです。船着場を照らす街明かりか,暗雲に隠れた月の光か,あるいは豪雨に走る稲光かもしれません。

まったく同じ文章を読んだ人同士であっても,実際に思い浮かべた情景の具体的なイメージは人によって千差万別のはずです。

では,これらの異なるイメージはいったいどこから来るのでしょうか?

それはきっと各人それぞれの「記憶」だと思われます。そして,記憶の中でも長期記憶,特にエピソード記憶や意味記憶と呼ばれるものが関係しています。[1]

上記の文章と似たような経験をしたことがある人はそのときの情景を思い浮かべたでしょうし,そうでない人も、たとえば映画やドラマで見たワンシーンを組み合わせることで,文章に近い情景を思い浮かべたのではないでしょうか?

また,シーンを組み合わせるときも単純なパッチワーク的組み合わせではなく,全体でひとつの自然な「イメージ」になるように各シーンの改変や融合が起こっていたはずです。

言葉とイメージ

このように,過去の経験と記憶から新しいイメージを想起できるのは,生物がもつ不思議な能力のひとつです。いわゆる「想像力」と呼ばれるものの一環でしょう。

そして,最近では,上記に挙げたような「任意の文章からその内容を描写した画像を生成」できる AI が注目を集めています。「お絵描き AI」「AI アート」などと呼ばれ,Twitter や Instagram などの SNS で「AI で生成してみた」という投稿を多く見かけるようになりました。

たとえば,2022 年 8 月 23 日に Stable Diffusion という画像生成 AI が公開され[2],誰でも気軽に画像生成 AI を試すことができるようになりました。試しに,冒頭の文章を Stable Diffusion で画像化した例が以下になります。[3][4]

いかがでしょうか? 同じ文章(プロンプト)から異なる 4 枚の画像を生成してみましたが,文章の内容に近い画像が生成できていると思います [5]。

拡散モデルによる画像生成

AI で画像を生成するタスクには歴史的にいくつかの手法が存在しますが [6],Stable Diffusion では(その名前が示す通り)Diffusion Model (拡散モデル) という手法を用いています [7]。

拡散モデルの働きそのものは単純です。

まず,画像に徐々にノイズを追加して,完全なノイズになるまで破損させます。そして,ニューラルネットワークをトレーニングして,今度は逆に,ノイズを徐々に除去することで元の画像を得るノイズ除去ネットワークを作ります。このネットワークを使うことで,画像の破損プロセスを逆に実行することができ,完全なノイズから元の画像を復元することができます。[8]

また,このノイズ除去ネットワークは非常に強力であり,まったくランダムなノイズからも画像を生成することができるのです。[9]

これで,ランダムなノイズから画像を生成することはできました。では,Stable Diffusion のように,テキスト入力から画像を生成するようなモデルはどうなっているのでしょうか? これには,ネットワークのトレーニング時に画像だけではなく,画像を説明する説明文を追加の入力とすることで実現します。[10]

画像の生成時には,生成したい画像の説明文(プロンプト)をランダムなノイズと共に拡散モデルに与えることで,説明文を描写した画像を生成できる,というわけです。

拡散モデルの今後

拡散モデルによる画像生成 AI は,Stable Diffusion 以降も,アニメ調のイラストに特化したもの [11],3D [12] や動画 [13] に対応したものなどが次々と発表され、まさに日進月歩で進化しているホットな領域です [14]。 新しいモデルの開発だけでなく,商用プロダクトへの応用や組み込みも進んでいます[15]。

これらの技術はどこに向かい,どこまで進化するのでしょうか?

多くのプレイヤーが参入し,競争が激化することで進化の速度は加速度的に上がっています。これからどんな驚きが待っているのか想像もつきませんが,ここではひとつのビジョンとして,Midjourney 創業者 David Holz 氏のインタビューを引用して,記事を締めたいと思います。

人類の想像力をいかに拡張するか。
それは何を意味するのでしょう? コンピュータが人類の 99 パーセントよりも視覚的な想像力で優れているとしたら……。

だからといって,わたしたちは想像することをやめてしまうわけではありません。車は人間よりも速いですが,わたしたちは歩かなくなるわけではありません。

飛行機であれ,船であれ,車であれ,膨大な量のものを膨大な距離で移動させるときには,エンジンが必要です。
そして,わたしたちは,この技術を想像のためのエンジンと考えています。つまり,とてもポジティブで人間的なものなのです。

An interview with David Holz, CEO of AI image-generator Midjourney: it’s ‘an engine for the imagination’ - The Verge

脚注

[1]  長期記憶、特にエピソード記憶や意味記憶 これらの分類については『カンデル神経科学』第 52 章「学習と記憶」を参考にしました。また,視覚記憶が与える影響については第 24 章,第 54 章に記載があります。

[2]  Stable Diffusion Stable Diffusion を公開したのは,イギリスのスタートアップ企業 Stability AI 社です(一般公開時のブログ記事)。

[3]  冒頭の文章を Stable Diffusion で画像化 画像生成 AI に与える文章は「プロンプト」と呼ばれます。プロンプトには描写してほしい対象を具体的に指定するだけでなく,画像のスタイル(写実的な画像か油絵風か,あるいは有名なアーティスト風か,など)や配色,ライティングさまざまな要素を指定します。画像生成 AI でどのような画像が生成されるかは,プロンプトをいかに「上手く」指定するかにかかっておりプロンプト・エンジニアリングと呼ばれます。

また,プロンプト・エンジニアリング以外にも,生成された画像の一部だけを生成しなおすことで修正するインペインティング (Inpainting)など,人間が画像生成 AI を実用的に使うためのツールや方法論が開発されています。

[4]  今回の例でも,冒頭の文章をそのまま与えたわけではなく,情景を描写する英単語とスタイルを指定するためのフレーズを組み合わせたプロンプトを与えています。

実際の画像生成には Stability AI 社の提供する DreamStudio を利用しました。誰でも利用でき,ある程度の枚数の画像を無料で生成できるので,興味がある方は試してみてください。

[5]  文章の内容に近い画像 とはいえ,画像によっては「夜」というには明るすぎたり「激しい雨」という感じではないので,まだまだプロンプトに改善の余地ありか,試行錯誤が必要そうです。

[6]  AI で画像を生成するための手法 (画像だけに留まりませんが) 深層生成モデルの代表的なものとして,GAN (敵対的生成ネットワーク Generative Adversary Network) ,VAE(変分自己符号化器 Variational Auto Encoder),自己回帰モデル,フローベース生成モデル(Flow-based generative models)などがあります。

[7]  Diffusion Model (拡散モデル) という手法を用いています 拡散モデルによる画像生成は,2022 年 4 月に OpenAI から発表された DALL-E 2 によって広く注目され,同年 5 月に Google の Imagen が発表されました。そして,同年 7 月には Midjourney のベータ版が般公開され,誰でも簡単に画像生成 AI を試せることで日本でも話題になりました。

[8]  拡散モデルの働き この記事における,拡散モデルの説明は極端に単純化しています。より詳しい解説は Lilian Weng 氏の記事 What are Diffusion Models? | Lil'Log をお勧めします。また,Tom Goldstein 氏の一連のツイートは,拡散モデルの働きについて数式を使わず豊富な画像つきで簡潔にまとまっています。

[9]  ランダムなノイズからも画像を生成することができる Google AI Blog: High Fidelity Image Generation Using Diffusion Models より引用:

This synthesis procedure can be interpreted as an optimization algorithm that follows the gradient of the data density to produce likely samples.

以下,筆者による訳:

この(画像)合成過程はデータ密度の勾配に従って、ありうる画像サンプルを生成する最適化アルゴリズムと解釈できます

[10]  画像を説明する説明文を追加の入力とする ただし,説明文のテキストをそのまま使うのではなく,言語モデルを用いてテキストを拡散モデルが理解できる表現に変換します(Stable Diffusion では言語モデルとして,CLIP のテキストエンコーダーをそのまま使っているようです。参考: Stable Diffusion with 🧨 Diffusers)。

テキストと画像,一見まったく異なる表現である両者を共通の表現(ベクトル)に変換でき,それらの類似度を計算できる、というのも面白いところです。

[11]  アニメ調のイラストに特化したもの Image Generation has arrived, NovelAI Diffusion is here! | Medium

[12]  3D モデルを生成 DreamFusion: Text-to-3D using 2D Diffusion

[13]  動画を生成 Imagen Video

[14]  日進月歩で進化しているホットな領域 この記事では触れていませんが,画像生成 AI の爆発的な流行に伴い,AI にまつわる著作権についての議論が日本でも活発になっています。

[15]  商用プロダクトへの応用や組み込みも進んでいます グラフィックデザインソフトの Photoshop や Illustrator で有名な Adobe も,画像生成 AI への取り組みを発表しています

2022.10.24 石川 尊教(@takanori_is)