ゆらぎの霧を晴らす「決定論的な風」 ── 確率フローODEとSDEの等価性
前回の第四話では、単一ノイズのジレンマ(大ノイズと小ノイズのトレードオフ)を打ち破るべく、物理学(非平衡熱力学)の知恵を借りた「多段階ノイズ(アニール)」の導入を描きました。
潜在変数モデルの文脈から生まれた DDPM(Denoising Diffusion Probabilistic Models) と、スコアベースモデルの文脈から生まれた NCSN(Noise Conditional Score Networks)。一見すると全く異なる数学的背景から出発したこの二大金字塔が、条件付きスコアとノイズ予測の厳密な対応関係 $ \mathbf{s}_\boldsymbol{\theta}(\mathbf{x}_t, t) = -\frac{\boldsymbol{\epsilon}_\boldsymbol{\theta}(\mathbf{x}_t, t)}{\sqrt{1 - \bar{\alpha}_t}} $ によって見事に統一されたクライマックスは、数理物理学の真骨頂とも言える美しさでした。
しかし、第四話までの拡散モデルには、なお解決すべき大きな工学的・数理的な壁が残されていました。
第一に、タイムステップが $ T = 1000 $ や $ L = 100 $ といった「離散的なコマ送り」として設定されていたことです。
第二に、サンプリング(生成)の各ステップにおいて、AIが予測した方向へ進むたびにランダムなガウスゆらぎ(ノイズ)を注入し続けるため、粒子が空間をゆらゆらと不規則に蛇行(ランダムウォーク)しながら進むことです。そのため、1枚の画像を生成するまでにモデルを何百~何千回も評価(NFE: Number of Function Evaluations)しなければならず、生成速度が極めて遅いという致命的な弱点を抱えていました。
そして第三に、ランダムな確率過程であるがゆえに、ある画像 $ \mathbf{x} $ に対応する潜在コード(ノイズ表現)が一意に決まらず、モデルが与える厳密な「確率の高さ(対数尤度)」の評価や、画像間の滑らかなモーフィング(補間)が困難であったことです。
「なぜ、ランダムなゆらぎを混ぜながら蛇行しなければならないのか?」
「離散的なコマ送りを極限まで細かく刻み、連続時間へと深め伸ばしたとき、そこに現れる真の軌跡とはどのようなものなのか?」
今回は、2020年に Yang Song(ヤン・ソング)らが論文 “Score-Based Generative Modeling through Stochastic Differential Equations” において達成した、離散から連続時間(SDE)への極限進化と、そのゆらぎの霧の向こう側に隠されていた 「確率フローODE(Probability Flow ODE)」 の発見という、連続時間生成モデルの金字塔的ドラマを解き明かしていきます。
コマ送りから連続時間へ ── SDE(確率微分方程式)による統一
離散的なタイムステップの幅 $ \Delta t $ を極限までゼロに近づけ($ \Delta t \to 0 $)、ノイズ付加のコマ送りを連続的な時間変化として捉え直してみましょう。
画像 $ \mathbf{x}(t) $ が時間 $ t \in \lbrack 0, T \rbrack $ とともにノイズに侵食されていく前向き過程(拡散過程)は、確率論および数理物理学において確立された 「SDE(Stochastic Differential Equations: 確率微分方程式)」 として一般化されます。
d\mathbf{x} = \mathbf{f}(\mathbf{x}, t) dt + g(t) d\mathbf{w} \tag{1}
ここで、$ \mathbf{f}(\mathbf{x}, t) $ は決定論的な移動を規定する 「ドリフト係数(Drift Coefficient)」、$ g(t) $ は確率的な揺らぎの強さを制御するスカラーの 「拡散係数(Diffusion Coefficient)」、そして $ \mathbf{w} $ は標準ブラウン運動(ウィーナー過程)を表します。微小時間 $ dt $ における項 $ d\mathbf{w} $ は、平均 $ \mathbf{0} $、分散 $ dt \mathbf{I} $ のガウスゆらぎを指します。
この一般的な SDE (1) の形式を提示したことで、Song らは従来の離散的拡散モデル(NCSN と DDPM)が、実は SDE の特別なケース(連続極限)として美しく包摂されることを証明しました。
1. VE-SDE (Variance Exploding SDE)
NCSN(スコアベースモデル)の多段階ノイズ付加を連続時間化すると、時間が経過するにつれてデータの分散が増大(爆発)していく SDE に帰着されます。これを VE-SDE と呼びます。
d\mathbf{x} = \sqrt{\frac{d \lbrack \sigma(t)^2 \rbrack}{dt}} d\mathbf{w} \tag{2}
2. VP-SDE (Variance Preserving SDE)
DDPM(デノイジング拡散確率モデル)のノイズスケール $ \beta_t $ を連続時間化すると、平均を適度に縮小させながらノイズを加えることで、データの分散が一定の範囲に保たれるよう設計された SDE に帰着されます。これを VP-SDE と呼びます。
d\mathbf{x} = -\frac{1}{2} \beta(t) \mathbf{x} dt + \sqrt{\beta(t)} d\mathbf{w} \tag{3}
こうして、離散的な設定の差異を超えて、あらゆる拡散モデルが「ドリフト係数 $ \mathbf{f}(\mathbf{x}, t) $ と拡散係数 $ g(t) $ の違い」にすぎないという、統一的な統一理論が完成しました。
では、完全なノイズ空間 $ t = T $ から出発して、時間を過去へと逆再生($ t = T \to 0 $)し、原画像 $ \mathbf{x}(0) $ を復元する 「逆時間SDE(Reverse-time SDE)」 はどのように記述されるのでしょうか?
確率過程の時間逆転に関する Brian D. O. Anderson(1982年)の古典的定理を適用すると、前向き SDE (1) に対応する逆時間 SDE は、時間逆転した標準ブラウン運動 $ d\bar{\mathbf{w}} $ (時間をさかのぼる方向の微小ガウスゆらぎ)を用いて、次のように厳密に与えられます。
d\mathbf{x} = \left\lbrack \mathbf{f}(\mathbf{x}, t) - g(t)^2 \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \right\rbrack dt + g(t) d\bar{\mathbf{w}} \tag{4}
式(4)をじっと見つめてみてください。
逆時間 SDE における決定論的な移動(ドリフト項)の中に、第三話・第四話で私たちが追ってきた 「スコア $ \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) $」 が、粒子をデータの山へ引き戻すナビゲーターとして完璧な姿で登場しています。
学習によって獲得したスコアモデル $ \mathbf{s}_\boldsymbol{\theta}(\mathbf{x}_t, t) $ を式(4)の $ \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) $ に代入して数値的に時間逆転シミュレーションを実行すれば、連続時間においてノイズから画像を生成することができます。
確率の雲を追う方程式 ── フォッカー・プランク方程式(FPK)
しかし、式(4)に従ってノイズから画像をサンプリングするとき、粒子は依然として項 $ g(t) d\bar{\mathbf{w}} $ による確率的なガウスゆらぎを受け続けます。1つひとつの粒子(1枚の画像候補)の軌跡は、ランダムにゆらゆらと不規則に揺れ動く「ランダムウォーク」です。
ここで、視点を個別の「1つの粒子(ラグランジュ的視点)」から、空間全体に散らばる「粒子の集合体・確率密度の雲 $ p_t(\mathbf{x}) $(オイラー的視点)」へと移してみましょう。
個別の粒子はランダムに揺れ動いていますが、空間全体の確率密度の雲 $ p_t(\mathbf{x}) $ は、時間が経つにつれてどのように変形・発達していくのでしょうか?
物理学および統計力学において、SDE (1) に従う粒子の確率密度関数 $ p_t(\mathbf{x}) $ の時間変化を記述する基礎方程式こそが、 「フォッカー・プランク方程式(Fokker-Planck Equation / Kolmogorov Forward Equation)」 です。
\frac{\partial p_t(\mathbf{x})}{\partial t} = -\nabla_{\mathbf{x}} \cdot \left\lbrack \mathbf{f}(\mathbf{x}, t) p_t(\mathbf{x}) \right\rbrack + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}}^2 p_t(\mathbf{x}) \tag{5}
ここで、右辺の第1項は決定論的な流れによる移動(移流項)、第2項はノイズのゆらぎによって確率の雲がぼやけて広がっていく効果(拡散項・ラプラシアン $ \nabla_{\mathbf{x}}^2 = \nabla_{\mathbf{x}} \cdot \nabla_{\mathbf{x}} $)を表しています。
いま、この右辺の第2項(拡散項)に対して、対数微分の公式 $ \nabla_{\mathbf{x}} p_t(\mathbf{x}) = p_t(\mathbf{x}) \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) $ を用いて、次のような代数変形を施してみましょう。
\nabla_{\mathbf{x}}^2 p_t(\mathbf{x}) = \nabla_{\mathbf{x}} \cdot \left( \nabla_{\mathbf{x}} p_t(\mathbf{x}) \right) = \nabla_{\mathbf{x}} \cdot \left( p_t(\mathbf{x}) \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \right)
この変形結果を式(5)の第2項へ代入し、共通の空間発散演算子 $ -\nabla_{\mathbf{x}} \cdot $ で全体をくくり出すと、フォッカー・プランク方程式は次のような形式へと鮮やかに姿を変えます。
\frac{\partial p_t(\mathbf{x})}{\partial t} = -\nabla_{\mathbf{x}} \cdot \left\lbrack \left( \mathbf{f}(\mathbf{x}, t) - \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \right) p_t(\mathbf{x}) \right\rbrack \tag{6}
式(6)の全体像をご覧ください。
この数式の形に見覚えはないでしょうか?
そうです。これこそが、第二話で私たちが学んだ流体力学の根本原則、「連続の式(Continuity Equation)」 $ \frac{\partial p_t}{\partial t} + \nabla_{\mathbf{x}} \cdot \left( p_t(\mathbf{x}) \mathbf{v}_t(\mathbf{x}) \right) = 0 $ そのものなのです!
確率フローODEの降臨 ── 決定論的な風への回帰
フォッカー・プランク方程式から変形された式(6)は、生成AIの歴史を根底から覆す、驚愕の数学的事実を私たちに突きつけています。
式(6)における流速ベクトル場(風)にあたる部分を取り出してみましょう。
\mathbf{v}_t(\mathbf{x}) = \mathbf{f}(\mathbf{x}, t) - \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \tag{7}
この速度場 $ \mathbf{v}_t(\mathbf{x}) $ には、ランダムなブラウン運動の項($ d\mathbf{w} $)が含まれていません。完全な 決定論的常微分方程式(ODE: Ordinary Differential Equation) です。
すなわち、粒子 $ \mathbf{x}(t) $ の移動を、次の決定論的な常微分方程式に従わせたとき:
\frac{d\mathbf{x}}{dt} = \mathbf{f}(\mathbf{x}, t) - \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \tag{8}
この ODE によって引き起こされる空間全体の確率密度 $ p_t(\mathbf{x}) $ の発展は、あのランダムにゆらゆらと揺れ動いていた確率微分方程式(SDE)によってもたらされる確率密度の発展と、すべての時刻 $ t \in \lbrack 0, T \rbrack $ において、一分一厘の狂いもなく完全に等しくなるのです!
この決定論的方程式 (8) を、Song らは 「確率フローODE(Probability Flow ODE)」 と名付けました。
| アプローチ | 方程式の性質 | 軌道の挙動 | 密度発展 $ p_t(\mathbf{x}) $ |
|---|---|---|---|
| 逆時間 SDE | 確率微分方程式 (SDE) | ゆらゆらと揺れる不規則なランダムウォーク | 完全一致 |
| 確率フロー ODE | 常微分方程式 (ODE) | スーッと流れる滑らかで決定論的な軌道 | 完全一致 |
なんという数理の奇跡でしょうか。
ここで極めて重要な注意点があります。
SDE と 確率フローODE において等しいのは、「粒子ひとつひとつの個別の軌跡」ではなく、「各時刻における確率分布(周辺分布 $ p_t(\mathbf{x}) $)」 です。
第二話において、正規化フロー(CNF)は「全空間での確率の規格化(積分の計算)」という分配関数の壁に阻まれ、学習に重いシミュレーションを要求されて暗黒の挫折を味わいました。そのため、人類は一度「ノイズによる完全破壊と復元(拡散モデル・SDE)」という確率的な大回りを余儀なくされたのです。
しかし、第三話の「デノイジング・スコアマッチング(DSM)」の導入によって、シミュレーションを経由せずに「スコア $ \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) $」をピンポイントで学習する術を手に入れた人類は、連続時間 SDE のフォッカー・プランク方程式を経由することで、ついに 「決定論的な常微分方程式(確率フローODE)」 へと見事に還流・凱旋帰還を果たしたのです。
ゆらぎの霧は晴れ渡り、粒子は再び一貫した美しい風(決定論的ベクトル場)に乗って、ゴールへと滑らかに導かれることになりました。
確率フローODEがもたらした4つの革新的恩恵
確率フローODEの発見は、単なる数学的なエレガンスにとどまらず、画像生成AIの実用性と表現力を飛躍的に向上させる4つの工学的・理論的恩恵をもたらしました。
1. 決定論的サンプリングと超高速化
確率フローODEに従うサンプリングには、途中のランダムなノイズ注入が存在しません。粒子の描く軌道は極めて滑らか(曲率が小さい)になります。
これにより、常微分方程式の数値解法として長年鍛え上げられてきた Runge-Kutta 45 (RK45) や Dopri5 といった「適応型ステップ制御付き ODE ソルバー(Black-box ODE Solvers)」をそのまま適用できるようになりました。従来の SDE サンプラーが 1000 ステップを要していたのに対し、生成品質を損なうことなく、わずか数十ステップ(低NFE)での超高速サンプリングが可能になったのです。
2. 完全な1対1対応(可逆エンコーディング)
確率的 SDE では、同じ画像 $ \mathbf{x} $ から出発してもサンプリングのたびに注入される乱数によって潜在コード(ノイズ)が変動してしまいました。
しかし、決定論的な確率フローODE は完全な 「1対1の双射(バイジェクション)」 です。ある実画像 $ \mathbf{x}_0 $ から時間方向を順方向に ODE 積分すれば、その画像に対応する唯一無二の潜在ノイズコード $ \mathbf{z}_T $ へと完璧にエンコードできます。そして、その $ \mathbf{z}_T $ から時間逆方向に ODE を解けば、寸分違わず元の画像 $ \mathbf{x}_0 $ を完全復元(デコード)できるのです。
3. 潜在空間での滑らかなモーフィング(補間)
2枚の異なる実画像 $ \mathbf{x}_A $ と $ \mathbf{x}_B $ を、確率フローODE を用いて決定論的に潜在ノイズコード $ \mathbf{z}_A $ と $ \mathbf{z}_B $ へエンコードします。
ノイズ空間上で両者を球面線形補間(slerp)し、その中間のコードから確率フローODE に従って画像を復元すると、途中の構図や物体の形状が崩れることなく、写真と写真が滑らかに溶け合うような奇跡的なモーフィング映像が生成されます。
4. 厳密な対数尤度(Bits-per-dimension: BPD)の評価
確率フローODE は連続時間正規化流(CNF)そのものです。したがって、第二話で学んだ「瞬間的変数変換方程式」がそのまま適用されます。
\log p_0(\mathbf{x}(0)) = \log p_T(\mathbf{x}(T)) + \int_0^T \nabla_{\mathbf{x}} \cdot \mathbf{v}_t(\mathbf{x}(t)) dt \tag{9}
速度場 $ \mathbf{v}_t $ の発散(ヤコビ行列のトレース $ \nabla_{\mathbf{x}} \cdot \mathbf{v}_t $)の計算には、自動微分と Hutchinson のトレース推定法(VJP: Vector-Jacobian Product) を組み合わせることで、高次元画像においても莫大な計算コストをかけることなく、変分下限(ELBO)のような近似値ではない 「厳密な対数尤度(Bits-per-dimension)」 を解析的に直接評価できるようになりました。
Predictor-Corrector (PC) サンプラー ── SDEとODEのハイブリッド
Song らはまた、確率的な SDE の「探索能力の高さ」と、決定論的なスコア修正の「正確さ」を組み合わせた強力なサンプリングフレームワークである Predictor-Corrector (PC) サンプラー も提案しました。
-
Predictor(予測子):
逆時間 SDE または確率フローODE を1ステップ進め、粒子をデータの山がある方向へと大きく押し進めます(大枠の移動)。 -
Corrector(修正子):
そのタイムステップ $ t $ において学習されたスコアモデル $ \mathbf{s}_\boldsymbol{\theta}(\mathbf{x}_t, t) $ を固定し、第三話で学んだ 「アニールド・ランジュバン MCMC」 を数ステップ実行します。これにより、Predictor の数値積分によって生じた軌道の微小なズレ(離散化誤差)を、その時刻における真の確率密度の等高線上へとピタリと修正・引き戻します。
この「移動(Predict)」と「軌道修正(Correct)」を交交互に繰り返す PC サンプラーの登場により、数値誤差の蓄積が極限まで抑えられ、CIFAR-10 データセットにおいて当時世界最高水準となる FID 2.20 という圧巻の生成クオリティが達成されました。
第六話へのバトンパス ── 「うねる風」から「直進する風」へ
連続時間 SDE と確率フローODE という数理の極致を手に入れ、生成AIは「決定論的な流体力学」の王道へと華々しく舞い戻りました。
しかし、ここで数理物理学の探求心は、さらなる根源的な疑問へと突き進むことになります。
確率フローODE が描く決定論的なベクトルの軌跡を注意深く観察してみましょう。
そこには、過去の拡散モデル(SDE)が残していった「ノイズを加えて一度散らし、それを段階的に縮小しながら復元する」という歴史的経緯ゆえの、時間とともに大きく湾曲・うねる複雑な軌道 がそのまま残されていました。
「なぜ、ノイズからデータへと向かう旅路において、わざわざこのような複雑に曲がりくねった風のルートを辿らなければならないのか?」
「始点(標準ガウスノイズ)と終点(本物のデータ)が与えられたのなら、最初から両者を『これ以上ないほど真っ直ぐな最短の等速直線(曲率ゼロ・交差なし)』で結ぶ風を直接描けばいいのではないか?」
次回、第六話。知の螺旋(Uターン)の到達点であり、現代生成AIの最新最鋭のパラダイムである 「フローマッチング(Conditional Flow Matching: CFM)」 の登場です。
第三話の「Denoising Score Matching の条件付きの魂」と「最適輸送(OT)」の幾何学美が融合し、わずか数ステップの計算で寸分の狂いもない写真を描ききる、直線美の奇跡を解き明かしていきます。
数理が到達した極限の直線を、どうぞお楽しみに。
(第六話へ続く)
第五話 参考文献リスト
- 岡野原大輔 『生成AIのしくみ』 (技術評論社、2024年)
- 岡野原大輔 『拡散モデル』 (岩波書店、2023年)
- B. D. O. Anderson, "Reverse-time diffusion equation models," Stochastic Processes and their Applications, 1982.
- Y. Song, J. Sohl-Dickstein, D. P. Kingma, A. Kumar, S. Ermon, B. Poole, "Score-Based Generative Modeling through Stochastic Differential Equations," ICLR, 2021.
- R. T. Q. Chen, Y. Rubanova, J. Bettencourt, D. Duvenaud, "Neural Ordinary Differential Equations," NeurIPS, 2018.
- W. Grathwohl, R. T. Q. Chen, J. Bettencourt, I. Sutskever, D. Duvenaud, "FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models," ICLR, 2019.
第五話 専門用語の簡単な解説
- 確率微分方程式 (SDE): 時間変化の決定論的なトレンド(ドリフト)に、ブラウン運動のような不規則な確率的ゆらぎ(拡散)を付け加えた微分方程式。
- 確率フローODE (Probability Flow ODE): 確率的なゆらぎを持つ SDE と全く同じ確率密度の時間発展 $ p_t(\mathbf{x}) $ を共有しながら、ゆらぎなく滑らかに決定論的に流れる常微分方程式。
- フォッカー・プランク方程式: SDE に従って運動する多数の粒子の「確率密度分布全体の時間変化」を記述する決定論的な偏微分方程式。
- ブラウン運動 (ウィーナー過程): 液体や気体中の微粒子が熱運動によってランダムに不規則な衝突を繰り返して描く、連続だが至る所微分不可能な確率過程。
- Bits-per-dimension (BPD): 生成モデルの画像データに対する評価指標であり、1次元あたりの表現に必要な平均ビット数。値が小さいほどデータに対する確率の割り当て(尤度)が高いことを示す。
- Predictor-Corrector サンプラー: 1ステップの移動を行う予測子(SDE/ODEソルバー)と、軌道の数理的ズレを補正する修正子(MCMC)を交互に適用する高精度なサンプリング手法。
付録
付録A:式(2)(VE-SDE)の導出
NCSN 等のスコアベースモデルにおける条件付き分布 $ q(\mathbf{x}(t) \mid \mathbf{x}(0)) = \mathcal{N} \left( \mathbf{x}(t) \ ;\ \mathbf{x}(0), \sigma(t)^2 \mathbf{I} \right) $ を再パラメータ化すると、標準ガウスノイズ $ \mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) $ を用いて次のように表される。
\mathbf{x}(t) = \mathbf{x}(0) + \sigma(t) \mathbf{z}
微小時間 $ dt $ において増加するノイズ分散は $ d \lbrack \sigma(t)^2 \rbrack = \frac{d \lbrack \sigma(t)^2 \rbrack}{dt} dt $ である。独立なガウス変数の加法性(分散の和)より、微小増分 $ d\mathbf{x}(t) = \mathbf{x}(t+dt) - \mathbf{x}(t) $ の分散は $ \frac{d \lbrack \sigma(t)^2 \rbrack}{dt} dt \mathbf{I} $ となる。標準ブラウン運動の増分 $ d\mathbf{w} \sim \mathcal{N}(\mathbf{0}, dt \mathbf{I}) $ と対応させると、以下の VE-SDE(式(2))が得られる。
d\mathbf{x} = \sqrt{\frac{d \lbrack \sigma(t)^2 \rbrack}{dt}} d\mathbf{w} \tag{2}
付録B:式(3)(VP-SDE)の導出
DDPM の順方向過程における離散更新式 $ \mathbf{x}_t = \sqrt{1 - \beta_t} \mathbf{x}_{t-1} + \sqrt{\beta_t} \mathbf{z}_t $ ($ \mathbf{z}_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) $)に対し、ステップ幅 $ \Delta t \to 0 $ の連続時間極限($ \beta_t = \beta(t) dt $)を考える。
\mathbf{x}(t+dt) = \sqrt{1 - \beta(t) dt} \, \mathbf{x}(t) + \sqrt{\beta(t) dt} \, \mathbf{z}(t)
微小量 $ dt $ について各項を 1 次までテイラー展開し、ブラウン運動の増分関係 $ \sqrt{dt} , \mathbf{z}(t) = d\mathbf{w} $ を代入する。
- 確定項: $ \sqrt{1 - \beta(t) dt} = 1 - \frac{1}{2} \beta(t) dt + \mathcal{O}(dt^2) $
- ノイズ項: $ \sqrt{\beta(t) dt} , \mathbf{z}(t) = \sqrt{\beta(t)} d\mathbf{w} $
これらを代入して微小変化量 $ d\mathbf{x} = \mathbf{x}(t+dt) - \mathbf{x}(t) $ を整理すると、分散保存型の VP-SDE(式(3))が得られる。
d\mathbf{x} = -\frac{1}{2} \beta(t) \mathbf{x} dt + \sqrt{\beta(t)} d\mathbf{w} \tag{3}
付録C:式(4)(逆時間SDE)の導出
前向き SDE $ d\mathbf{x} = \mathbf{f}(\mathbf{x}, t) dt + g(t) d\mathbf{w} $ (式(1))に従う確率過程について、未来の時刻 $ s $ と過去の時刻 $ t $ ($ s \ge t $)における同時確率密度 $ p(\mathbf{x}_s, \mathbf{x}_t) = p(\mathbf{x}_s \mid \mathbf{x}_t) p_t(\mathbf{x}_t) $ の過去方向の時間変化 $ -\frac{\partial p(\mathbf{x}_s, \mathbf{x}_t)}{\partial t} $ を考える。
積の微分法則より、
-\frac{\partial p(\mathbf{x}_s, \mathbf{x}_t)}{\partial t} = -\left( \frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t)}{\partial t} \right) p_t(\mathbf{x}_t) - p(\mathbf{x}_s \mid \mathbf{x}_t) \left( \frac{\partial p_t(\mathbf{x}_t)}{\partial t} \right)
ここで、$ p(\mathbf{x}_s \mid \mathbf{x}_t) $ の時間発展を記述するコルモゴロフ後ろ向き方程式(KBE):
-\frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t)}{\partial t} = \mathbf{f}(\mathbf{x}_t, t) \cdot \nabla_{\mathbf{x}_t} p(\mathbf{x}_s \mid \mathbf{x}_t) + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s \mid \mathbf{x}_t)
および周辺密度 $ p_t(\mathbf{x}_t) $ のコルモゴロフ前向き方程式(KFE/FPK):
\frac{\partial p_t(\mathbf{x}_t)}{\partial t} = -\nabla_{\mathbf{x}_t} \cdot \left\lbrack \mathbf{f}(\mathbf{x}_t, t) p_t(\mathbf{x}_t) \right\rbrack + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p_t(\mathbf{x}_t)
を代入して整理する。
1. ドリフト項の合成
積の微分法則 $ (\mathbf{A} \cdot \nabla B) C + B \nabla \cdot (\mathbf{A} C) = \nabla \cdot (\mathbf{A} B C) $ より、
\left( \mathbf{f} \cdot \nabla p_{s \mid t} \right) p_t + p_{s \mid t} \nabla \cdot (\mathbf{f} p_t) = \nabla_{\mathbf{x}_t} \cdot \left\lbrack \mathbf{f}(\mathbf{x}_t, t) p(\mathbf{x}_s, \mathbf{x}_t) \right\rbrack
2. 拡散項の合成とスコアの導入
2次偏微分の合成および対数微分 $ \nabla p_t = p_t \nabla \log p_t $ を適用すると、
\frac{1}{2} g(t)^2 \left\lbrack (\nabla^2 p_{s \mid t}) p_t - p_{s \mid t} (\nabla^2 p_t) \right\rbrack = \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s, \mathbf{x}_t) - g(t)^2 \nabla_{\mathbf{x}_t} \cdot \left\lbrack p(\mathbf{x}_s, \mathbf{x}_t) \nabla_{\mathbf{x}_t} \log p_t(\mathbf{x}_t) \right\rbrack
3. 逆時間SDEの同定
両項をまとめると、時間逆転方向の確率密度 $ p(\mathbf{x}_s, \mathbf{x}_t) $ のフォッカー・プランク方程式が得られる。
-\frac{\partial p(\mathbf{x}_s, \mathbf{x}_t)}{\partial t} = -\nabla_{\mathbf{x}_t} \cdot \left\lbrack \left( -\mathbf{f}(\mathbf{x}_t, t) + g(t)^2 \nabla_{\mathbf{x}_t} \log p_t(\mathbf{x}_t) \right) p(\mathbf{x}_s, \mathbf{x}_t) \right\rbrack + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s, \mathbf{x}_t)
この方程式における実効ドリフト係数を時間逆転標準ブラウン運動 $ d\bar{\mathbf{w}} $ ($ t = T \to 0 $)に合わせた順方向表記に書き換えることで、逆時間 SDE(式(4))が導出される。
d\mathbf{x} = \left\lbrack \mathbf{f}(\mathbf{x}, t) - g(t)^2 \nabla_{\mathbf{x}} \log p_t(\mathbf{x}) \right\rbrack dt + g(t) d\bar{\mathbf{w}} \tag{4}
付録D:式(5)(フォッカー・プランク方程式)の導出
一般の SDE $ d\mathbf{x} = \mathbf{f}(\mathbf{x}, t) dt + g(t) d\mathbf{w} $(式(1))に従う粒子の確率密度 $ p_t(\mathbf{x}) $ の時間発展を導出する。
1. 多次元伊藤の公式(Ito's Lemma)とは
通常の微分積分におけるチェインルール(連鎖律)を、確率微分方程式に従う確率過程 $ \mathbf{x}(t) $ に適用できるよう拡張した公式が伊藤の公式である。
標準ブラウン運動の微小増分 $ d\mathbf{w} $ は $ (d\mathbf{w})^2 = dt $ という性質(伊藤の乗積ルール)を持つため、テイラー展開の2次偏微分項から $ dt $ の1次項が生き残る点が通常の連鎖律と異なる。
空間全体で滑らかな任意のテスト関数 $ \phi(\mathbf{x}) $ ($ \mathbf{x} \in \mathbb{R}^d $)の微小変化 $ d\phi(\mathbf{x}) $ を2次まで多次元テイラー展開すると、以下のようになる。
d\phi(\mathbf{x}) = \sum_{i=1}^d \frac{\partial \phi}{\partial x_i} d x_i + \frac{1}{2} \sum_{i=1}^d \sum_{j=1}^d \frac{\partial^2 \phi}{\partial x_i \partial x_j} d x_i d x_j + \mathcal{O}(dt^{3/2})
ここで、$ d x_i = f_i(\mathbf{x}, t) dt + g(t) d w_i $ であり、伊藤の乗積ルール($ d w_i d w_j = \delta_{ij} dt $、$ d w_i dt = 0 $、$ dt^2 = 0 $)を適用すると、2次の差分積は $ d x_i d x_j = g(t)^2 \delta_{ij} dt $ となる。これらを代入して整理すると、多次元伊藤の公式が得られる。
d\phi(\mathbf{x}) = \left( \sum_{i=1}^d f_i(\mathbf{x}, t) \frac{\partial \phi}{\partial x_i} + \frac{1}{2} g(t)^2 \sum_{i=1}^d \frac{\partial^2 \phi}{\partial x_i^2} \right) dt + g(t) \sum_{i=1}^d \frac{\partial \phi}{\partial x_i} d w_i
勾配 $ \nabla_{\mathbf{x}} \phi = \left( \frac{\partial \phi}{\partial x_1}, \dots, \frac{\partial \phi}{\partial x_d} \right)^T $ とラプラシアン $ \nabla_{\mathbf{x}}^2 \phi = \sum_{i=1}^d \frac{\partial^2 \phi}{\partial x_i^2} $ を用いてベクトル表示すると、以下の形式となる。
d\phi(\mathbf{x}) = \left( \mathbf{f}(\mathbf{x}, t) \cdot \nabla_{\mathbf{x}} \phi(\mathbf{x}) + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}}^2 \phi(\mathbf{x}) \right) dt + g(t) \nabla_{\mathbf{x}} \phi(\mathbf{x}) \cdot d\mathbf{w}
2. 期待値の計算と部分積分
両辺の期待値をとると、ブラウン運動項の期待値は $ \mathbb{E} \left\lbrack d\mathbf{w} \right\rbrack = \mathbf{0} $ であるため消失する。両辺を $ dt $ で割り、確率密度 $ p_t(\mathbf{x}) $ による全空間の積分形式(期待値)で書き下すと以下の等式を得る。
\int_{\mathbb{R}^d} \phi(\mathbf{x}) \frac{\partial p_t(\mathbf{x})}{\partial t} d\mathbf{x} = \int_{\mathbb{R}^d} \left( \mathbf{f}(\mathbf{x}, t) \cdot \nabla_{\mathbf{x}} \phi(\mathbf{x}) + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}}^2 \phi(\mathbf{x}) \right) p_t(\mathbf{x}) d\mathbf{x}
ここで、
\begin{aligned}
\mathbb{E} \left\lbrack \frac{d\phi(\mathbf{x})}{dt} \right\rbrack &= \frac{d}{dt} \mathbb{E} \left\lbrack \phi(\mathbf{x}) \right\rbrack \\&= \frac{d}{dt} \int_{\mathbb{R}^d} \phi(\mathbf{x}) p_t(\mathbf{x}) d\mathbf{x} \\&= \int_{\mathbb{R}^d} \frac{\partial}{\partial t} \left( \phi(\mathbf{x}) p_t(\mathbf{x}) \right) d\mathbf{x} \\&= \int_{\mathbb{R}^d} \phi(\mathbf{x}) \frac{\partial p_t(\mathbf{x})}{\partial t} d\mathbf{x}
\end{aligned}
を使って左辺を導いた。
右辺の各項に対し、多次元部分積分を実行する(確率密度 $ p_t(\mathbf{x}) $ は無限遠で 0 に速やかに減衰するため境界項は消滅する)。
- 移流項: $ \int_{\mathbb{R}^d} \left( \mathbf{f}(\mathbf{x}, t) \cdot \nabla_{\mathbf{x}} \phi(\mathbf{x}) \right) p_t(\mathbf{x}) d\mathbf{x} = -\int_{\mathbb{R}^d} \phi(\mathbf{x}) \left( \nabla_{\mathbf{x}} \cdot \left\lbrack \mathbf{f}(\mathbf{x}, t) p_t(\mathbf{x}) \right\rbrack \right) d\mathbf{x} $
- 拡散項: $ \int_{\mathbb{R}^d} \left( \nabla_{\mathbf{x}}^2 \phi(\mathbf{x}) \right) p_t(\mathbf{x}) d\mathbf{x} = \int_{\mathbb{R}^d} \phi(\mathbf{x}) \nabla_{\mathbf{x}}^2 p_t(\mathbf{x}) d\mathbf{x} $
3. フォッカー・プランク方程式の導出
両辺を 1 つの積分にまとめると、次式が得られる。
\int_{\mathbb{R}^d} \phi(\mathbf{x}) \left( \frac{\partial p_t(\mathbf{x})}{\partial t} + \nabla_{\mathbf{x}} \cdot \left\lbrack \mathbf{f}(\mathbf{x}, t) p_t(\mathbf{x}) \right\rbrack - \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}}^2 p_t(\mathbf{x}) \right) d\mathbf{x} = 0
これが任意のテスト関数 $ \phi(\mathbf{x}) $ について成立するため(変分法の基本補題)、被積分関数の括弧内は恒等的に 0 となる。移項することにより、フォッカー・プランク方程式(式(5))が導き出される。
\frac{\partial p_t(\mathbf{x})}{\partial t} = -\nabla_{\mathbf{x}} \cdot \left\lbrack \mathbf{f}(\mathbf{x}, t) p_t(\mathbf{x}) \right\rbrack + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}}^2 p_t(\mathbf{x}) \tag{5}
付録E:コルモゴロフ後ろ向き方程式(KBE)の導出
前向き SDE $ d\mathbf{x} = \mathbf{f}(\mathbf{x}, t) dt + g(t) d\mathbf{w} $ (式(1))に従う確率過程において、未来の固定された到達点 $ (\mathbf{x}_s, s) $ (ただし $ s \ge t $)に対し、始点である過去の時刻・位置 $ (\mathbf{x}_t, t) $ を動かした際の条件付き確率密度(遷移確率) $ p(\mathbf{x}_s \mid \mathbf{x}_t) = p(\mathbf{x}_s \mid \mathbf{x}_t, t) $ の時間変化を導出する。
1. チャップマン・コルモゴロフ方程式と期待値表示
時刻 $ t $ から微小時間 $ dt $ だけ進めた時刻 $ t+dt $ における粒子の微小変位を $ \Delta \mathbf{x} \equiv \mathbf{x}_{t+dt} - \mathbf{x}_t $ とおく。確率の加法性(チャップマン・コルモゴロフ方程式)より、次式が成立する。
p(\mathbf{x}_s \mid \mathbf{x}_t, t) = \mathbb{E}_{\Delta \mathbf{x}} \left\lbrack p(\mathbf{x}_s \mid \mathbf{x}_t + \Delta \mathbf{x}, \, t + dt) \right\rbrack
2. 被積分関数のテイラー展開
期待値の中身である $ p(\mathbf{x}_s \mid \mathbf{x}_t + \Delta \mathbf{x}, , t + dt) $ を始点 $ (\mathbf{x}_t, t) $ のまわりで 2 次の偏微分まで多次元テイラー展開する。
\begin{aligned}
p(\mathbf{x}_s \mid \mathbf{x}_t + \Delta \mathbf{x}, \, t + dt) &= p(\mathbf{x}_s \mid \mathbf{x}_t, t) + \frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t, t)}{\partial t} dt + \Delta \mathbf{x} \cdot \nabla_{\mathbf{x}_t} p(\mathbf{x}_s \mid \mathbf{x}_t, t) \\&+ \frac{1}{2} (\Delta \mathbf{x})^T \left\lbrack \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s \mid \mathbf{x}_t, t) \right\rbrack \Delta \mathbf{x} + o(dt)
\end{aligned}
3. SDE 増分統計量の代入と極限計算
前向き SDE より、微小増分の統計量は 1 次モーメントが $ \mathbb{E}\left\lbrack \Delta \mathbf{x} \right\rbrack = \mathbf{f}(\mathbf{x}_t, t) dt + o(dt) $、2 次モーメントが $ \mathbb{E}\left\lbrack \Delta \mathbf{x} (\Delta \mathbf{x})^T \right\rbrack = g(t)^2 dt \mathbf{I} + o(dt) $ である。これを代入して期待値を計算すると、以下の等式を得る。
\begin{aligned}
p(\mathbf{x}_s \mid \mathbf{x}_t, t) &= p(\mathbf{x}_s \mid \mathbf{x}_t, t) + \frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t, t)}{\partial t} dt + \mathbf{f}(\mathbf{x}_t, t) dt \cdot \nabla_{\mathbf{x}_t} p(\mathbf{x}_s \mid \mathbf{x}_t, t) \\&+ \frac{1}{2} g(t)^2 dt \, \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s \mid \mathbf{x}_t, t) + o(dt)
\end{aligned}
両辺から $ p(\mathbf{x}_s \mid \mathbf{x}_t, t) $ を引き、全項を $ dt $ で割って $ dt \to 0 $ の極限をとると、次式が導かれる。
0 = \frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t)}{\partial t} + \mathbf{f}(\mathbf{x}_t, t) \cdot \nabla_{\mathbf{x}_t} p(\mathbf{x}_s \mid \mathbf{x}_t) + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s \mid \mathbf{x}_t)
時間微分項を左辺へ移項し、過去方向(始点時間 $ t $ の遡り)への変化率として整理することで、コルモゴロフ後ろ向き方程式(KBE)が導出される。
-\frac{\partial p(\mathbf{x}_s \mid \mathbf{x}_t)}{\partial t} = \mathbf{f}(\mathbf{x}_t, t) \cdot \nabla_{\mathbf{x}_t} p(\mathbf{x}_s \mid \mathbf{x}_t) + \frac{1}{2} g(t)^2 \nabla_{\mathbf{x}_t}^2 p(\mathbf{x}_s \mid \mathbf{x}_t)
【本記事におけるAI(生成AI)の活用について】
本連載(および本記事)は、著者が約4ヶ月間にわたり積み重ねてきた専門論文の精読・数理的考察と、AIとの徹底的なディスカッションを経て構築したプロットに基づいています。
記事内の本文記述および見出しの言語化・構造化にあたっては、論理の透明性と読みやすさを高めるパートナーとしてAI(LLM)を活用・編集しています。数理的な構想や文脈の意図はすべて筆者の思索に基づくものです。
