核心关系概述
首先,要理解DDIM并不是一个全新的模型,而是DDPM的一个精巧的重新参数化和扩展。它们使用完全相同的训练目标和方法,因此你可以用一个训练好的DDPM模型直接来运行DDIM的采样算法,而无需重新训练。
DDIM的核心贡献是:发明了一种新的、非马尔可夫链的扩散过程,从而实现了更高效、更确定性的采样。
详细区别对比
我们从几个维度来对比它们:
特性 | DDPM | DDIM |
---|---|---|
扩散过程 | 马尔可夫链 (Markov Chain)。每一步都严格依赖于前一步。 | 非马尔可夫链 (Non-Markovian)。设计了一种更灵活的路径,当前状态可以依赖于更早的历史状态。 |
采样速度 | 慢。必须严格地从 T 步一步步迭代到 1 步(例如1000步)。 |
快。允许跳步采样。可以用远少于训练步数(如50步或100步)的步骤生成高质量样本。 |
采样确定性 | 随机 (Stochastic)。反向过程的每一步都注入了新的随机高斯噪声。 | 确定性 (Deterministic) 或随机。可以通过一个参数(η )来控制随机性。当 η=0 时,过程完全确定。 |
生成过程 | 是一个随机过程,即使输入相同的初始噪声,每次生成的结果都不同。 | 当 η=0 时,是一个确定性映射,输入相同的初始噪声,输出结果完全相同。 |
数学基础 | 基于变分推断 (Variational Inference),推导出一个去噪匹配目标。 | 基于非马尔可夫假设,重新推导了逆向过程的概率分布,使其与DDPM的训练目标兼容。 |
核心问题解答
1. DDIM有把DDPM中的噪声设置为零吗?体现在哪里?
答案是:是的,但这是在采样(推理)阶段,而不是训练阶段。
在DDPM的反向采样过程中,每一步的关键操作是:
- 预测出当前步的噪声
ε_θ
。 - 用这个预测的噪声和公式计算出
x_{t-1}
。 - 这个计算公式里包含一项随机采样的高斯噪声
z
(如下公式中的σ_t z
)。正是这项噪声使得DDPM的生成过程是随机的。
DDPM的反向采样公式(简化):
x_{t-1} = (1/√α_t) * (x_t - ((1-α_t)/√(1-ᾱ_t)) * ε_θ) + σ_t z
(其中 z ~ N(0, I)
,σ_t
是方差项)
DDIM的核心洞察是:他们发现,只要设计一个特殊的非马尔可夫扩散过程,这个逆向过程的分布就可以有多种选择。他们从中选择了一个方差更小的版本。
DDIM的反向采样公式(重新参数化后):
x_{t-1} = √(ᾱ_{t-1}) * ( (x_t - √(1-ᾱ_t) * ε_θ(x_t, t)) / √(ᾱ_t) ) + √(1-ᾱ_{t-1} - σ_t²) * ε_θ(x_t, t) + σ_t z
现在,重点来了:
- 在这个公式中,
σ_t
被定义为η * √( (1-ᾱ_{t-1})/(1-ᾱ_t) ) * √(1 - ᾱ_t/ᾱ_{t-1}) )
- 当我们设置
η = 0
时,σ_t
就等于 0。 - 一旦
σ_t = 0
,上面公式的最后一项σ_t z
就消失了。
体现在哪里?
体现在反向采样算法的代码实现中。 当使用DDIM采样且设置 eta=0
时,代码中生成随机噪声 z
并将其与 sigma_t
相乘的那一行,实际上是在加一个零向量,相当于没有添加任何新的随机噪声。整个反向过程只依赖于初始的随机噪声 x_T
和神经网络确定的预测 ε_θ
。
所以,DDIM并没有“删除”DDPM中的噪声,而是通过数学推导提供了一个选项,允许我们将采样过程中额外添加的随机噪声项的大小设置为零。
2. 反向采样的过程为什么说DDIM的是确定的?
正是因为上面一点。
当设置 η = 0
时,DDIM的反向采样过程不再注入任何随机性。整个过程的每一步计算都是确定的:
- 从纯噪声
x_T
开始(这是一个随机起点,但一旦固定就不变)。 - 神经网络
ε_θ
是一个确定的函数(模型权重固定)。 - 反向采样公式
x_{t-1} = f(x_t, ε_θ)
也是一个确定的计算,不含随机项z
。
因此,给定一个固定的初始噪声 x_T
,整个反向过程就像沿着一条确定的轨迹下滑,最终必然会到达同一个终点 x_0
。这使得DDIM的采样成为一个确定性映射(Deterministic Mapping)。
这与DDPM形成鲜明对比:DDPM即使在相同的 x_T
下,每一步加入的随机噪声 z
都会不同,导致每次采样会走上不同的轨迹,从而产生不同的结果。
这种确定性有什么好处?
- 样本可重现(Reproducibility):对于同一个“种子”(初始噪声),你总能生成完全一样的图像,这对于研究和调试非常有用。
- 隐空间插值(Latent Interpolation):因为反向过程是一个 deterministic mapping,你可以将初始噪声
x_T
视为图像的隐编码(Latent Code)。对两个不同的x_T
进行插值,再通过DDIM解码,可以得到语义上平滑过渡的图像。而在DDPM中,由于过程的随机性,这种插值是不稳定、不连续的。 - 更快的采样:确定性只是DDIM的一个特性,它另一个巨大优势是跳步采样。因为它不依赖于马尔可夫链,我们可以设计一个子序列
{τ_1, τ_2, ..., τ_S}
(其中 S << T)来进行反向过程,大步长地“跳”着生成图像,大大加速了采样速度,且质量损失很小。
总结
- DDIM 是 DDPM 的“灵魂伴侣”,它们共享训练过程。
- DDIM通过改变推理(采样)过程,提供了一个方差不添加(η=0) 的选项,从而实现了确定性采样。
- 这个确定性采样过程使得生成过程可重现、可插值,并且通过与跳步采样结合,实现了质量和速度的卓越权衡。
可以说,DDIM的提出极大地推动了扩散模型的应用,因为它解决了DDPM最大的痛点——采样速度过慢。