Upgrade to Pro — share decks privately, control downloads, hide ads and more …

(ICLR2021) Score-Based Generative Modeling thro...

Avatar for Shumpei Takezaki Shumpei Takezaki
April 23, 2025
500

(ICLR2021) Score-Based Generative Modeling through Stochastic Differential Equations

Avatar for Shumpei Takezaki

Shumpei Takezaki

April 23, 2025
Tweet

Transcript

  1. 拡散モデルを確率微分方程式で捉える 2024/09/24@論文読み会 Shumpei Takezaki (D1, Uchida Lab.) Yang Song et

    al., “Score-Based Generative Modeling through Stochastic Differential Equations.”, ICLR2021
  2. • 目標: 拡散モデルが確率微分方程式として定式化できることを理解する 拡散モデルを確率微分方程式で捉える 1 d𝒙 = 𝑓 𝑡 𝒙

    d𝑡 + 𝑔 𝑡 d𝒘 𝒙0 𝒙𝑇 Forward SDE (data → noise) 𝒙0 𝒙𝑇 d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 Reverse SDE (noise → data) Score
  3. • 拡散過程に基づく生成モデル • 徐々にノイズを加える拡散過程を考え,逆方向に辿る(逆拡散過程)ことで生成 • 時刻の概念を導入 (時刻0がデータ,時刻Tが完全なノイズ) 拡散モデル: 全体像 2

    拡散過程 (data → noise): 微小なノイズを付加 逆拡散過程 (noise → data): 微小なノイズをモデルで除去 𝒙0 𝒙𝑇 … … … … 𝒙𝑡−1 𝒙𝑡 ノイズ推定モデル ( )を学習 𝝐𝜽
  4. • 拡散過程に基づく生成モデル • 徐々にノイズを加える拡散過程を考え,逆方向に辿る(逆拡散過程)ことで生成 • 時刻の概念を導入 (時刻0がデータ,時刻Tが完全なノイズ) ③ 拡散モデル: 全体像

    3 拡散過程 (data → noise): 微小なノイズを付加 逆拡散過程 (noise → data): 微小なノイズをモデルで除去 𝒙0 𝒙𝑇 … … … … 𝒙𝑡−1 𝒙𝑡 ノイズ推定モデル ( )を学習 𝝐𝜽 ① ②
  5. • 各時刻におけるノイズ付与を定義 • 𝒙𝑡 が従う分布𝑝𝑡 は𝒙0 の条件付き確率の形で書くとガウス分布となる 拡散モデル①: 拡散過程の定義 4

    𝒙𝑡 = 1 − 𝛽𝑡 𝒙𝑡−1 + 𝛽𝑡 𝝐 𝝐: 標準正規分布に従うノイズ 𝛽𝑡 : 各時刻で付加するノイズ強度, 0 < 𝛽1 < ⋯ < 𝛽𝑇 < 1 𝒙𝑡 = 1 − 𝛽𝑡 × 𝒙𝑡−1 + 𝛽𝑡 × 𝝐 𝑝𝑡 (𝒙𝑡 |𝒙0 ) ≔ 𝑁 𝒙𝑡 ; ത 𝛼𝑡 𝒙0 , (1 − ത 𝛼𝑡 )𝑰 ここで,𝛼𝑡 = 1 − 𝛽𝑡 , ത 𝛼𝑡 = ς𝑠=1 𝑡 𝛼𝑠 ※導出はp24を参照 𝒙𝑡 = ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐
  6. • データに付与されたノイズを推定するようにモデルを学習 拡散モデル②: ノイズ推定モデルの学習 5 2乗誤差 最小化 推定ノイズ 𝝐𝜃 (

    ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐, 𝑡) ノイズ 𝝐~𝑁(𝟎, 𝑰) 実データ 𝒙0 ~𝑝0 (𝒙0 ) 時刻 𝑡~𝑈(1, 𝑇) 重み𝜽更新 ノイズ付きデータ ത 𝛼𝑡 𝒙𝟎 + 1 − ത 𝛼𝑡 𝝐 ℒDM = 𝔼 𝑡~𝑈 1,𝑇 ,𝒙0~𝑝0 𝒙𝟎 ,𝝐~𝑁 𝟎,𝑰 ||𝝐𝜃 ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐, 𝑡 − 𝝐||2 𝝐𝜽
  7. • ノイズ推定モデルを用いて徐々にデータのノイズを除去 拡散モデル③: 逆拡散過程でのデータ生成 6 時刻𝑡 𝒙𝑡 (𝑥𝑇 ~𝑁(𝟎, 𝑰))

    推定ノイズ 𝝐𝜃 (𝒙𝑡 , 𝑡) 減衰ノイズ 𝛽𝑡 𝒛 𝒙𝑡−1 𝝐𝜽 𝒙𝑡−1 = 1 𝛼𝑡 𝒙𝑡 − 𝛽𝑡 1 − ത 𝛼𝑡 𝝐𝜃 (𝒙𝑡 , 𝑡) + 𝛽𝑡 𝒛, 𝒛~𝑁(𝟎, 𝑰)
  8. • Step 1: 「拡散モデルの拡散過程 → Forward SDE」 の導出 • Step

    2: 「Forward SDE → Reverse SDE」 の導出 • Step 3: 「Reverse SDE 拡散モデルの逆拡散過程」 の関係 拡散モデルから確率微分方程式 (SDE)への流れ 7 拡散過程 拡散モデル SDE Forward SDE 逆拡散過程 Reverse SDE Step 1 Step 2 Step 3 (data→noise) (noise→data)
  9. 𝒙𝑡+1 = 1 − ෡ 𝛽𝑡+1 𝑇 𝒙𝑡 + ෡

    𝛽𝑡+1 𝑇 𝝐 • 事前準備: 1時刻分の拡散過程の処理を以下のように変数変換 𝒙𝑡+1 = 1 − 𝛽𝑡+1 𝒙𝑡 + 𝛽𝑡+1 𝝐 Step 1: 拡散過程 → Forward SDE 8 ここで, መ 𝛽𝑡 = 𝑇𝛽𝑡
  10. 𝒙𝑡+1 = 1 − ෡ 𝛽𝑡+1 𝑇 𝒙𝑡 + ෡

    𝛽𝑡+1 𝑇 𝝐 • 事前準備: 1時刻分の拡散過程の処理を以下のように変数変換 • 時刻をt=0~Tからt=0~1に書き換える (時刻数T→∞とした極限を考えたいため) • t→t+1の拡散は,t→t+Δt (Δt=1/T) に書き換えられる • 𝒙𝑡 , 𝛽𝑡 は,時刻の関数𝒙(𝑡), 𝛽(𝑡)となる 𝒙𝑡+1 = 1 − 𝛽𝑡+1 𝒙𝑡 + 𝛽𝑡+1 𝝐 Step 1: 拡散過程 → Forward SDE 9 𝒙 𝑡 + ∆𝑡 = 1 − 𝛽 𝑡 + ∆𝑡 𝒙 𝑡 + 𝛽 𝑡 + ∆𝑡 𝝐 ≈ 𝒙 𝑡 − 1 2 𝛽 𝑡 ∆𝑡 𝒙 𝑡 + 𝛽 𝑡 ∆𝑡𝝐 Δt=0周りのテイラー展開と 𝛽 𝑡 + ∆𝑡 ≈ 𝛽(𝑡)を利用 ここで, መ 𝛽𝑡 = 𝑇𝛽𝑡
  11. • 時刻数を多くしたときの極限 (Δt→0)を考えると, Step 1: 拡散過程 → Forward SDE 10

    𝒙 𝑡 + ∆𝑡 − 𝒙 𝑡 = −1 2 𝛽 𝑡 ∆𝑡 𝒙 𝑡 + 𝛽 𝑡 ∆𝑡𝝐 ∆𝑡 → 0 SDEとして一般化 (Ito SDE) d𝒙 = −1 2 𝛽 𝑡 𝒙 d𝑡 + 𝛽 𝑡 d𝒘 𝒘は標準wiener過程 (≒ ランダムノイズ) d𝒙 = 𝑓 𝑡 𝒙𝑑𝑡 + 𝑔 𝑡 𝑑𝒘 Forward SDE 拡散モデルは以下の場合に該当 𝑓 𝑡 = − 1 2 𝛽(𝑡), 𝑔 𝑡 = 𝛽𝑡 𝒙𝑡 を左辺に移項 𝒙(𝑡)を𝒙と略記
  12. Step 2: Forward SDE → Reverse SDE 11 • Forward

    SDEが以下の確率微分方程式で与えられているとする • 先ほど示したように,この形式は拡散モデルにおける拡散過程を特殊系として含む d𝒙 = 𝑓 𝑡 𝒙𝑑𝑡 + 𝑔 𝑡 𝑑𝒘
  13. Step 2: Forward SDE → Reverse SDE 12 • Forward

    SDEが以下の確率微分方程式で与えられているとする • 先ほど示したように,この形式は拡散モデルにおける拡散過程を特殊系として含む • 逆過程のReverse SDEは以下の確率微分方程式で与えられる • 導出は参考文献を参照 d𝒙 = 𝑓 𝑡 𝒙𝑑𝑡 + 𝑔 𝑡 𝑑𝒘 d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 Reverse SDE 𝑝𝑡 (𝒙) = 𝒙(𝑡)が従う確率分布
  14. Forward SDEとReverse SDEのイメージ 13 𝒙(1)~𝑁(𝟎, 𝑰) d𝒙 = 𝑓 𝑡

    𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 𝒙 𝑡 ~𝑝𝑡 (𝒙) 𝑡 ∈ (0,1) d𝒙 = 𝑓 𝑡 𝒙 d𝑡 + 𝑔 𝑡 d𝒘 𝒙 𝑡 ~𝑝𝑡 (𝒙) 𝑡 ∈ (0,1) 𝒙(0)~𝑝0 (𝒙) 𝒙(0)~𝑝0 (𝒙) 𝒙(𝑡) 𝒙 𝑡 + d𝒙 𝒙(𝑡) 𝒙 𝑡 + d𝒙
  15. • Reverse SDEとノイズ推定モデルの関係は以下の通り Step 3: Reverse SDE 拡散モデルの逆拡散過程 14 d𝒙

    = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 Score 𝒔𝜽 𝒙, 𝑡 = − 𝝐𝜽 (𝒙, 𝑡) 1 − ത 𝛼𝑡 𝒔𝜽 𝒙, 𝑡 ≈ 𝛁𝒙 log 𝑝𝑡 𝒙 となるよう学習 (スコア推定モデルの使用) d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝒔𝜽 (𝒙, 𝑡) d𝑡 + 𝑔 𝑡 dഥ 𝒘 Score function d𝒙 = 𝑓 𝑡 𝒙 − ෤ 𝑔 𝑡 𝝐𝜽 (𝒙, 𝑡) d𝑡 + 𝑔 𝑡 dഥ 𝒘 ここで, ෤ 𝑔 𝑡 = 𝑔2 𝑡 (− 1 1 − ത 𝛼𝑡 ) ※ 𝑓(𝑡)や𝑔(𝑡)に具体的な関数を代入し,離散化すると拡散モデルの逆拡散過程と一致 Estimated noise 𝝐𝜽
  16. • SDE化のメリット • ① データ生成高速化: より早く,より精度良く生成! • ② 生成モデルの統一的な解釈: SDEを通して生成モデルがつながる!

    拡散モデルをSDE化するとなにが嬉しいの? 15 SDE solver データ生成速度UP↑ ① データ生成高速化 ②生成モデルの統一的な解釈 SDE DDPM 𝑓 𝑡 = − 1 2 𝛽 𝑡 𝑔 𝑡 = 𝛽𝑡 SMLD 𝑓 𝑡 = ? 𝑔 𝑡 = ? New? 𝑓 𝑡 = 0 𝑔 𝑡 = d[𝜎2(𝑡)] d𝑡
  17. • SDE solver: SDEの数値計算を行うアルゴリズム 例: Euler-Maruyama法 • 連続的なSDEを離散化し,近似的に数値解を計算 • 高精度なSDE

    solverを使用 → 少ないモデルの実行回数で精度UP↑ • SDE solverは数学・物理分野で数多く研究 (お借りしてくるだけでOK!) SDE化のメリット①: データ生成高速化 (2/2) 17 SDE solver d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 Reverse SDE ※ 拡散モデルの場合 𝑓 𝑡 = − 1 2 𝛽(𝑡), 𝑔 𝑡 = 𝛽𝑡 ノイズ推定 𝝐𝜽 or スコア推定 𝒔𝜽 学習済みモデル 離散化幅 Δt 実行回数を制御するパラメータ
  18. 𝑓 𝑡 = ? 𝑔 𝑡 = ? • SDEを通して複数の生成モデルを統一的に理解

    • 𝑓(𝑡), 𝑔(𝑡)の定式化によって様々な生成モデルとして解釈 • 生成モデルとして適した𝑓(𝑡), 𝑔(𝑡)のデザインも可能? SDE化のメリット②: 生成モデルの統一的な解釈 18 d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 d𝒙 = 𝑓 𝑡 𝒙 d𝑡 + 𝑔 𝑡 d𝒘 SDE 𝑓 𝑡 = − 1 2 𝛽 𝑡 𝑔 𝑡 = 𝛽𝑡 𝑓 𝑡 = 0 𝑔 𝑡 = d[𝜎2(𝑡)] d𝑡 𝜎 𝑡 : 分散パラメータ DDPM (拡散モデル) SMLD (スコアベースモデル) 新たな生成モデル (EDMなど)
  19. • 拡散モデルは確率微分方程式として定式化できる! • Score (≒推定ノイズ)を使って,Reverse SDEを解くことでデータ生成 • SDE化による様々なメリット (データ生成高速化,生成モデルの統一的な解釈) Take-home

    message 19 d𝒙 = 𝑓 𝑡 𝒙 d𝑡 + 𝑔 𝑡 d𝒘 𝒙0 𝒙𝑇 Forward SDE (data → noise) 𝒙0 𝒙𝑇 d𝒙 = 𝑓 𝑡 𝒙 − 𝑔2 𝑡 𝛁𝒙 log 𝑝𝑡 𝒙 d𝑡 + 𝑔 𝑡 dഥ 𝒘 Reverse SDE (noise → data) Score
  20. • 論文 • Yang Song et al., “Score-Based Generative Modeling

    through Stochastic Differential Equations.”, ICLR2021 (原論文) • Jonathan Ho et al., “Denoising Diffusion Probabilistic Models.”, NeurIPS2020 (拡散モデルの定式化. DDPMの論文) • B. D. O. Anderson, “Reverse-Time Diffusion Equation Models.”, Stochastic Processes and their Applications, 1982 (Reverse SDEの導出) • Yang Song et al, “Generative Modeling by Estimating Gradients of the Data Distribution”, NeurIPS2019 (スコアベースモデル. SMLDの論文) • Tero Karras et al., “Elucidating the Design Space of Diffusion-Based Generative Models”, NeurIPS2022 (EDMの論文) • 参考書 • 岡之原大輔,”拡散モデル データ生成技術の数理”,岩波書店 (全般) • 動画 • nnabla ディープラーニングチャンネルの解説動画 • 【AI論文解説】拡散モデルによるデータ生成の高速化技術 -詳細編Part3- (拡散モデルの拡散過程からForward SDEの導出) • 【AI論文解説】拡散モデルによるデータ生成の高速化技術 -詳細編Part4- (データ生成の高速化) • Yang Songさん (原論文著者)の発表動画 • Score Based Generative Modeling through Stochastic Differential Equations Best Paper | ICLR 2021 (Forward SDEとReverse SDEについて) 参考文献 21
  21. 𝔼 𝑝𝑡(𝒙) 1 2 ||𝒔𝜃 𝒙, 𝑡 − 𝛁𝒙 log

    𝑝𝑡 𝒙 ||2 = 𝔼 𝑝𝑡(𝒙0,𝒙𝑡) 1 2 ||𝒔𝜃 𝒙𝑡 , 𝑡 − 𝛁𝒙𝑡 log 𝑝𝑡 𝒙𝑡 |𝒙0 ||2 + 𝑐𝑜𝑛𝑠𝑡. = 𝔼 𝒙0~𝑝0 𝒙0 , 𝝐~𝑁 𝟎,𝑰 1 2 𝒔𝜃 ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐 , 𝑡 − − 𝝐 1 − ത 𝛼𝑡 2 + 𝑐𝑜𝑛𝑠𝑡. ノイズ推定モデルとスコア推定モデルの一致 23 明示的スコアマッチングの 損失関数 デノイジングスコアマッチングの 損失関数 Pascal Vincent, “A Connection Between Score Matching and Denoising Autoencoders”, Neural Computation, 2011 log 𝑝𝑡 𝒙𝑡 |𝒙0 = − 𝒙𝑡 − ത 𝛼𝑡 𝒙0 2 2 1 − ത 𝛼𝑡 + 𝑐𝑜𝑛𝑠𝑡. 𝛁𝒙𝑡 log 𝑝𝑡 𝒙𝑡 |𝒙0 = − 𝒙𝑡 − ത 𝛼𝑡 𝒙0 1 − ത 𝛼𝑡 = − 𝝐 1 − ത 𝛼𝑡 𝑝𝑡 (𝒙𝑡 |𝒙0 ) ≔ 𝑁 𝒙𝑡 ; ത 𝛼𝑡 𝒙0 , (1 − ത 𝛼𝑡 )𝑰 より 𝒙𝑡 = ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐 より = 𝑝𝑡 (𝒙𝑡 |𝒙0 )𝑝0 𝒙0 𝑝𝑡 𝒙0 , 𝒙𝑡 & 𝝐 への変数変換 → 𝒔𝜽 𝒙, 𝑡 = − 𝝐𝜽(𝒙,𝑡) 1−ഥ 𝛼𝑡 とすると拡散モデルの学習と同じ! ※ p5を参照
  22. • 実データ𝒙0 から直接𝒙𝑡 を求めるために式変形 拡散過程の再定義 24 拡散過程 𝒙𝑡 = 1

    − 𝛽𝑡 𝒙𝑡−1 + 𝛽𝑡 𝝐 = 1 − 𝛽𝑡 ( 1 − 𝛽𝑡−1 𝒙𝑡−2 + 𝛽𝑡 𝝐′) + 𝛽𝑡 𝝐 = 1 − 𝛽𝑡 1 − 𝛽𝑡−1 𝒙𝑡−2 + 1 − (1 − 𝛽𝑡 )(1 − 𝛽𝑡−1 )𝝐′′ = … = ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐 ガウス分布に従う ノイズをまとめた ここで,𝛼𝑡 = 1 − 𝛽𝑡 , ത 𝛼𝑡 = ς𝑠=1 𝑡 𝛼𝑠 時刻tに残る 実データの強度 時刻tのデータ = 実データとノイズの重み付き和 p3の定義より
  23. • 順方向の拡散過程 • 逆方向の拡散過程 逆拡散過程の定式化 (1/3) 25 逆拡散過程 𝑞 𝒙𝑡

    𝒙𝑡−1 ≔ 𝑁 𝒙𝑡 ; 1 − 𝛽𝑡 𝒙𝑡−1 , 𝛽𝑡 𝑰 𝑞 𝒙𝑡−1 𝒙𝑡 , 𝒙0 = 𝑁 𝒙𝑡−1 ; ෥ 𝝁𝑡 (𝒙𝑡 , 𝒙0 ), ෨ 𝛽𝑡 𝑰 逆方向の条件付き確率もガウス分布となる[*] (ただし,𝛽𝑡 が小さい場合に限る) 𝒙𝑡−1 1 − 𝛽𝑡 𝒙𝑡−1 𝛽𝑡 𝒙𝑡 ෥ 𝝁(𝒙𝑡 , 𝒙0 ) ෨ 𝛽𝑡 [*] W. Feller, Springer, 1949 ※ ෥ 𝝁𝑡 , ෨ 𝛽𝑡 は導出可能 式を扱いやすくするために 𝒙0 を導入 ※ Not 逆拡散過程
  24. • 逆拡散過程 • ガウス分布の平均と分散をモデルで推定すれば良い • 元論文ではさらに単純化して平均だけ推定 • 𝜎𝑡 2 =

    𝛽𝑡 or ෨ 𝛽𝑡 (どちらでも精度はそこまで変わらない) • 𝚺𝜃 (𝒙𝑡 , 𝑡)を学習するモデルも提案されている (おまけで解説) 逆拡散過程の定式化 (2/3) 26 逆拡散過程 𝑝𝜃 𝒙𝑡−1 𝒙𝑡 = 𝑁 𝒙𝑡−1 ; 𝝁𝜃 (𝒙𝑡 , 𝑡), 𝚺𝜃 (𝒙𝑡 , 𝑡) 𝑝𝜃 𝒙𝑡−1 𝒙𝑡 = 𝑁 𝒙𝑡−1 ; 𝝁𝜃 (𝒙𝑡 , 𝑡), 𝜎𝑡 2𝑰 逆方向の拡散過程の平均෥ 𝝁𝑡 をモデルで推定した平均𝝁𝜃 で近似 損失関数の導出 で登場
  25. • 平均෥ 𝝁𝑡 (𝒙𝑡 , 𝒙0 )はノイズ付与データ𝒙𝑡 と付与ノイズ𝝐を使うと次式となる • 推定平均𝝁𝜃

    𝒙𝑡 , 𝑡 を次式と書くとモデルはノイズ𝝐𝜃 の推定を行えば十分 逆拡散過程の定式化 (3/3) 27 逆拡散過程 ෥ 𝝁𝑡 (𝒙𝑡 , 𝒙0 ) = 1 𝛼𝑡 𝒙𝑡 − 𝛽𝑡 1 − ത 𝛼𝑡 𝝐 𝝁𝜃 𝒙𝑡 , 𝑡 = 1 𝛼𝑡 𝒙𝑡 − 𝛽𝑡 1 − ത 𝛼𝑡 𝝐𝜃 (𝒙𝑡 , 𝑡) 拡散過程の付与ノイズ𝝐をモデルの推定ノイズ𝝐𝜃 (𝒙𝑡 , 𝑡)で近似
  26. • 負の対数尤度−𝐥𝐨𝐠𝒑𝜽 (𝒙𝟎 )の最小化(=対数尤度の最大化) 損失関数𝓛𝐃𝐌 の導出 (1/4) 28 − log

    𝑝𝜃 𝒙0 = −log න 𝑝𝜃 𝒙0:𝑇 d𝒙1:𝑇 = −log න 𝑞 𝒙1:𝑇 |𝒙0 𝑝𝜃 𝒙0:𝑇 𝑞 𝒙1:𝑇 |𝒙0 d𝒙1:𝑇 ≤ − න 𝑞 𝒙1:𝑇 |𝒙0 log 𝑝𝜃 𝒙0:𝑇 𝑞 𝒙1:𝑇 |𝒙0 d𝒙1:𝑇 = 𝔼𝑞 𝒙1:𝑇 𝒙0 log 𝑞 𝒙1:𝑇 𝒙0 𝑝𝜃 𝒙0:𝑇 (𝒙0 に対応する過程𝒙1:𝑇 について展開) (𝒙0 に対応する過程𝒙1:𝑇 の分布𝑞 𝒙1:𝑇 |𝒙0 を かけて割る) (イェンセンの不等式: log𝔼𝑞 [𝑉] ≥ 𝔼𝑞 [log𝑉]) 𝒙0 にノイズを付与した過程𝒙1:𝑇 を作り平均値をとる
  27. • 𝑞 𝒙1:𝑇 𝒙0 ≔ ς𝑡=1 𝑇 𝑞 𝒙𝑡 𝒙𝑡−1

    とベイズの定理を使うことで, 各時刻に対応する損失関数を獲得 損失関数𝓛𝐃𝐌 の導出 (2/4) 29 ※細かい導出過程は元論文へ!! log 𝑞(𝒙1:𝑇 |𝒙0 ) 𝑝𝜃 (𝒙0:𝑇 ) = 𝐷KL (𝑞 𝒙𝑇 𝒙0 ||𝑝𝜃 𝒙𝑇 ) − log𝑝𝜃 𝒙0 𝒙1 + ෍ 𝑡=2 𝑇 𝐷KL (𝑞(𝒙𝑡−1 |𝒙𝑡 , 𝒙0 )||𝑝𝜃 𝒙𝑡−1 𝒙𝑡 ) ①定数 (t=T) ②計算可能な量 (t=1) ③ガウス分布同士のKLダイバージェンス (t=2~(T-1)) 任意の時刻tで独立して損失関数を計算可能 (𝐷KL (𝑞| 𝑝 ≔確率分布𝑞と𝑝のKLダイバージェンス)
  28. • ③ガウス分布同士のKLダイバージェンス (t=2~(T-1))に注目 損失関数𝓛𝐃𝐌 の導出 (3/4) 30 𝐷KL (𝑞(𝒙𝑡−1 |𝒙𝑡

    , 𝒙0 )||𝑝𝜃 𝒙𝑡−1 𝒙𝑡 ) = 1 2𝜎𝑡 2 | ෥ 𝝁𝑡 𝒙𝑡 , 𝒙0 − 𝝁𝜃 𝒙𝑡 , 𝑡 |2 = 𝛽𝑡 2 2𝜎𝑡 2 1 − 𝛽𝑡 1 − ത 𝛼𝑡 ||𝝐 − 𝝐𝜃 (𝒙𝑡 , 𝑡)||2 = 𝛽𝑡 2 2𝜎𝑡 2 1 − 𝛽𝑡 1 − ത 𝛼𝑡 ||𝝐 − 𝝐𝜃 ( ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐, 𝑡)||2 (ガウス分布同士のKLダイバージェンス&定数項を削除) (p17: 平均からノイズへの書き換え) (p12: 時刻tのデータ=実データとノイズの重み付き和)
  29. • 各時刻の係数を無視してまとめると,シンプルな損失関数が得られる • ②計算可能な量 (t=1)は近似した形で損失関数に含まれている • 係数の無視は理論的な正当性はないが,経験的に性能がいい 損失関数𝓛𝐃𝐌 の導出 (4/4)

    31 ℒDM 𝒙0 , 𝜃 ≔ 𝔼𝑡~𝑈 1,𝑇 ,𝝐~𝑁 𝟎,𝑰 ||𝝐 − 𝝐𝜃 ( ത 𝛼𝑡 𝒙0 + 1 − ത 𝛼𝑡 𝝐, 𝑡)||2 ノイズを付加したデータから推定したノイズ 付加したノイズの推定誤差 対数尤度の最大化からモデルが推定したノイズの2乗誤差最小化に帰着