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

[Journal club] Denoising Diffusion Probabilisti...

[Journal club] Denoising Diffusion Probabilistic Models

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. Denoising Diffusion Probabilistic Models Jonathan Ho, Ajay Jain, Pieter Abbeel,

    UC Berkeley, NeurlPS 2020 慶應義塾大学 杉浦孔明研究室 B4小松 拓実 Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in Neural Information Processing Systems 33 (2020): 6840-6851.
  2. 3 背景 : Diffusion Probabilistic Models[Jascha+, ICML15] ▪ Diffusion Probabilistic

    Models データにnoiseを繰り返し足すことで単純な分布(Gaussianなど)に 変換する過程(拡散過程)を考え、その逆変換(逆拡散過程) によって、データを生成する手法 (具体的には提案手法のはじめに)
  3. 4 関連研究 : 深層生成モデルは高品質かつ多様な画像生成は困難である 深層生成モデル 概要 VAEs VAE[D.P.Kingma+, ICLR2014] Encoder-Decoderと変分法を利用した

    潜在変数モデル GANs GAN[GoodFellow+, NIPS14] 最尤推定を用いず、生成器と識別器を競 合させることで学習を行う 自己回帰モデル PixelRNN[A. Oord+, ICML16] 過去の出力結果を条件に新しいデータを 次々に出力するモデル 正規化フロー NICE[L.Dinh+, ICLR15] 簡単な分布に対し、可逆変換を繰り返し適 用することで目的の分布を得るモデル VQ-VAE-2[Ali+, NeurIPS19] Big GAN[Andrew+, ICLR19] Glow[Diederik+, NeurIPS18]
  4. 5 提案手法 : “拡散過程”はforwardとreverseに分けられる ⇨ データからノイズへの変換の過程 ▪ forward process (拡散過程(という):

    diffusion process) ▪ reverse process (逆拡散過程) ⇨ ノイズからデータへの変換の過程 : モデルを使用
  5. 6 提案手法 : 拡散過程はマルコフ連鎖に基づくノイズ付加 ・各時刻におけるノイズ付加 𝒙! = 1 − 𝛽!𝒙!"#

    + 𝛽!𝝐 𝒙!: 時刻tのデータ 𝒙!"#: 時刻t-1のデータ 𝝐: 標準正規分布に従うノイズ ▪ マルコフ連鎖を仮定 ⇨ 次の状態は現在の状態にのみ依存 ▪ 条件付き確率の形に変形 同時分布 𝜷𝒕: ノイズの強さ
  6. 8 提案手法 : 逆拡散過程の定義 ▪ 逆拡散過程 ⇨ 逆方向の平均と分散をモデルで推定すればよい 𝛽が十分小さいとき、逆方向の条件付き確率もガウス分布と近似してよい 平均

    分散 生成モデルとしての学習の目的 : 最終的な画像の尤度の最大化 ⇨ を(実際には下限を)最大化することが目的となる [Jascha+, 2015]
  7. 10 提案手法 : 学習方法 – 尤度の導出② – ▪ “負の”対数尤度の上限の導出 :

    VAEと似た式変形 = = … (appendix(a)参考) = 直感的には時刻ごとに展開 最初(𝐿! ): 定数 最後(𝐿" ): 計算可能 間(𝐿#$% ): ガウス分布同士のKL ここらへんから実際の提案手法
  8. 提案手法 : 学習方法 – 計算結果の意味 – ▪ “負の”対数尤度の上限の導出 : VAEと似た式変形

    = = 最初(𝐿! ): 定数 最後(𝐿" ): 計算可能 間(𝐿#$% ): ガウス分布同士のKL 定数項を無視すれば ガウス分布間(真の分布と予測)の KLダイバージェンスが 小さくなるように学習を行う -- q: 真のdenoise結果 -- p: 推測したdenoise結果 = 11
  9. 提案手法 : 学習方法 – 分散を固定化した結果学習が容易に – ▪ KLを求めるために、pを再考する -- 上式:

    平均と分散をモデルで推定 -- 分散を時刻に依存する定数で固定する -- とする ※𝜎" #は𝛽"にするとよい(実験的に) 12
  10. 提案手法 : 学習方法 – ガウス分布間のKLを計算 – ▪ KLの項をさらに計算 ガウス分布間のKL =

    真のdenoise結果の平均 モデルが推定したdenoise結果の平均 この項を損失として学習をおこなう -- denoise結果の誤差の二乗和を最小化 ⇨ Denosing Diffusion Probabilistic Models (DDPM) という 13
  11. 提案手法 : 学習方法 – 実際は付加されたnoiseを推定 – ▪ denoise -> noise推定へ

    = noise付加された画像 ↑から推定した付加された分のnoise 対数尤度の最大化を 真のnoiseと推定したnoiseの誤差の最小化へと言い換えた ⇨ モデルはnoiseを含んだ画像からnoiseを推測する appendix(b) 実際には係数も削除 実験的に精度が良かったため 14
  12. 15 実験設定 ▪ ハイパーパラメータ -- ステップ数 : 𝑇 = 1000

    -- 時刻間の分散パラメータ: 𝛽% = 10$&, 𝛽! = 0.02 -- ↑その間は線形で変換 -- U-Netベースのモデル ▪ データセット -- CIFAR10 -- LSUN -- CelebA-HQ 256x256
  13. 16 定量的結果 : GANより少し劣るが同程度の性能を達成 ▪ 評価指標 -- IS: Inception Score

    -- FID: Fréchet Inception Distance ▪ 拡散モデル同士の比較 -- 損失関数の効率化により精度向上
  14. 17 定量的結果 : GANより少し劣るが同程度の性能を確立 ▪ 評価指標 -- IS: Inception Score

    -- FID: Fréchet Inception Distance ▪ 他手法との比較 -- GANよりかは多少劣る (この論文では)
  15. 22 Appendix : 式の詳細 ▪ (b) denoise -> noise 𝜇'をこれに近づける

    これを損失関数に代入して整理すると…
  16. 24 Appendix : 参考文献 (1) SONY解説動画 https://www.youtube.com/watch?v=G4tGMueM6lg (2) SONY解説動画https://www.youtube.com/watch?v=10ki2IS55Q4 (3)

    Zenn “What are Diffusion Models?” https://zenn.dev/nakky/articles/09fb1804001ff8 (4) 各評価指標の解説記事 : https://qiita.com/kzykmyzw/items/5c4a6c2ee19ddd59e810#f r%C3%A9chet-inception-distance-fid-2