DDIM
基于DDPM[1],DDIM(Denoising Diffusion Implicit Models)[2]的采样过程是通过一个确定性的更新规则逐步去噪,将DDPM数千步的采样减少到数十步.
DDIM的采样公式
DDIM的采样公式可以表示为:
zs=αsx^θ(zt)+σsσtzt−αtx^θ(zt)
其中:
- zt:当前步骤的噪声数据.
- zs:下一步的噪声数据(s<t).
- αt 和 σt:与时间步 t 相关的参数,控制噪声的强度.
- x^θ(zt):模型对去噪数据的预测.
- αs 和 σs:与时间步 s 相关的参数.
接下来,我们详细解释公式中的每个部分.
注意DDIM在采样中不再引入随机噪声,且正向无累加公式,需要逐步生成对应时间步的噪声
1. zt:当前步骤的噪声数据
- 含义:zt 是在时间步 t 时的噪声数据.它是由前向扩散过程生成的,表示在时间 t 时数据被噪声破坏后的状态.
- 作用:zt 是当前步骤的输入,DDIM的目标是从 zt 逐步去噪,最终生成干净的样本.
2. x^θ(zt):模型对去噪数据的预测
- 含义:x^θ(zt) 是模型对干净数据 x 的预测.模型的目标是从噪声数据 zt 中恢复出原始数据 x.
- 作用:x^θ(zt) 是去噪过程的核心,它提供了从噪声数据到干净数据的映射.模型通过训练学习如何从 zt 预测 x.
3. αt 和 σt:噪声调度参数
- 含义:
- αt 和 σt 是与时间步 t 相关的参数,控制噪声的强度.
- αt 通常表示信号的强度,σt 表示噪声的强度.
- 在扩散模型中,αt 和 σt 通常被设计为随着时间 t 的变化而变化,使得前向过程逐渐增加噪声.
- 作用:
- αt 和 σt 控制了噪声数据的生成过程.在反向采样过程中,它们用于调整噪声的去除速度.
- 在DDIM的更新规则中,αt 和 σt 用于加权模型预测 x^θ(zt) 和当前噪声数据 zt.
4. αs 和 σs:下一步的噪声调度参数
- 含义:
- αs 和 σs 是与下一步时间步 s 相关的参数,控制下一步噪声的强度.
- 通常,s<t,表示下一步的噪声强度比当前步骤更低.
- 作用:
- αs 和 σs 用于调整下一步的噪声数据 zs 的生成.
- 在DDIM的更新规则中,αs 和 σs 用于加权模型预测 x^θ(zt) 和当前噪声数据 zt,以生成下一步的噪声数据 zs.
5. σtzt−αtx^θ(zt):噪声残差
- 含义:
- 这部分表示当前噪声数据 zt 与模型预测 x^θ(zt) 之间的残差,经过归一化处理.
- zt−αtx^θ(zt) 表示当前噪声数据与模型预测的干净数据之间的差异.
- 除以 σt 是为了将残差归一化,使其与噪声强度无关.
- 作用:
- 这部分用于调整下一步的噪声数据 zs,使其逐渐接近干净数据.
- 它反映了当前步骤的噪声残差,用于指导下一步的去噪过程.
6. 整体公式的含义
DDIM的更新规则可以理解为:
- 第一部分:αsx^θ(zt) 是基于模型预测的干净数据,加权后用于生成下一步的噪声数据.
- 第二部分:σsσtzt−αtx^θ(zt) 是基于当前噪声残差,加权后用于调整下一步的噪声数据.
通过这两部分的加权组合,DDIM能够逐步从噪声数据 zt 生成下一步的噪声数据 zs,最终生成干净的样本.
7.DDIM与ODE
DIM的采样过程可以被解释为对一个特定的ODE(概率流ODE)的数值积分[3].具体来说,DDIM的更新规则可以被视为对概率流ODE的一阶近似.
[1]https://arxiv.org/abs/2006.11239
[2]https://arxiv.org/abs/2010.02502
[3]https://arxiv.org/abs/2202.00512