言葉で頼むだけで、見たことのない絵が生成される。動画まで生成される。これは本当に不思議なことです。 文章を読ませて学習させた装置が、なぜ絵を描けるのか。
答えを先に書くと、絵のほうは文章とは別の訓練で作られています。 しかもその訓練は、「絵の描き方」を教えるものではありません。
訓練の課題は、絵を描くことではなく「ノイズはどれか」を当てること
まずノイズという言葉から。ここでは、画像に乗るでたらめなざらつきのことです。テレビの電波が届かないときに画面に映る砂嵐が、それにあたります。
訓練は、次の2つの向きでできています。
行き(人間が用意する側) 1枚の写真を用意して、ごく薄いノイズを足す。もう一度足す。また足す。これを何度も繰り返すと、写真は少しずつ崩れていき、最後には完全な砂嵐になります。
帰り(モデルが練習する側) その途中の1枚を見せて、こう聞きます。「この画像に乗っているノイズは、どれ?」
モデルの仕事はこれだけです。絵の題材も、構図も、筆の運びも教わりません。ノイズを見分けて言い当てる。それだけを、何億枚もの画像で繰り返します。
この訓練のうまいところは、正解が自動で得られる点です。ノイズを足したのは訓練する側なので、「何を足したか」は分かりきっています。人が答えを書き込んだ教材を用意する必要がありません。しかも1枚の写真から、崩れ具合の違う練習問題がいくつも作れます(2020年のDDPMという論文では、崩す過程を1000段階に分けています。DDPMはDenoising Diffusion Probabilistic Modelsの略で、ノイズを取り除いていく拡散モデルという意味です)。
まっさらな砂嵐から始まると、元の写真が無いところに絵が現れる
訓練が終わったら、使い方はこうです。
まっさらな砂嵐を1枚、その場で作ります。 元になる写真はありません。でたらめな点を敷き詰めただけの画像です。
それをモデルに見せて、「乗っているノイズはどれ?」と聞く。返ってきたぶんを、少しだけ引く。また聞いて、また引く。これを何十回か繰り返します。
すると、元の写真が存在しないのに、絵が現れます。
モデルは「ノイズを引いたあとに残るのは、こういう画像のはずだ」という見当を、大量の練習の中で身につけています。この「モデル」の中で何が計算されているのかは『拡散モデルの中身は、画像をいったん縮めてから広げる1つの装置。返すのは「ノイズの推定」だけ』に書きました。だから引き算を重ねるほど、画像らしい方向へ寄っていく。彫刻で余分な石を落としていくと形が現れるのに近い、という言い方ができます。
そして毎回、出発点の砂嵐が違います。同じ言葉で頼んでも毎回違う絵が生成されるのは、ここが理由です。
「猫の絵を」というプロンプトで絵が変わるのは、言葉と画像が同じ物差しに乗っているから
ノイズを引くだけでは、何かしらの画像は生成されますが、頼んだ内容は通りません。
そこで、ノイズを当てさせるときに、AIへの指示文を一緒に渡します。 これがプロンプト(prompt)です。「この画像に乗っているノイズはどれ? ちなみにこれは『雪の中の猫』の写真です」という形です。すると引き算の向きが、プロンプトのほうへ寄っていきます。
このとき言葉は、そのままの文字では渡せません。言葉も画像も、数字の並びに変換してから突き合わせます。 言葉が数字になる仕組みは『言葉が数字になるまで』に書いたとおりで、画像側にも同じことをして、両方を同じ物差しの上に置きます。
この突き合わせを大規模にやったのが、2021年のCLIP(クリップ)という研究です。Contrastive Language–Image Pre-trainingの略で、言葉と画像を対にして、あらかじめ突き合わせておくという意味の名前です。4億組の「画像とその説明文」を集めて、どの説明文がどの画像とペアなのかを当てる訓練をしました。正解のペアは近づき、無関係な組み合わせは遠ざかる。これを続けると、「猫」という言葉と猫の写真が、同じあたりに置かれるようになります。
絵と言葉のあいだの橋は、こうして架けられています。
ひとつ補足を。ここで作られる画像側の数字は、絵の「要約」であって、絵そのものではありません。 そこから元の絵は戻せません。ノイズを引かれている画像のほうは、縦横に並んだマス目の形で持たれています——そうしないと、どこに何があるかが失われるからです。この区別は『画像生成AIが「どこに何があるか」を保てるのは、絵を縦横のマス目のまま数字にしているから』に書きました。
「拡散モデル」という名前は、インクが水に広がる話から来ている
この方式は拡散モデル、英語では diffusion model(ディフュージョン・モデル) と呼ばれます。画像生成の道具の名前に「Diffusion」が含まれていることがあるのは、この語です。名前の由来は物理です。
コップの水にインクを一滴落とすと、じわじわ広がって、やがて全体が均一に濁ります。この向きは放っておいても進むのに、逆はまず起きません。 濁った水が、ひとりでにインク一滴へ戻ることはない。
2015年の論文は、この「構造がだんだん壊れていく過程」を画像に持ち込みました。壊す向きは簡単に作れるのだから、その逆をたどる手順のほうを学習させればいい、という発想です。画像生成として実用的な形になったのは、上で触れた2020年のDDPM以降です。
さらに2021年には、画像をそのままの大きさで扱わず、いったん小さく圧縮した状態でノイズの足し引きをする方法(Latent Diffusion)が登場します。扱う数字の量が減るぶん計算が軽くなり、手元のパソコンでも画像生成が動くようになりました。
動画生成は、時間の向きにも切り分けてからノイズを引く
動画も、基本の考え方は変わりません。
OpenAIがSoraについて公開した技術報告によれば、Soraはまず動画を圧縮し、それを時空パッチ——縦横だけでなく時間の向きにも切り分けた小さなかたまり——に分解します。そのうえで、ノイズの乗ったパッチから、ノイズの無いパッチを予測する訓練を受けている、と説明されています。
つまり動画は「1枚ずつ絵を描いてつなげたもの」ではなく、時間を含んだかたまりごと、まとめてノイズから起こしたものです。人物が横を向いても服の柄が保たれるのは、時間の向きも最初から一緒に扱っているからです。
いまの画像生成が、すべて拡散モデルというわけではない
拡散モデルが唯一の答えになったわけではありません。
OpenAIは2025年3月、GPT-4oに組み込んだ画像生成について、システムカードの追補で「拡散モデルとして動作するDALL·Eとは異なり、4oの画像生成は自己回帰モデルである」と述べています。自己回帰(英語では autoregressive)は、文章を書くときと同じ「次の1つを当てて、それを踏まえてまた次を当てる」やり方です。
OpenAIは同じ文書で、4oの画像生成は細かい指示に従い、画像の中に文字や図解を描けるとも述べています。同じ「絵が生成される」でも、中の作り方は1つに定まっていません。
絵の生成は、文章の学習の延長ではなかった
『LLMが表を作れるのは、表も文章で書けるからだった』では、表もレイアウトも結局は文字列で、文章の範囲を超えていないことを見ました。画像と動画は、そこが違います。
ノイズを足しては当てさせるという、文章とは無関係な訓練が別に行われている。そのうえで、言葉と画像を同じ物差しに乗せる仕組みが橋渡しをしている。「文章を学習したついでに絵も描けるようになった」のではなく、別々に用意されたものが後からつながった、という順番です。