筆記來源 [DeepBayes2019]: Day 5, Lecture 3. Langevin dynamics for sampling and global optimization 前半小時. 非常精彩!
粒子 $x$ follow Langevin dynamics 的話: $$x-x'=-\nabla U(x')dt+\mathcal{N}(0,\sigma^2dt)$$ $x$ 隨時間的機率分布 $p_t(x)$ 會滿足 Fokker-Planck equation 這種 Stochastic Differential Equation (SDE) 的形式:
$$\frac{\partial }{\partial t}p_t(x)=\nabla p_t(x)^T\nabla U(x)+p_t(x)\text{div}\nabla U(x)+\frac{1}{2}\sigma^2\nabla^2p_t(x)$$ 或這麼寫也可以 (用 $\text{div}(p\vec u)=\nabla p^T\vec u+p\text{div}(\vec u)$ 公式, 更多 divergence/curl 的微分[參考這, or YouTube])
$$\frac{\partial }{\partial t}p_t(x)=\text{div}(p_t(x)\nabla U(x))+\frac{1}{2}\sigma^2\nabla^2p_t(x)$$ 而從 F-P equation 我們可以發現最後 $t\rightarrow\infty$ 時某種設定下會有 stationary 分佈.
而如果將要採樣的目標分佈 $p(x)$ 設定成這種 stationary 分佈的話.
由於是 stationary 表示就算繼續 follow Langevin dynamics 讓粒子 $x$ 移動 (更新), 更新後的值仍然滿足目標分佈 $p(x)$, 因此達到採樣效果!
而這也是 Denoising Diffusion Probabilistic Models (DDPM) 做採樣時的方法.
接著詳細記錄 Langevin dynamics, Fokker-Planck equation 推導, 以及 stationary 分佈和採樣方法.
如果讀者知道 Continuity equation 的話, 應該會發現與 F-P equation 非常相似. 它們的關聯可以參考 “Flow Matching for Generative Modeling” 論文的 Appendix D.