Stanford CS229 Lecture 11 (Spring 2026): Diffusion Models – Core Concepts and Training
TL;DR
拡散モデルは、固定されたガウスノイズ付加プロセスを逆転させることを学習することで、高品質な画像を生成します。これらはGANやVAEよりも優れた性能を発揮し、中間的なノイズ画像を知覚的な潜在変数として扱うELBOスタイルの損失関数を用いて訓練されます。
1. 拡散モデルとは何か
- 目標: 自然画像のデータセット(分布 $p_{data}$)が与えられたとき、訓練セットと区別がつかない新しい画像をサンプリングできる生成モデル $p_ heta$ を学習すること。
- 核となるアイデア: 純粋なガウスノイズ $x_T$ から開始し、学習された逆マルコフ連鎖 $p_ heta(x_{t-1}\mid x_t)$ を用いて、クリーンな画像 $x_0$ が生成されるまで反復的にデノイズを行う。
- 重要性: この手法は、より安定した訓練と高いサンプル忠実度を実現するため、主要な画像生成技術としてGANや変分オートエンコーダ(VAE)に取って代わっています。
2. 順方向(ノイズ付加)プロセス
- 順方向プロセス $q$ は固定されており、小さなステップでガウスノイズを加えます: [ x_t = \sqrt{1-\beta_t},x_{t-1} + \sqrt{\beta_t},\epsilon_t,\quad \epsilon_t \sim \mathcal N(0, I) ]
- $\beta_t$ は小さなスカラー(例:$10^{-2}$ から $10^{-4}$)です。これを $t=1\dots T$ に対して繰り返すと、$T$ が大きくなるにつれて標準正規分布に収束する分布が得られます。
- 累積積 $\bar\alpha_t = \prod_{i=1}^t (1-\beta_i)$ は元の画像の信号を減少させます。$t\to\infty$ となると $\bar\alpha_t\to0$ となり、$x_T$ は純粋なガウスノイズになります。
3. 逆方向(デノイズ)プロセス
- 逆方向のダイナミクスは学習されます:ニューラルネットワーク $\mu_ heta(x_t, t)$ がガウス分布 $p_\theta(x_{t-1}\mid x_t) = \mathcal N(\mu_\theta(x_t, t), \sigma_t^2 I)$ の平均を予測します。
- 分散 $\sigma_t^2$ は、通常、学習されるのではなく、固定(順方向のスケジュールから導出)されます。
- 順方向プロセスは $x_{t-1}$ が与えられれば決定的ですが、逆方向は確率的である必要があります。なぜなら、複数の順方向の軌跡が同じノイズ状態 $x_t$ に至る可能性があるからです。したがって、ガウス分布は自然な選択であり、連続時間の極限では、真の逆プロセスは数学的にガウス過程であることが証明されています(確率微分方程式に関する古典的な結果)。
4. 訓練目的関数 – ELBO / 変分下界
- 潜在変数としての視点: ノイズを含んだ全軌跡 $x_{1:T}$ を、観測されるクリーンな画像 $x_0$ に対する潜在変数 $z$ として扱います。
- ELBOの導出: [ \log p_\theta(x_0) \ge \mathbb E_{q(x_{1:T}\mid x_0)}\big[\log p_\theta(x_{0:T}) - \log q(x_{1:T}\mid x_0)\big] ] これは、真の順方向条件付き確率 $q(x_{t-1}\mid x_t, x_0)$ と学習された逆方向条件付き確率 $p_\theta(x_{t-1}\mid x_t)$ の間のKLダイバージェンスの和と、$x_0$ の再構成項に展開されます。
- KLの連鎖律: マルコフ性を用いると、結合軌跡のKLはステップごとのKLの和に分解され、各ステップで2つのガウス分布を比較します。ステップごとの損失は、予測された平均 $\mu_\theta$ と解析的に既知の事後平均 $\tilde\mu_t(x_t, x_0)$ との間の重み付き二乗誤差に簡略化されます。
- 実用的な損失関数: ほとんどの実装では、簡略化されたノイズ予測損失を使用しています: [ L_t = |\epsilon_t - \epsilon_\theta(x_t, t)|^2, ] ここで $\epsilon_\theta$ は注入されたノイズを予測します。これは数学的には、定数を除いてKLベースのELBOと等価です。
5. なぜワンショットのデノイズではいけないのか?
- $x_T$ から $x_0$ へ直接マッピングしようとすると、単一のステップですべての情報を崩壊させるような高度に非線形な関数を学習する必要があり、最適化が困難になります。
- 段階的な多ステップの逆連鎖は、より滑らかな勾配と扱いやすい目的関数を提供します。これはカリキュラム学習の利点に似ています。
6. 他の生成モデルとの関係
- GAN/VAE: どちらも敵対的学習またはエンコーダ・デコーダ学習を必要とします。拡散モデルは敵対的な不安定さを回避し、学習されたエンコーダを必要としません。順方向プロセスは解析的に定義されています。
- 自己回帰モデル: 拡散推論は、特定のタイムステップにおいてすべてのピクセル(またはパッチ)に対して並列に行える可能性があり、厳密に逐次的な自己回帰サンプリングよりも高速である可能性があります。
- 言語とロボティクス: 最近の研究では、トークンシーケンスやアクションの軌跡を連続データとして扱い、同じ順方向・逆方向のフレームワークを適用することで、拡散モデルをテキスト生成やロボットのアクションプランニングに拡張しています。
7. 連続時間的な視点(オプション)
- $\Delta t \to 0$ の極限において、順方向プロセスは確率微分方程式(SDE)になります: [ d x_t = -\frac{1}{2}\beta(t) x_t,dt + \sqrt{\beta(t)},dW_t, ] ここで $W_t$ はブラウン運動です。
- 逆方向SDEは同じ拡散項を持ちますが、ドリフト項はスコア関数 $\nabla_{x_t}\log p_t(x_t)$ に依存します。ドリフトをニューラルネットワークでパラメータ化することで、離散時間の逆連鎖を復元できます。
8. 実践的なまとめ
- モデルアーキテクチャ: 通常、U-NetまたはTransformerベースのバックボーンが各タイムステップの $\epsilon_\theta$ を予測します。
- 訓練スケジュール: 初期の信号保持と後期の急速な拡散のバランスをとるノイズスケジュール $\beta_1\dots\beta_T$(線形またはコサイン)を選択します。
- サンプリング速度: 最近の研究では、より良いスケジュールを学習したり蒸留(distillation)を使用したりすることで、逆ステップの数を数千からわずか4〜10に削減していますが、元の定式化では数千ステップを使用します。
- 実装リソース: Stanfordの講義ノート(ビデオの説明欄にリンク)に、完全な導出と疑似コードが含まれています。
この投稿は、拡散モデルに関するStanford CS229 Spring 2026の講義のトランスクリプトに基づいています。すべての数式と主張は講師の説明から直接引用されており、外部の事実は追加されていません。