発展:拡散モデルと現行の画像・動画生成
データ生成のレッスンの続きとして、いまの画像生成と動画生成の中心にある拡散モデルを機構のレベルまで掘り下げます。ノイズを少しずつ加える前向きの過程と、それを逆にたどって絵にする後ろ向きの過程、計算を軽くする潜在拡散、Transformer を土台にした拡散トランスフォーマ、文章で狙いを効かせる誘導、そして動画への広げ方までを実装のコードは扱わず、なぜそう作るのかに絞って説明します。製品名は時点を添えた例として挙げます。
ねらい
このレッスンは、データ生成のレッスンの続きにあたる発展(はってん)の記事です。いまの画像生成と動画生成の多くは、データ生成のレッスンで名前だけ触れた拡散モデル(かくさんモデル、Diffusion Model)を土台にしています。その中身を機構のレベルまで見ておくと、次々と出てくる生成のモデルを筋道立てて追えるようになります。
この記事は、ある程度の知識のある人に向けた深掘りです。データ生成のレッスンで、敵対的生成ネットワークや拡散モデルの名前と、大まかな役割をつかんでいることを前提にします。実装のコードは扱いません。なぜノイズから絵が生まれるのか、なぜ拡散が主流になったのか、という考え方に絞ります。製品名は、入れ替わりが速いため、時点を添えた例として挙げます。
1. 拡散モデルの考え方:壊す過程と、その逆をたどる過程
データ生成のレッスンで、敵対的生成ネットワーク(GAN)を学びました。生成する側と見破る側を競わせて、本物らしい絵を作る方法です。GAN は強力でしたが、学習が不安定で、うまく競わせるのが難しいという弱点がありました。そこに現れたのが、まったく別の考え方の拡散モデル(かくさんモデル、Diffusion Model)です。競わせるのではなく、絵をわざと壊してから、その壊し方を逆にたどって直す。この一見まわりくどいやり方が、安定して高い品質の絵を生む道を開きました。
拡散モデルは、2つの過程で考えます。絵をだんだん壊していく前向きの過程と、それを逆にたどって絵に戻す後ろ向きの過程です。
前向きの過程は、きれいな絵に、少しずつノイズを加えていくものです。1歩ごとにわずかなノイズを足し、これを何百歩も重ねると、最後は元の絵の面影が消え、ただのノイズになります。この過程は、決まった手順でノイズを足すだけなので、学習は要りません。
後ろ向きの過程は、その逆です。ノイズから出発し、1歩ごとに少しだけノイズを取り除き、これを重ねて、最後にきれいな絵にします。むずかしいのは、こちらです。ノイズを取り除くには、「今の状態に、どんなノイズが乗っているか」を言い当てる必要があります。これを担うのがニューラルネットワークです。
学習では、前向きの過程を使います。きれいな絵に、ある強さのノイズをわざと乗せ、そのノイズをネットワークに言い当てさせます。正解のノイズはこちらが乗せたものなので、答え合わせができます。これをさまざまな絵と、さまざまなノイズの強さでくり返すと、ネットワークは「どんな状態でも、乗っているノイズを言い当てる」力を身につけます。
絵を作るときは、この力を使います。まっさらなノイズから始め、ネットワークに乗っているノイズを言い当てさせ、その分を少しだけ取り除く。これを何十歩、何百歩とくり返すと、ノイズが絵へと変わっていきます。
GAN が「見破る側をだませるか」という競争で学ぶのに対し、拡散モデルは「乗っているノイズを当てる」という、答えのはっきりした問題で学びます。だから学習が安定し、高い品質の絵を作りやすいのです。
ポイント
拡散モデルは、絵にノイズを足していく前向きの過程と、ノイズを言い当てて取り除く後ろ向きの過程で考えます。学習は「乗っているノイズを当てる」答えの明確な問題なので、GAN より安定します。
理解の確認
拡散モデルは、きれいな絵に少しずつノイズを足す前向きの過程と、ノイズを言い当てて取り除く後ろ向きの過程からなります。ネットワークは「今の状態に乗っているノイズ」を当てるよう学び、生成時はノイズから始めて少しずつ取り除き、絵にします。競争で学ぶ GAN より学習が安定します。
2. 計算を軽くする:潜在拡散
素直に拡散を行うと、大きな絵ほど計算が重くなります。画素の数だけノイズを足したり取ったりするからです。この重さをやわらげたのが、潜在拡散(せんざいかくさん、latent diffusion)です。
潜在拡散は、絵をそのまま扱うのではなく、いったん圧縮してから拡散を行います。オートエンコーダのレッスンで学んだように、絵を少ない数の表現に圧縮し、あとで元に戻すしくみがあります。潜在拡散では、まず絵を意味を保ったまま小さな表現に圧縮します。この圧縮された表現の空間を潜在空間(せんざいくうかん)と呼びます。拡散は、この小さな潜在空間の中で行います。最後に、でき上がった潜在の表現を絵へと戻します。
小さな空間で拡散するので、計算が大きく軽くなります。広く使われた画像生成のモデルの多くが、この潜在拡散の考え方に立っています。
理解の確認
潜在拡散は、絵をそのまま扱わず、意味を保った小さな表現(潜在空間)に圧縮してから拡散を行い、最後に絵へ戻します。小さな空間で計算するため、大きな絵でも軽く生成できます。
3. 土台を作り変える:拡散トランスフォーマ
拡散モデルで、ノイズを言い当てるネットワークには、もともと畳み込みを中心にした U-Net(ユーネット)という形がよく使われました。U-Net は、セグメンテーションのレッスンでも出てきた、縮小と復元をつなぐ形です。
近年は、この土台を Transformer に置きかえる流れが強まっています。これを拡散トランスフォーマ(かくさんトランスフォーマ、Diffusion Transformer、通称 DiT)と呼びます。絵を小さなかたまりに区切り、それらを Transformer のレッスンで学んだ自己注意で関係づけながら、乗っているノイズを言い当てます。
なぜ置きかえるのでしょうか。Transformer は、規模を大きくするほど性能が伸びやすい、という性質が言語モデルで確かめられてきました。拡散の土台を Transformer にすることで、その性質を画像や動画の生成にも持ち込めます。大きくすれば伸びる土台に乗せかえた、と言えます。現行の高い品質の画像生成や動画生成の多くが、この拡散トランスフォーマの方向にあります。
理解の確認
拡散モデルでノイズを言い当てるネットワークは、もともと畳み込み中心の U-Net が主でしたが、近年は Transformer に置きかえた拡散トランスフォーマ(DiT)が広がっています。規模を大きくするほど伸びやすい Transformer の性質を画像や動画の生成にも持ち込めます。
4. 狙いを効かせる:文章による誘導
ここまでは、ノイズから何かの絵を作る話でした。実際に使うときは、「こういう絵がほしい」という狙いを効かせたいはずです。文章から絵を作る、文章による誘導のしくみを見ます。
文章から絵を作るには、文章の意味と、絵の意味を結びつける必要があります。マルチモーダルのレッスンで、画像と文章を同じ空間に結びつける考え方を学びました。同じように、文章の意味を表す表現を拡散のノイズ当てに与えます。すると、ネットワークは、ただノイズを取り除くのではなく、与えられた文章に合う方向へ絵を寄せながら取り除きます。「赤い傘をさす猫」と与えれば、その内容に合う絵へと導かれます。
さらに、狙いをどれだけ強く効かせるかを調節する工夫もあります。文章を与えたときと与えないときの差を使って、文章に沿う度合いを強めると、指示によりよく従う絵になります。この調節を強めると、指示に忠実になるかわりに、絵の多様さは減る、といった釣り合いがあります。こうした、文章の意味で生成を導く工夫をまとめて誘導(ゆうどう、guidance)と呼びます。ここでは、文章の意味を拡散のノイズ当てに与えて、狙いの方向へ絵を寄せる、と押さえてください。
理解の確認
文章から絵を作るには、文章の意味を表す表現を拡散のノイズ当てに与え、その内容に合う方向へ絵を寄せながらノイズを取り除きます。狙いをどれだけ強く効かせるかは調節でき、強めると指示に忠実になるかわりに多様さは減ります。こうした工夫を誘導と呼びます。
5. 動画へ広げる:時間の向きを足す
画像生成の考え方は、動画生成へと広がっています。動画は、絵が時間の順に並んだものです。ここに、新しい難しさが加わります。
1枚1枚をきれいに作れても、コマの間で物の形や位置が急に変わっては、動画としてはちらついて見えます。動画生成では、1枚ごとの品質だけでなく、コマからコマへのつながり、つまり時間の一貫性を保つ必要があります。
そのために、拡散の土台に、時間の向きの関係も扱うしくみを足します。空間の中の関係だけでなく、前後のコマとの関係も自己注意で見て、動きが自然につながるようにします。拡散トランスフォーマは、この時間の向きを足す拡張とも相性がよく、現行の動画生成の土台として使われています。
動画は、扱うデータが画像よりずっと大きく、計算も重くなります。そのため、潜在空間での拡散や、計算を軽くする工夫が、画像以上に効いてきます。
理解の確認
動画生成は、画像生成に時間の向きを足したものです。1枚ごとの品質に加え、コマからコマへのつながり(時間の一貫性)を保つ必要があり、前後のコマとの関係も見るしくみを拡散の土台に足します。データが大きいため、計算を軽くする工夫がいっそう重要になります。
6. 発展:手法は背骨、製品は時点つきの例
この領域は、代表となる製品が年ごとに、ときに数か月で入れ替わります。2026年の時点では、画像生成で FLUX.2(フラックス)や GPT Image(ジーピーティー・イメージ)系、動画生成で Sora 2(ソラ)などが挙げられますが、これらはあくまで時点の例です。少し前まで広く使われた Stable Diffusion(ステーブル・ディフュージョン)が代表だった時期があるように、名前は移り変わります。
移り変わらないのは、手法の背骨です。ノイズを足して壊し、その逆をたどって作ること。乗っているノイズを当てる、答えの明確な問題として学ぶこと。潜在空間で計算を軽くすること。土台を Transformer に置きかえて、規模で伸ばすこと。文章の意味で狙いを効かせること。動画では時間の一貫性を保つこと。これらの考え方は、製品が入れ替わっても残ります。
新しい生成のモデルに出会ったら、それがこの背骨のどこにあたるのか、どこを新しくしたのか、と位置づけて見ると、筋道を追えます。製品名を追いかけるより、なぜ拡散が安定するのか、なぜ潜在で軽くなるのか、という理由を押さえておくことが、長く効きます。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。