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

Diffusion Models

Diffusion Models

kento sugimoto

August 30, 2022
Tweet

More Decks by kento sugimoto

Other Decks in Programming

Transcript

  1. Intro Diffusion Modelを詳しく知りたい(数ヶ月前の自分) • 少し前からDiffusion Modelという言葉をよく耳にする • 詳しくはわからんが、ノイズを加えてゴニョゴニョしているらしい • VAEは前に勉強したことあるけど、それの進化系?

    • 論文は読んだけど、数式だらけでよく分からなかった • 噂によると、GANを超えたらしい • 右下のアインシュタインのイラストを見たことがある • 話題のDALL·Eを詳しく知りたい 2
  2. Intro Diffusion Modelを詳しく知りたい(数ヶ月前の自分) • 少し前からDiffusion Modelという言葉をよく耳にする • 詳しくはわからんが、ノイズを加えてゴニョゴニョしているらしい • VAEは前に勉強したことあるけど、それの進化系?

    • 論文は読んだけど、数式だらけでよく分からなかった • 噂によると、GANを超えたらしい • 右下のアインシュタインのイラストを見たことがある • 話題のDALL·Eを詳しく知りたい 3 今回はDiffusion Modelの説明・数式の導出にフォーカスします • 時間の都合上、GANとの比較・アインシュタインの話、 DALL·E 2の話は今回はしません • DALL·EなどのText to Imageについては希望があれば、またの機会にお話しようと思います。
  3. Generative model (Statistical modeling) • 手元の観測データxから隠れ変数zを推論する(pθ(z|x)) • pθ(z|x)を事後分布(Posterior)とすると、ベイズルールから以下のように書ける ◦ pθ(x|z)は尤度(Likelihood)

    ◦ pθ(z|x)は事前分布(Prior) ◦ pθ(x)は周辺尤度(Marginal likelihood) • ただし、実際には分母の積分計算は解析的に解けない( intractable) 4
  4. • 観測データx0と「同次元」の隠れ変数x1:Tにより、x0の生成過程をモデリング • 隠れ変数の遷移はマルコフ連鎖(今の状態は直前の状態にのみ依存)を仮定 ◦ foward process .. 観測データにノイズを加えるプロセス( noising)

    ◦ reverse process .. ノイズからデータを復元するプロセス( denoising) Diffusion (Probabilistic) Model 8 Improving Diffusion Models as an Alternative To GANs, Part 2 | NVIDIA Technical Blog forward process reverse process
  5. Diffusion (Probabilistic) Model Diffusion (Probabilistic) Modelの論文として有名なものは以下の2本 1. Deep Unsupervised Learning

    using Nonequilibrium Thermodynamics → Diffusion Modelのオリジナルの論文 2. Denoising Diffusion Probabilistic Models → 1.を発展させた論文(モデルをシンプルにして実装を容易にし、性能向上を実現) ◦ 2.が最近のDiffusion Modelの進化を押さえる上で重要となる論文 ◦ 2.の論文を理解することで Diffusion Modelの基本的なアイデアを押さえることができる (本スライドも2.の内容の説明を中心に書かれている) ◦ Backgroundなどより深く理解したい場合は 1.も読むべき 9
  6. Reverse process • ノイズからデータを復元するプロセス ◦ foward processで生成されたノイズxTから元の観測データ x0を復元する ◦ xt-1はパラメータμθ・Σθと前の状態xtをパラメータとしたガウス分布

    ◦ 観測データx0の尤度を最大化するような遷移過程を学習する (オリジナルの観測データに近づけることを目的として学習を行う) 12
  7. Short summary • foward process ◦ 観測データにノイズを加えるプロセス ◦ パラメータβをステップ毎に与えていき、完全なノイズデータを生成する •

    reverse process ◦ ノイズからデータを復元するプロセス ◦ 観測データに近づけることを目的として学習を行う 13 [2006.11239] Denoising Diffusion Probabilistic Models
  8. Training • forward processはq(xt-1|xt)なので、反転させた分布はq(xt-1|xt) • これはforward processの事後分布 • reverse processのpθ(xt-1|xt)をforward

    processの事後分布q(xt-1|xt)に近づける • 実際は特定の観測データx0で条件付けた場合のforward processの事後分布に近似させたいの で、以下の最小化を目指す 18 foward process
  9. Derivation • 第一項(LT) ◦ 論文ではforward processのパラメータβは固定[Ho. et al. 2020] ◦

    p(xT)はN(0,I)のガウス分布 →learnableなパラメータを含まないので定数として扱う 28 [2006.11239] Denoising Diffusion Probabilistic Models
  10. Derivation • 第二項(Lt-1) ◦ Lt-1は2つの分布(forward processの事後分布とreverse process)の違いそのもの ◦ 2つの分布はいずれもガウス分布であり、 KLダイバージェンスは解析的に計算できる

    ◦ reverse processのvarianceを固定する場合、varianceの違いはuncontrollable (learnableなパラメータを持たないので、 lossとして考慮しても意味はない) ◦ reverse processのmeanが唯一のlearnableなパラメータであり、分布間の KLダイバージェンスの計算で はなく、reverse processのmeanを最適化するようlossを設計すれば良い (reverse processのmeanをforward processの事後分布のmeanに近づける) 31 Deriving KL Divergence for Gaussians
  11. Summary Diffusion Model • 生成過程の隠れ変数をマルコフ連鎖で繋いだグラフィカルモデル • forward processを通じて、元のデータを徐々に「破壊」する(ノイズを加える) • reverse

    processを通じて、破壊されたデータを復元する工程を「学習」する • 復元工程を深層学習で正確に実現することで、生成モデルとしての高い性能を示した 41 Ayan Das · An introduction to Diffusion Probabilistic Models
  12. 参考 [Blog] • Diffusion Models as a kind of VAE

    | Angus Turner • What are Diffusion Models? | Lil'Log • The Annotated Diffusion Model [YouTube] • Diffusion Models | Paper Explanation | Math Explained • What are Diffusion Models? 42 どれも分かりやすかったので、これらを参考に自身で式を追ってみることをオススメします