DDIM(Denoising Diffusion Implicit Models)公式推导
DDIM(Denoising Diffusion Implicit Models)公式推导
DDIM(Denoising Diffusion Implicit Models)公式推导
1. 回顾DDPM的目标
在DDPM中,前向过程(扩散过程)是一个马尔可夫链:
q(x1:T∣x0)=∏t=1Tq(xt∣xt−1),q(xt∣xt−1)=N(xt;1−βtxt−1,βtI) q(x_{1:T} | x_0) = \prod_{t=1}^{T} q(x_t | x_{t-1}), \quad q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t \mathbf{I}) q(x1:T∣x0)=t=1∏Tq(xt∣xt−1),q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)
其中 βt\beta_tβt 是噪声调度。
通过重参数化技巧,可直接从 x0x_0x0 采样 xtx_txt:
xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I) x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon, \quad \epsilon \sim \mathcal{N}(0, \mathbf{I}) xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I)
其中 αt=1−βt\alpha_t = 1 - \beta_tαt=1−βt,αˉt=∏i=1tαi\bar{\alpha}_t = \prod_{i=1}^{t} \alpha_iαˉt=∏i=1tαi。
逆向过程定义为:
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),σt2I) p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_t^2 \mathbf{I}) pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),σt2I)
μθ(xt,t)=1αt(xt−βt1−αˉtϵθ(xt,t)) \mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \right) μθ(xt,t)=αt1(xt−1−αˉtβtϵθ(xt,t))
方差 σt\sigma_tσt 的选择
在DDPM中,σt\sigma_tσt 通常有两种选择:
选项1:σt2=βt\sigma_t^2 = \beta_tσt2=βt
这是前向过程方差的选择,计算简单。
选项2:σt2=β~t=1−αˉt−11−αˉtβt\sigma_t^2 = \tilde{\beta}_t = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \beta_tσt2=β~t=1−αˉt1−αˉt−1βt
这是根据变分下界推导出的最优选择,DDPM论文中主要采用这种。
采样过程
将 μθ\mu_\thetaμθ 表达式代入,得到完整的 xt−1x_{t-1}xt−1 计算公式:
xt−1=1αt(xt−βt1−αˉtϵθ(xt,t))+σt⋅ϵ x_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \right) + \sigma_t \cdot \epsilon xt−1=αt1(xt−1−αˉtβtϵθ(xt,t))+σt⋅ϵ
这边也给出物理意义解释,这个采样过程的直观理解是:
去噪方向:μθ(xt,t)\mu_\theta(x_t, t)μθ(xt,t) 给出了从 xtx_txt 到 xt−1x_{t-1}xt−1 的主要方向
随机性:σt⋅ϵ\sigma_t \cdot \epsilonσt⋅ϵ 添加了必要的随机性,确保生成的多样性
逐步细化:通过重复这个过程(从 t=Tt = Tt=T 到 t=0t = 0t=0),噪声图像逐渐被去噪成清晰图像
2. DDIM的建模:定义新的生成过程
DDIM放弃马尔可夫性假设,定义新的生成过程:
pθ(xt−1∣xt,x0)=N(xt−1;μθ(xt,x0,t),σt2I) p_\theta(x_{t-1} | x_t, x_0) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, x_0, t), \sigma_t^2 \mathbf{I}) pθ(xt−1∣xt,x0)=N(xt−1;μθ(xt,x0,t),σt2I)
其中显式引入 x0x_0x0,实际采样时用预测值 x^0\hat{x}_0x^0 替代。
3. 关键洞察:保持边缘分布一致
确保边缘分布与DDPM一致:
q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I) q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) \mathbf{I}) q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)
4. 推导DDIM的采样规则
步骤1:表示 xtx_txt 和 xt−1x_{t-1}xt−1
xt=αˉtx0+1−αˉtϵt x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon_t xt=αˉtx0+1−αˉtϵt
xt−1=αˉt−1x0+1−αˉt−1ϵt−1 x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} x_0 + \sqrt{1 - \bar{\alpha}_{t-1}} \epsilon_{t-1} xt−1=αˉt−1x0+1−αˉt−1ϵt−1
步骤2:预测 x0x_0x0
x^0=xt−1−αˉtϵθ(t)(xt)αˉt \hat{x}_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon_\theta^{(t)}(x_t)}{\sqrt{\bar{\alpha}_t}} x^0=αˉtxt−1−αˉtϵθ(t)(xt)
步骤3:构造 xt−1x_{t-1}xt−1
xt−1=αˉt−1x^0+1−αˉt−1−σt2⋅ϵθ(t)(xt)+σtϵ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} \hat{x}_0 + \sqrt{1 - \bar{\alpha}_{t-1} - \sigma_t^2} \cdot \epsilon_\theta^{(t)}(x_t) + \sigma_t \epsilon xt−1=αˉt−1x^0+1−αˉt−1−σt2⋅ϵθ(t)(xt)+σtϵ
步骤4:验证边缘分布
当 ϵθ(t)(xt)=ϵt\epsilon_\theta^{(t)}(x_t) = \epsilon_tϵθ(t)(xt)=ϵt 时:
xt−1=αˉt−1x0+1−αˉt−1−σt2⋅ϵt+σtϵ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} x_0 + \sqrt{1 - \bar{\alpha}_{t-1} - \sigma_t^2} \cdot \epsilon_t + \sigma_t \epsilon xt−1=αˉt−1x0+1−αˉt−1−σt2⋅ϵt+σtϵ
均值为 αˉt−1x0\sqrt{\bar{\alpha}_{t-1}} x_0αˉt−1x0,方差为 1−αˉt−11 - \bar{\alpha}_{t-1}1−αˉt−1,与期望分布一致。
5. 最终公式与解释
DDIM采样公式
xt−1=αˉt−1(xt−1−αˉtϵθ(t)(xt)αˉt)+1−αˉt−1−σt2⋅ϵθ(t)(xt)+σtϵ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} \left( \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon_\theta^{(t)}(x_t)}{\sqrt{\bar{\alpha}_t}} \right) + \sqrt{1 - \bar{\alpha}_{t-1} - \sigma_t^2} \cdot \epsilon_\theta^{(t)}(x_t) + \sigma_t \epsilon xt−1=αˉt−1(αˉtxt−1−αˉtϵθ(t)(xt))+1−αˉt−1−σt2⋅ϵθ(t)(xt)+σtϵ
σt\sigma_tσt 的选择
-
σt=0\sigma_t = 0σt=0 (确定性采样):
xt−1=αˉt−1(xt−1−αˉtϵθ(t)(xt)αˉt)+1−αˉt−1⋅ϵθ(t)(xt) x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} \left( \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon_\theta^{(t)}(x_t)}{\sqrt{\bar{\alpha}_t}} \right) + \sqrt{1 - \bar{\alpha}_{t-1}} \cdot \epsilon_\theta^{(t)}(x_t) xt−1=αˉt−1(αˉtxt−1−αˉtϵθ(t)(xt))+1−αˉt−1⋅ϵθ(t)(xt) -
σt=1−αˉt−11−αˉt1−αˉtαˉt−1\sigma_t = \sqrt{\frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t}} \sqrt{1 - \frac{\bar{\alpha}_t}{\bar{\alpha}_{t-1}}}σt=1−αˉt1−αˉt−11−αˉt−1αˉt (DDPM特例)
总结
| 关键点 | 说明 |
|---|---|
| 目标 | 构建非马尔可夫生成过程加速采样 |
| 约束 | 保持边缘分布 q(xt∣x0)q(x_t | x_0)q(xt∣x0) 与DDPM一致 |
| 方法 | 设计采样规则 xt−1=f(xt,x^0,ϵθ)x_{t-1} = f(x_t, \hat{x}_0, \epsilon_\theta)xt−1=f(xt,x^0,ϵθ) |
| 结果 | 统一框架支持确定性/随机采样,大幅加速生成 |
更多推荐
所有评论(0)