実践的なデータ分析に挑むデータサイエンティストのブログ

統計/機械学習/AWSに関する投稿をしていきます

覚醒するAI 〜 Diffusion Models は夢を見るか? 〜

木彫りの仏像.

生成モデルのアーキテクチャである「Diffusion Models」は、2022年7月にStable Diffusionが公開されたことで一気に流行しました。特に、画像生成においては、これまでのGAN(Generative Adversarial Networks)よりも高い品質の画像を生成できることが確認され、注目を浴びました。

Diffusion Modelsによる画像生成の仕組みは非常に刺激的なものでした。ノイズから画像が生まれてくる様子は、私たち人間が行うクリエイティブな作業を再現しているように思えます。私たちは、何かを創造するとき、何らかのアイデアやイメージを脳の中に浮かべます。そして、それを形にするために、何らかの素材を用いて、徐々に形を整えていきます。Diffusion Modelsは、そのようなプロセスを再現しているように思えます。

具体的には、ノイズから時間ステップにわたって少しずつ画像を生成していく様子は、彫刻家が角材から徐々に仏像を彫り出していくようなプロセスに似ています。

Diffusion Modelsと学習

Diffusion ModelsにおけるForwardプロセスとは、画像にノイズをかけることを指します。Reverseプロセスとは、ノイズから画像を生成することを指します。Diffusion Modelsでは、ノイズをかけた画像を元の画像に復元するといった学習を行います。学習したDiffusion Modelsは、ノイズを入力することで多様な画像を生成できるようになります。

Diffusion Modelsの概略図.

Diffusion Modelsの学習プロセスは忘却曲線に似ていると思います。忘却曲線は、学習した情報をどの程度長期間記憶できるかを表したものであり、繰り返し学習することで、情報を長期的に記憶することができる一方、時間とともに徐々に忘れてしまうという曲線を描きます。

Ebbinghaus' forgetting curve and review cycle.*1

Diffusion Modelsを実装したことがある人なら知っていますが、Diffusionの学習プロセスは完全なノイズから画像を復元するのではなく、様々な強弱のノイズをかけた画像から元の画像を復元しています*2。これは、時間とともに過去の情報を忘れていく途中で、元の画像を思い出させて学習をしているように思えませんか。忘れないうちに復習することで記憶を定着させていく忘却曲線に似ているように思えないでしょうか。

Diffusion Modelsの学習の模式図. 様々なノイズレベルの画像を復元するように学習する.

一方、ノイズがかかっていくForwardプロセスは、忘却を表しているように思えます。そう考えると記憶というのは入力された情報を圧縮してデータベースに保存されるのではなく、ネットワークの重みとして保存されるのではないでしょうか。

全ての思考は生成モデルで説明できるか

それでは、全ての思考は生成モデルで説明できるのでしょうか。例えば、昼食に何を食べるかを考えるとき、生成プロセスが起きているのでしょうか。

日常の感覚的には、物事を瞬時に判断する思考と、アイデアを考える時の思考は別物のように感じます。インスピレーションが先に走って、意味を後付しているような感じです。

全ての思考は生成モデルで行われるのではなく、分類やキャプショニング等の別の識別モデル*3と組み合わせているのではないでしょうか。識別モデルによる予測が行われ、その結果を条件にして生成モデルが思考を生成しているのはないでしょうか。

Diffusion Modelsでは、他の情報を用いて条件付けすることで、生成する画像をコントロールすることができます。これをLatent Diffusion Modelsと呼びます。上図では、画像と画像のキャプションの組を使用して学習を行っています。学習したLatent Diffusion Modelsは、ノイズベクトルと条件テキストから画像を生成します。

Latent Diffusion Modelsの概略図.

生成モデルの出力をコントロールするには、条件付のための入力が必要になります。この入力を得るための識別モデルがあると思えないでしょうか。

また、識別と生成を別に学習するのはリソースの使い方としてもったいないように思います。もしかしたら、Latent spaceの埋め込みベクトルをつくるネットワークに、識別モデルのネットワークを流用しているのではないでしょうか*4。ただし、様々なものが写っている画像ではクラス分類のノイズが大きいため、多様なドメインを対象とする場合は識別モデルによる学習の補助はあまりうまくいかないようです*5。むしろ識別モデルを排除できたことが、モデルの規模をスケールできた要因のようです*6。筆者の意見ですが、識別モデルによる学習の補助が上手くいくには分類をより細かく概念的に行う必要があるのではないでしょうか。これは自然言語によるキャプションがうまくいったことと関係あるように思います。

識別モデルと生成モデルの組合わせ.

識別モデルの実装ではクラスはダミー変数ですが、多様な単語への分類だと思えば、これはフロイトの物表象と語表象を結びつけるプロセスと理解できないでしょうか*7

生成しにくいものは何か

Diffusion Modelsは様々なものが生成できることが知られています*8

Summary of all the applications utilizing the diffusion models.

一方で、Diffusion Modelsで離散的な構造を持つデータの生成を研究している方のブログ*9によると、自然言語の大規模な生成はまだうまくいっていないようです。

Diffusion Modelsによる生成プロセスは、全体のおおまかな構造を生成した後、細かい構造を生成します。Diffusion Modelsが成功した理由は、おおまかな構造の生成に重みを配分したためだと考えられています。人間の知覚システムで認識するアナログな信号では、低周波が持っている情報量が多く、高周波をあまり気にしないからです。角材から仏像を掘るときも、大まかな形を彫った後に細部を彫り込んでいきますね?

ノイズと特徴のスケール. 画像の左の方ではノイズが強くなり細かい画素が整合的でないものの, 山であることや概形は認識できる.

Diffusion Modelsでは全体の構造を決定した後、細部を生成していきます。これは人間の知覚システムのようなアナログで連続的なものには適しているように思えます。

では自然言語ではどうでしょうか。自然言語の「低周波」は文脈に相当し、「高周波」は単語の選定に相当します*10

筆者の意見ですが、Diffusion Modelsの推論には適していないように思えます。自然言語の場合、同じ文脈を表す単語の組み合わせは自然には定まりません。文章中の単語で、入れ替えても意味が変わらない単語への置換は文脈的には連続ですが、単語の埋め込みベクトル空間では近いとは限りません。「高周波」が離散的であることが影響しているわけです。また、画像生成の場合、「低周波」も「高周波」も同じキャンバスへ出力されますが、自然言語の場合、文脈そのものは出力文章に現れず、「高周波」のみが出力されます。文章が生成されるには「低周波」から「高周波」を一気に生成する必要があるように思えます。Diffusion Modelsの推論には適していないように思えます。

ChatGPTのような大規模で成功しているモデルは、連続的な埋め込みベクトルを単語という離散的なものに変換するために分類器を使用しています。離散空間への変換プロセスがある分だけ、言語*11は画像や音声等と比較して高級なものなのではないでしょうか。これについてはまた別の記事で考察を述べたいと思います。

AIは夢を見るか

Diffusion Modelsによる画像生成は夢と似ていると思います。一説では、夢は過去の経験や記憶が脳内で処理され、記憶を整理するプロセスだと考えられています*12。夢を見る際には、過去の記憶を引き出した内容が夢に現れると考えられています。

眠っている間は意識が閉じ、外部からの入力が無いわけですから、夢の元となるのは記憶と脳のランダムな信号ノイズだと考えられます。これはまさにDiffusionのReverseプロセスではないでしょうか。

また、夢の特徴として、夢は現実には起こり得ないシチュエーションを作り出すことがあります。様々な画像を学習させたDiffusion Modelsも、ランダムな初期値を与えるといくつかの状況が混ざった、現実には存在しないような画像を出力します。非現実的な画像を生成するという点で、夢とDiffusion Modelsは共通しています。

ここで、「AIは夢を見るか?」という問いに戻るのですが、むしろAIは常に夢を見ているのではないでしょうか。外部からの刺激を受けることで、夢から醒め、理性を取り戻し、現実に即した画像を生成する。このように思えるのです。

まとめ

以上、Diffusion Modelsによる画像生成の仕組みと、それが人間の創造性や記憶のプロセスに似ていることについて説明しました。また、Diffusion Modelsと夢に共通していることについても触れました。

AIの発展によって、クリエイティブな活動や知的な作業がますます効率化されることが期待されます。しかし、AIが人間と同じように感情や意識を持つかどうか、という問題はまだ解決されていません。

生成モデルは、現実に存在するデータを元に作り出されますが、そのプロセスは非常に興味深く、人間の創造のプロセスと類似している点も多くあると考えます。これらのプロセスの考察を反映した新たなAIモデルや、人文系のAIに対する考察が進むことを期待するところです。

フロイトによれば、夢は無意識の欲望を反映しているようですが、Diffusion Modelsは今のところ皆さんの意識的欲望によって画像を生成しているようですね。

... お後がよろしいようで。

*1:Chun, Bo Ae & hae ja, Heo. (2018). The effect of flipped learning on academic performance as an innovative method for overcoming ebbinghaus' forgetting curve. 56-60. 10.1145/3178158.3178206.

*2:さらに正確には、元の画像を推論するのではなく、元の画像にかけたノイズを予測します。

*3:データがあるクラスに分類される確率を出力するモデルのこと。生成モデルは入力データの分布のモデリングまで行う。そのため生成モデルからは新たなデータを生成(サンプリング)することができる。

*4:拡散過程は不要ではないかと思いましたが、拡散過程が無いとただの変分オートエンコーダーになってしまいますね。

*5:Dieleman, Sander, "Guidance: a cheat code for diffusion models", https://benanne.github.io/2022/05/26/guidance.html, 2022.

*6:Dieleman, Sander, "Diffusion language models", https://sander.ai/2023/01/09/diffusion-language.html, 2023

*7:知ったかでフロイトのこと書いてるので、詳しい人は教えて下さい。

*8:Ling Yang and Zhilong Zhang and Yang Song and Shenda Hong and Runsheng Xu and Yue Zhao and Wentao Zhang and Bin Cui and Ming-Hsuan Yang, "Diffusion Models: A Comprehensive Survey of Methods and Applications", https://arxiv.org/abs/2209.00796.

*9:Dieleman, Sander, "Diffusion language models", https://sander.ai/2023/01/09/diffusion-language.html, 2023.

*10:画像と異なり自然言語フーリエ変換できないので周波は定義できない。したがってここでは括弧付きの「低周波」および「高周波」という用語を用いることにする。

*11:言語学記号学と結びつけられるとかっこいいのですが。

*12:Winson, J., "Brain and Psyche : The Biology of the Unconscious", New York : Anchor Press/Doubleday, 1985.