Elucidated Diffusion Models
Introduction
扩散模型的火热吸引了众多研究者,相关工作百花齐放,但这样繁荣的景象也就带来了一个问题——每篇论文都有一套自己的体系,缺乏一个统一的框架;并且扩散模型的各个组件相互耦合,不便于单独研究。终于,NVIDIA 的研究人员在论文[1]中详细阐述了扩散模型的设计空间。其实扩散模型无非由以下几部分构成:
- Formulation:扩散和去噪过程可以用 SDE/ODE 描述,方程的系数有多种选取方案;
- Sampling:可以自定义采样器种类、时间步离散化方式和采样轨迹;
- Training:可以将网络参数化为不同形式,网络的输入输出可以进行各种预处理,可以调整各时间步权重,可以运用各种训练技巧。
将这些部分解耦并分别研究后,研究者将各部分的最优实践组合起来,提出了 EDM,达到了扩散模型的 SOTA.
Formulation
在扩散模型的SDE与ODE描述一文中我们看到,Song 等人[2]通过将 DDPM 和 SMLD 连续化,指出扩散过程可以描述为如下的 SDE 形式:
推导过程:由
根据论文[2],
其中
进一步地,注意到
代入
为了获得 score function
于是:
生成过程(采样过程)就是使用数值方法迭代求解该 ODE 的过程。
Deterministic Sampling
ODE Solver
采样器,即 reverse SDE 或 probability flow ODE 的数值求解器,是扩散模型的一个重点研究方向。采样器用迭代前进的方式近似 SDE/ODE 真实的轨迹,因此每一步都会带来截断误差。越高阶的采样器允许人们用越少的迭代步数达到相同的效果。然而,高阶采样器的每一步迭代往往也需要更多次的模型推断(即神经网络的前向传播),而扩散模型的时耗基本都是前向传播造成的,所以在扩散模型的语境下,并不一定是越高阶的采样器就越高效。事实上正因如此,人们倾向于用 NFE (Neural Function Evaluation),即网络前向传播次数而非求解器的采样步数作为采样时间来比较不同采样器的效率。
最简单常用的 ODE 求解器无疑是 Euler 法,即在每一个时间步上用矩形近似积分,这是一个一阶求解器,即若设步长为
如果去掉 6-8 行则 Heun 方法退化为 Euler 法,即
Discretization
除了 ODE 求解器的算法以外,还有一个因素会影响采样质量——时间步离散化的方式,即如何选取序列
Trajectory
ODE 解的轨迹形状由
它们对应的 noise schedule 分别为:
- VP ODE:
- VE ODE:
- DDIM:
作者认为,DDIM 的设置最好,因为对任意的
Stochastic Sampling
确定性采样有非常多的好处,例如可以反向采样 ODE 从而将图像转换回它的隐变量表示,但是其采样质量往往不如随机性采样。
可以证明,ODE
基于上述理论,当取
其中 4、5、6 行在执行 Euler 步前添加一定量的噪声来模拟 Langevin dynamics 过程。这不是一个通用的 SDE 求解器,其正确性保证来源于 Langevin 步在理论上是保持边缘分布不变的,因此可以在 ODE 求解过程中引入一些 Langevin 步。不过,由于模型具有预测误差,Langevin 步本身也不是精确的,因此作者对引入的噪声做了限制,即上图中
Training
Network
在实际训练时,我们不一定用神经网络直接对
Loss weighting
为了平衡损失函数的各项,取
Augmentation
当在小数据集上训练时,扩散模型有可能会过拟合。为此,受到 GANs 相关文献的启发,作者在训练时采用了一系列数据增强。为了避免模型生成增强的结果,作者在训练时将增强信息作者为条件给到网络
Unified Framework
在作者的统一框架下,原来的各个经典扩散模型对应的设置如下表所示:
下面我们推导一下表中 Sampling 一块的设置。
VP Sampling
VP SDE 是 DDPM 的连续化版本,对应
VE formulation
VE SDE 是 SMLD 的连续化版本,对应
iDDPM + DDIM
在 DDIM与加速采样一文中我们看到,DDIM 可以写作如下的 ODE 形式:
说实话这里没看懂作者的脑回路,感觉反而弄得更复杂了。
References
- Karras, Tero, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion-based generative models. Advances in Neural Information Processing Systems 35 (2022): 26565-26577. ↩︎
- 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. ↩︎
- Kingma, Diederik, Tim Salimans, Ben Poole, and Jonathan Ho. Variational diffusion models. Advances in neural information processing systems 34 (2021): 21696-21707. ↩︎
- Salimans, Tim, and Jonathan Ho. Progressive distillation for fast sampling of diffusion models. arXiv preprint arXiv:2202.00512 (2022). ↩︎
- Diffusion Models 基础知识总结回顾 - 董子斌的文章 - 知乎 https://zhuanlan.zhihu.com/p/682151286 ↩︎