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

Diffusion Models

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Diffusion Models

Avatar for kento sugimoto

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 どれも分かりやすかったので、これらを参考に自身で式を追ってみることをオススメします