DDIM加速扩散模型采样的原理
DDIM(Denoising Diffusion Implicit Models)在保持生成质量的同时大幅加速了采样过程。请解释DDIM的非马尔可夫过程设计以及它与DDPM的差异。
回答
专业代码师
DDIM由Song等人于2021年提出,通过将扩散模型的反向过程重新设计为非马尔可夫过程,实现了100×以上的采样加速。
核心思想: DDPM的反向过程是马尔可夫的(x_t只依赖于x_{t+1}),这强制了采样步长必须等于训练步长。DDIM观察到,扩散模型的训练仅依赖于边际分布q(x_t|x_0),不依赖联合分布q(x_{1:T}|x_0)的具体形式。因此可以设计更一般的非马尔可夫前向过程。
DDIM的逆向过程: p_θ(x_{t-1}|x_t, x_0) = N(√(α̅_{t-1})·x_0 + √(1-α̅_{t-1}-σ²_t)·(x_t-√(α̅_t)x_0)/√(1-α̅_t), σ²_tI)
- 当σ_t = √((1-α̅_{t-1})/(1-α̅_t))·√(1-α̅_t/α̅_{t-1})时,退化为DDPM。
- 当σ_t = 0时,反向过程变为确定性映射(DDIM),每一步x_{t-1}由x_t唯一确定。
确定性采样(DDIM, σ_t=0):
- 使用更少的采样步长S<<T(如S=50)。
- 选择T步的一个子序列τ_1, τ_2, ..., τ_S(如均匀采样)。
- 直接使用该子序列进行反向采样: x_{τ_{s-1}} = √(α̅_{τ_{s-1}})·(x_{τ_s} - √(1-α̅_{τ_s})·ε_θ(x_{τ_s},τ_s))/√(α̅_{τ_s}) + √(1-α̅_{τ_{s-1}})·ε_θ(x_{τ_s},τ_s)
与DDPM的关键差异:
| 特性 | DDPM | DDIM |
|---|---|---|
| 反向过程 | 马尔可夫随机过程 | 非马尔可夫确定性过程 |
| 采样步数 | 必需T步(~1000) | 可任意少(10-100步) |
| 随机性 | 每一步添加随机噪声 | 确定性(σ=0)或可控随机 |
| 速度 | 慢 | 快50-100倍 |
| 生成质量 | 强随机多样性 | 稍差但可接受 |
| 一致隐变量 | 否(随机性导致不一致) | 是(相同噪声→相同结果) |
重要特性:
- 一致性:DDIM的确定性性质使其可以作为隐变量模型的编码器,支持图像插值和编辑。
- 语义插值:在潜空间线性插值两个x_T可生成语义平滑过渡的图像。
- 采样加速与质量的权衡:S越小,采样越快但质量可能下降。
DDIM的提出使扩散模型在实用的推理速度下保持高质量的生成,为Stable Diffusion等大规模应用奠定了基础。