在 DMs[1] DPM 中,模型需要在每个时间步预测 来逼近 ,并以此来计算出 时间步逆向过程的均值、方差,从而采样得到 。虽然整个过程循序渐进地经过了 步,以得到最终的输出 ,但模型预测的内容却不是随时间变化的。这会导致模型训练效果较差。那么,有没有对于目标函数的另一种推导,能够让模型预测的内容也与当前时间步相关呢?
这就要提到 DDPM(Denoising diffusion probabilistic model),它基于与 DPM 完全一致的数学模型,但对目标函数采用了不同的推导方法,对参数化模型预测的内容做了调整。
expand to see ELBO
Denoising matching term
回顾对于 DPM ELBO 中 denoising matching 项的化简结果:
其中,由真实分布给定的 的表达式如下:
在 DPM 中,我们直接令 具有与 (2) 类似的形式:
但 DDPM 没有这么做,而是对 (2) 进行了进一步的改写。首先我们知道:
根据 (4) 式,我们知道 ,从而将 (2) 式中出现的 替换成 :
采取与 DPM 中同样的处理思路,对于确定的参数,我们直接令 与之一致。因此,我们可以将 建模如下,并得到对应的 denoising matching 项:
这样,我们就能很清楚地看出,在 时,DDPM 需要模型去预测正向过程 时所添加的噪声 ,从而实现了预测目标与时间步相关联。
Reconstruction term
最后一步 略有不同。
todo
基于上述推导,在原理上已经可以进行训练,但文章发现,基于如下简化版本的损失函数可以维持相近的生成质量:
相比原始形式, 有如下变化:
- 不再区分 denoising matching 项 和 reconstruction 项;
- 将 denoising matching 项中的对 求和替换为对 求期望,最终通过随机采样实现;
- 相比原始的 denoising matching 项,去掉了系数;
- 根据期望中的函数参数,修改了期望的下标。
最终,得出训练算法以及推理(采样)算法如下:
Figure 1: Training Algorithm for DDPM.
Figure 2: Sampling Algorithm for DDPM.注意到在采样过程的最后一步,模型略去了 项。模型 拟合了真实分布 ,这是一个条件概率,并不能确定计算出 ,而是一个随机采样过程,这体现在 项中。然而,这只对 成立(因为这样的做法是从 denoising matching 项中推导出的)。对于 的过程,我们可以直接从前向过程入手:
我们发现 的表达式刚好符合 过程的表达式,而仅仅舍去了 项。而在这篇博客中,作者指出,此时 刚好与 相同,这也就是说,最终输出是(拟合) 的期望,而不是采样值,这与 reconstruction 项相吻合。
After reading
基于 VDM 这个数学模型,其实可以推导出很多不同的目标函数形式,其核心是基于数学推导,在某一步选择抽出公式中某个无法通过数学表达的项,用参数化模型去拟合。然后,推导训练的目标函数和推理过程。
DDPM 的拟合目标具有很强的实际意义:预测每一步添加的噪声。但这不代表可以舍弃数学推导,直接猜拟合目标:就算猜到了 ,也不知道该怎么用它进行逆向过程,毕竟不是直接减去预测噪声。