扩散模型的SDE与ODE描述
Brief Introduction
我们已经用两篇文章从VAE到DDPM、Score-Based Generative Models 分别介绍了 DDPM 和 SMLD,并说明了它们的本质其实是相同的。进一步,论文[1]把它们扩展到了连续时间情形并使用随机微分方程(Stochastic Differential Equations, SDE)描述。在该视角下,DDPM 和 SMLD 是两个特殊形式 SDE 的离散化。DDPM / SMLD 的加噪过程对应 forward SDE,去噪过程对应 reverse SDE,解 reverse SDE 的过程就是生成过程。除了使用通用的 SDE 数值解法以外,作者根据问题特点提出了 Predictor-Corrector Samplers,统一并扩展了 DDPM / SMLD 的去噪过程。作者还构造了与 SDE 具有相同边缘分布的 ODE,从而得到确定性生成过程。
DDPM Recap
加噪过程(前向过程):DDPM 将前向过程构建为一个离散时间马尔可夫链
去噪过程(逆向过程):去噪过程是前向过程的逆向,若以 score function 为目标构建模型
SMLD Recap
加噪过程:SMLD 首先定义了从原数据到以
损失函数:由在每个 noise scale 上做 denoising score matching 可推得:
Forward SDE
DDPM 和 SMLD 都是在离散时间点扩散的,倘若将时间连续化,那么我们就能够得到对应的 SDE 描述。为了连续化,我们只需要将
DDPM: VP SDE
为了方便叙述,定义
维纳过程(布朗运动)直观解释
考虑一个马尔可夫随机过程
这就是
论文作者称
SMLD: VE SDE
类似地,设
General Form
上文我们分别推导了 DDPM 和 SMLD 对应的 SDE 形式。更一般地,对于一个连续时间的扩散过程
- VP SDE:
- VE SDE:
因此我们在引言里说,DDPM 和 SMLD 分别是两个特殊形式 SDE 的离散化。
Reverse SDE
同 DDPM 类似,forward SDE 将数据
记
我们又看到了老朋友 score function
在训练好模型之后,用模型替换
Solving the Reverse SDE
为了生成数据,我们随机采样
Numerical SDE Solvers
存在一些广泛适用的 SDE 数值解法,例如 Euler-Maruyama 和 stochastic Runge-Kutta,它们分别是求解 ODE 的 Euler 法和 Runge-Kutta 法在 SDE 上的扩展。
Euler 法回顾(摘自《计算方法》课程笔记)
对于初值问题:
Euler 法是最简单的数值求解方法之一。考虑在
如果用更准确的梯形公式而非矩形来近似积分,可得:
特别地,如果只迭代一次,称作改进 Euler 法:
Runge-Kutta 法回顾(摘自《计算方法)课程笔记)
理论上,
我们可以将 Euler 法写作:
Euler-Maruyama 法和 Euler 法类似,只需要从初值开始,选定步长反复迭代即可。具体而言,对于
Reverse Diffusion Samplers
除了使用 Euler-Maruyama 等通用 SDE solver 以外,我们还有其他求解 reverse SDE
Predictor-Corrector Samplers
与一般的 SDE 不同的是,我们现在有一个 score model
Probability Flow ODE
上文中,我们已经构建了连续时间扩散模型的 SDE 描述。宋飏等人提出,对于任一 SDE 描述的扩散过程,都存在一个 ODE 描述的确定性过程与之有相同的边缘分布
将 score model 代入上式得:
References
- Song, Yang, Jascha Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-Based Generative Modeling through Stochastic Differential Equations. In International Conference on Learning Representations. 2020. ↩︎
- Yang Song. Generative Modeling by Estimating Gradients of the Data Distribution. https://yang-song.net/blog/2021/score/ ↩︎
- 扩散模型与能量模型,Score-Matching和SDE,ODE的关系 - 中森的文章 - 知乎 https://zhuanlan.zhihu.com/p/576779879 ↩︎
- 苏剑林. (Aug. 03, 2022). 《生成扩散模型漫谈(五):一般框架之SDE篇 》[Blog post]. Retrieved from https://kexue.fm/archives/9209 ↩︎
- 苏剑林. (Aug. 08, 2022). 《生成扩散模型漫谈(六):一般框架之ODE篇 》[Blog post]. Retrieved from https://kexue.fm/archives/9228 ↩︎
- Wiener Process and Ito's Lemma - 无情小超超的文章 - 知乎 https://zhuanlan.zhihu.com/p/148808235 ↩︎
- Score-based Generative Models总结 - o00O00o的文章 - 知乎 https://zhuanlan.zhihu.com/p/583666759 ↩︎
- Tanmaya Shekhar Dabral. Stochastic Differential Equations and Diffusion Models. https://www.vanillabug.com/posts/sde/ ↩︎
- Anderson, Brian DO. Reverse-time diffusion equation models. Stochastic Processes and their Applications 12, no. 3 (1982): 313-326. ↩︎