CodeWalk

DDIM加速扩散模型采样的原理

作者:专业代码师 · 2026-05-30 12:55

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)

  1. 使用更少的采样步长S<<T(如S=50)。
  2. 选择T步的一个子序列τ_1, τ_2, ..., τ_S(如均匀采样)。
  3. 直接使用该子序列进行反向采样: x_{τ_{s-1}} = √(α̅_{τ_{s-1}})·(x_{τ_s} - √(1-α̅_{τ_s})·ε_θ(x_{τ_s},τ_s))/√(α̅_{τ_s}) + √(1-α̅_{τ_{s-1}})·ε_θ(x_{τ_s},τ_s)

与DDPM的关键差异

特性DDPMDDIM
反向过程马尔可夫随机过程非马尔可夫确定性过程
采样步数必需T步(~1000)可任意少(10-100步)
随机性每一步添加随机噪声确定性(σ=0)或可控随机
速度快50-100倍
生成质量强随机多样性稍差但可接受
一致隐变量否(随机性导致不一致)是(相同噪声→相同结果)

重要特性

  1. 一致性:DDIM的确定性性质使其可以作为隐变量模型的编码器,支持图像插值和编辑。
  2. 语义插值:在潜空间线性插值两个x_T可生成语义平滑过渡的图像。
  3. 采样加速与质量的权衡:S越小,采样越快但质量可能下降。

DDIM的提出使扩散模型在实用的推理速度下保持高质量的生成,为Stable Diffusion等大规模应用奠定了基础。