見出し画像

拡散(Diffusion)モデルは実は進化計算だった

生成AIといえば、拡散モデルである。
そもそも、最初にブレイクした画像生成AIは、StableDiffusiionだ。そしてこれはもちろん名前の通り「拡散モデル」である。

拡散モデルは、ノイズの入った情報からプロンプトを手掛かりにノイズを除去していく過程を学習して、転じてプロンプトから画像を生成できるようになる。しかし、この学習過程は、実は遺伝的アルゴリズムのような進化計算と同じであるという衝撃的な論文が発表された。

拡散モデルの学習過程は進化計算と同じである

機械学習と生物学の融合により、拡散モデルは進化アルゴリズムであることが分かりました。進化をノイズ除去プロセス、逆進化を拡散とみなすことで、拡散モデルは本質的に進化アルゴリズムを実行し、自然に選択、突然変異、生殖隔離を包含することを数学的に実証しました。この等価性を基に、拡散進化法を提案します。これは、拡散モデルのコンテキストで最初に導入された反復ノイズ除去を利用して、パラメータ空間内のソリューションをヒューリスティックに改良する進化アルゴリズムです。従来のアプローチとは異なり、拡散進化は複数の最適ソリューションを効率的に特定し、著名な主流の進化アルゴリズムよりも優れています。さらに、潜在空間拡散と加速サンプリングという拡散モデルの高度な概念を活用して、潜在空間拡散進化を紹介します。これは、計算ステップを大幅に削減しながら、高次元の複雑なパラメータ空間での進化タスクのソリューションを見つけます。拡散と進化のこの類似性は、2 つの異なる分野をつなぐだけでなく、相互強化のための新しい道を開き、オープンエンドの進化についての疑問を提起し、拡散進化のコンテキストで非ガウスまたは離散拡散モデルを活用する可能性をもたらします。

この発見は、非常にプログラマーの直感に反する。
進化的アルゴリズムとは、「アルゴリズム」すなわち計算手順であって、計算式ではない。

拡散モデルの学習過程は単一の計算式として表現できてしまう。つまり、アルゴリズムではない。

しかし、実際にはそこで行われている計算は、進化的アルゴリズムと本質的に等価なのだという。

拡散モデルの学習に使われる式のどの部分が進化的アルゴリズムに該当するかという説明

これは直感には反するが、進化アルゴリズムの信奉者としては、妙に納得感がある。

進化アルゴリズムがなぜ効果的なのかということをこれまで誰も説明できていなかった。

進化アルゴリズムの「元ネタ」は明らかに現実の生物学であり、それはニューラルネットがなぜ有効なのか誰にも説明できなかったのと同じだ。

どちらも、「なぜ有効なのか」はよくわからないが、「確かに有効である」ことは誰でも知っている。

画像生成において驚くような成果が得られた時に、その内部構造が進化アルゴリズムと等価であるということの発見は、「進化アルゴリズム確かに有効である」ことの裏付けにもなる。

今や、拡散モデルが全くダメだという人はいないだろうし、逆にまだ拡散モデルが適用されていない、または適用が極めて難しいとされている高周波領域、例えば言語モデルに拡散モデルを適用する動機づけにもなるかもしれない。

この論文は進化的アルゴリズムと拡散モデルが等価であるという説明を踏まえた上で、拡散進化計算を提案している。加速サンプリングという方法が提案され、従来の進化計算よりも効率的に最適解へたどり着くことができる。それだけでなく、拡散モデルと進化モデルという全く異なる分野に思われていた二つのモデルを統合し、さらなる高みへ行こうとしているところが実に画期的だ。

ソースコードもあるので興味のある人は是非

来月に迫ったAIフェスの僕のセッションでもこの話題に触れるだろう