この記事は JuliaLang Advent Calendar 2022 14日目の記事です。
最近趣味で、Lux.jl という Julia 製のニューラルネットのフレームワークを使って拡散モデルを実装していた。
yng87/DDIM.jl
Contribute to yng87/DDIM.jl development by creating an account on GitHub.
学習データには Oxford 102 flowers dataset という花のデータセットを使っていて、うまく学習できると以下のような画像が生成できる
ぼんやりと過ごしているうちに、世間では DALL·E 2 や Imagen のような高性能の生成モデルが話題になっていました。いつの間にか生成部分にGANではなく、diffusion model というものが使われるようになっていたのも知りました。
このままでは時代に取り残されてしまうと思い diffusion model の草分けと思われる論文の一つarXiv:2006.11239 を理解しようと読み始めたのですが、式の導出が思ったより大変だったので過程をまとめておきたい、というのがこの記事の趣旨です。
Denoising Diffusion Probabilistic Models
We present high quality image synthesis results using diffusion probabilisticmodels, a class of latent variable models inspired by considerations fromnonequilibrium thermodynamics...