AIと言えばChatGPTをはじめとするLLM(大規模言語モデル、Large Language Model)が話題の中心ですね。Wikipedia:大規模言語モデルにもあるように原理の概要は理解しやすいです、私もディープラーニングやTransformerを書籍で学びました。
しかし画像を生成するAIはLLMとは別の原理で動いています。ネット上には水面に書いたインク文字が広がっていく過程を逆向きに再生できれば文字が浮かび上がるのような分かったような分からないように説明されています。私も画像生成AIに付いてはモヤモヤしていましたが、この本を読むことで分かった気になりました。
本書の解説記事ではありませんが、思ったことなどを書きます。
岩崎書店ホームページより
本書には数式が出てこない
本書の大きな特徴は数式が出てこないことです(もちろんプログラムのコードも)、数式アレルギーのある文系の方にも読めるような考慮からでしょうか。
しかし、初めて目にする難しい漢字熟語が並んだ文書は読むのに疲れます。😅 私は以下に引用したような、ところどころにあらわれる図に助けられて何とか読み通せました。
『生成AIのしくみ 〈流れ〉が画像・音声・動画をつくる』より
AIの歴史解説がていねい
2章ではAIの歴史が定年に書かれていて歴史好きには嬉しかったです。最初のでてくるイジングモデルは20世紀初頭に生まれた統計力学で使われるモデルですが、これがニューラルネットワークのご先祖にあたるようなものです。「統計力学」は画像生成AIで重要な役割を演じてる事が読み進めると判ります。その後ホップフィールド・ネットワークなどのエネルギーベースのモデルやボルツマン分布・・・ と画像生成のベースになる概念の話になります。
しかし、画像という高次元のデータを生成するのは簡単ではありません、100dotx100dotのカラー画像は30,000次元のデータになります。 言葉という離散的(デジタル)な情報を扱うLLMとは違う難しさがあるのです。
流れをつかった生成、拡散モデル
1章で画像生成の難しさと可能性に付いて語られていますが、3章ではいよいよ核心に入っていきます。
画像生成でもニューラルネットワークを使っているのですが、画像というのはLLMの扱う言葉に比べ高次元であり、LLMのようにニューラルネットワークに分配関数を学習させるのは難しいです。そこで、流れ(連続して変化する)として画像生成をモデリングする方法を採用しています。
4章の拡散モデル の解説です。「水面に書いたインク文字が広がっていく過程を逆向きに再生できれば文字が浮かび上がるのではないか」これを扱えるのが拡散モデルです。
画像にノイズを加えていき破壊して行くと正規分布なノイズ画像になります、これを逆をたどる事で画像を生成します。 インクの濃い位置から薄い位置に向けてインク分子が広がっていく流れが生じます、この流れと逆向きをスコアと呼びます、そのエネルギーと確率分布はボルツマン分布によって対応づけられるます。
また、スコアの変化の流れ全体をシミュレーションしなくても「デノイジングスコアマッチング」で計算できるので、ある時点でのノイズ加わった後のデータをニューラルネットワークで計算できます。
その後、フローマッチング(より高速)も説明されていますが、私にはは未消化です。 さらに5章も未消化ですが、LLMとの比較は興味深いです。
まとめ
この本を読むことで水面に書いたインク文字が広がっていく過程を逆向きに再生できれば文字が浮かび上がるが深く理解できます。
また、19世紀にはじまる熱力学 などの統計力学が画像生成AIやニューラルネットワークのベースにある事が、とても興味深かったです。19世紀に生まれた科学が違う形で、最新のAIの世界活躍しているのは感動的ですね。
私と同じように画像生成AIの仕組みを知りたい方にはお薦めの書籍です。数式は出てきませんが、理科系的な基本知識があるか、科学好きでないと読み通すには少し辛いかもしれませんが。