定义
DDIM(Denoising Diffusion Implicit Models,去噪扩散隐式模型,Song et al., ICLR 2021)是 DDPM 的一种确定性加速采样变体。它复用 DDPM 训练好的噪声预测网络,但把反向采样从严格的马尔可夫链改成非马尔可夫的隐式过程,从而可以用远少于训练步数的步骤(如 50 步代替 1000 步)完成生成,质量几乎不下降。
直观理解
DDPM 采样慢的根源在于:反向过程被定义成马尔可夫链,每步只依赖上一步,所以必须老老实实走完 T(1000)步。
DDIM 的关键洞察是:训练损失 Lsimple 只依赖边缘分布 q(xt∣x0),不依赖具体的联合分布 q(x1:T∣x0)。也就是说,前向过程其实可以有无数种定义(只要保证每个时刻的 xt 分布一致),反向采样自然也不必拘泥于原来的马尔可夫链。
于是 DDIM 可以:
- 跳步采样:只走 20~50 步,每步跨多个原始时间步;
- 确定性生成:给定 xT,生成结果唯一——xT 成了一个「种子」,可以像 VAE 的隐变量一样做插值和语义编辑;
- 免费复用:不用重新训练,直接拿 DDPM 的权重就能用。
公式推导
1. 先由 xt 估计干净的 x^0
利用 DDPM 的前向闭式解 xt=αˉtx0+1−αˉtϵ 反解:
x^0=αˉtxt−1−αˉtϵθ(xt,t)
2. DDIM 采样步
拿到 x^0 后,不回到 xt−1 的精确马尔可夫转移,而是按目标时间步 t−1 的噪声比例重新「加噪」回去:
xt−1=αˉt−1x^0+1−αˉt−1ϵθ(xt,t)
它的含义是:「我猜数据本来是 x^0,那么在时刻 t−1 它应该被加噪到这个程度」。这样 xt−1 完全由 x^0 和网络预测的噪声决定,没有随机项。
3. 与 DDPM 的统一:σt 插值
更一般的采样式是:
xt−1=αˉt−1x^0+1−αˉt−1−σt2ϵθ(xt,t)+σtz,z∼N(0,I)
- 当 σt=0:纯确定性的 DDIM;
- 当 σt=1−αˉt1−αˉt−1(1−αˉt−1αˉt):退化为原始的 DDPM 采样。
所以 DDPM 和 DDIM 是一个连续谱的两端,DDIM 只是把随机噪声项关掉了。
4. 与概率流 ODE 的联系
在 Score SDE 的框架里,DDIM 的确定性采样正是**概率流 ODE(probability flow ODE)**的离散化:
dx=[f(x,t)−21g(t)2∇xlogpt(x)]dt
这解释了为什么 DDIM 能跳步:ODE 的解是平滑曲线,离散化时步长可以更大,而不像 SDE 的随机游走那样必须小步。
相关