原论文标题:Denoising diffusion probabilistic models

背景

动机

这篇文章主要的动机,就是在Diffusion Probabilistic Models1基础上,将对样本的预测转换为对噪声的预测,并简化训练目标,让其能生成高质量图像。

贡献

  • 改进了DDPM:简化训练目标,使训练更加稳定,生成的图像质量更高。
  • 建立等价性:揭示了特定参数下的DPM,其训练目标等价于多噪声级别的去噪分数匹配 (denoising score matching over multiple noise levels),其采样过程等价于退火朗之万动力学 (annealed Langevin dynamics)。(其实就是说和Yang Song的NCSN模型2等价)

方法

image.png

回顾DPM

记初始样本为随机向量,DPM定义了如下的forward/diffusion process:

其中是不同方差的高斯噪声。由于未知,那么反向转换是intractable的。因此DPM设计去近似,因此定义了如下的reverse process(从开始的、具有高斯转换的马尔科夫链):

这么定义forward/reverse process的背后原因之一:对于任一复杂的分布,理论上都能找到一个复杂函数将其映射到高斯分布上;那么生成样本时,可以在这个高斯分布上采样,然后通过这个复杂函数的逆操作来得到对应样本。DPM定义的markov chain就是这样的复杂函数的一种选择。

根据公式(2),不难推导出:

其中,这里使用reparameterization trick可以得到:(后文会用到此结论,公式4的推导可参考《生成扩散模型漫谈(一):DDPM = 拆楼 + 建楼》)。

求解就是优化下面这个variational bound(变分下界):

公式(3)推导

其中的中间公式:

第一项在VAE里称为“证据”(表述数据集的统计信息),第二项称为evidence lower bound (ELBO)。在这篇文章里似乎也称为variational lower bound (VLB)。

公式(3)可展开简化为:

因此得到公式(5):

训练时,每次迭代将优化公式(5)的随机某一项。

虽然得到了公式(5),但是需要考察每一项是否可处理(tractable,是否能得到解析式或被神经网络建模)。

: 其中由被参数化的模型所给出,因此可处理。

: 由公式(4)可得,而。因此也是可处理。

: 由模型计算,而可由贝叶斯公式导出:

公式(6)推导

因此也是可处理的,那么公式(5)所定义的损失函数是可以优化的。

DPM简化→DDPM

DPM的实现方式具有很大的自由度,论文作者们进行了如下的简化。

:

作者将固定为常量,因此没可学习参数,也成为了常量,训练中可忽略。

:

主要是讨论中的和的选取。

作者设定,作者的实验表明,令以及具有相似的效果。并且这两种选择对应于为极端的两种分布(正态分布和狄拉克分布)下的最优选择(分别reverse process中具有coordinatewise unit variance的数据样本的熵上界和下界)。实验中,作者选择了第一种(第二种不就是公式(7)分布的方差吗?为啥reverse process得到的数据样本分布会是下界呢?留坑,有时间了探索)。

对于的选择:将代入公式(5)中的可得到:

公式(8)推导

由公式(8)可见,的选择最直观的条件是要能预测后验均值。那么将公式(4)重参数后的表达式以及公式(7)代入公式(8)可得:

公式(10)表明应预测,因此可按照的形式来参数化:

我的理解是和均值都固定了,那么这两个分布靠近的话,近似为期望相等,那么他们的期望应该有类似的表达形式。

按照上述定义的,reverse process中,采样就等价于计算:

将公式(11)代入到公式(10),可进一步得到简化后的训练目标:

可证3公式(12)和Yang Song提出的NCSN中的损失(原文公式(2))等价VDM等价性证明 ,所以DDPM的训练目标等价于多噪声级别的去噪分数匹配,其采样过程等价于退火朗之万动力学。

综上,公式(12)将对-prediction最终转换为了-prediction。
这样做的好处可能有:由于的值域范围大,很容易导致训练不稳定,而相对来说的训练更稳定,实验结果也证明了这一点。

:

是连续数据,而是离散数据(从缩放到),因此不能按照公式(11-1)来从得到。 作者设计了如下的离散化方式:

其中为数据维度,代表维度索引。计算时,按照公式(13)来计算似然。

最终简化 作者实验中发现去除公式12中范数前的权重会达到更好的效果:

作者给出的理论解释是:去除权重后,将低噪声下(低值)的权重变小了,模型更关注更难(高值)任务的学习,从而得到更好的学习效果。

思考:

  • 越大越好吗?(扩散充分性,单步学习难度,离散过程近似连续过程,计算效率)
  • 变化规律有可能对结果有影响吗?

参考读物

Footnotes

  1. Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International Conference on Machine Learning, pages 2256–2265, 2015. ↩

  2. Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. In Advances in Neural Information Processing Systems, pages 11895–11907, 2019. ↩

  3. Calvin Luo. Understanding diffusion models: a unified perspective. 2022. arXiv:2208.11970. ↩