虽然去噪扩散概率模型 (DDPM) 为高质量图像生成提供了强大的架构,但其迭代采样过程通常需要数百或数千步,这带来了显著的计算瓶颈。去噪扩散隐式模型 (DDIM) 被引入作为 DDPM 的一个概括,专门用于通过实现更快的采样来解决这一限制。
DDPM 的一个主要区别在于逆向过程的性质。DDPM 假设一个马尔可夫逆向过程,即 p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) p_\theta(x_{0:T}) = p(x_T) \prod_{t=1}^T p_\theta(x_{t-1}|x_t) p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) ,其中每一步 x t − 1 x_{t-1} x t − 1 仅依赖于前一步 x t x_t x t 。然而,DDIM 利用了更通用、非马尔可夫 的推断过程。这个看似微小的改变具有深远的影响。重要的是,DDIM 使用完全相同的神经网络 (neural network) ϵ θ ( x t , t ) \epsilon_\theta(x_t, t) ϵ θ ( x t , t ) ,该网络使用标准 DDPM 目标(通常是预测噪声的简化版本)进行训练。创新完全在于采样过程。
DDIM 采样过程
DDIM 采样的核心思想源于对 DDPM 前向过程推导中使用的条件分布 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q ( x t − 1 ∣ x t , x 0 ) 的分析。回想一下,在 DDPM 中,逆向步骤 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) p θ ( x t − 1 ∣ x t ) 旨在近似 q ( x t − 1 ∣ x t ) q(x_{t-1}|x_t) q ( x t − 1 ∣ x t ) 。DDIM 转而设计了一个直接使用从 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q ( x t − 1 ∣ x t , x 0 ) 导出的性质的采样过程。
首先,给定 x t x_t x t 和预测噪声 ϵ θ ( x t , t ) \epsilon_\theta(x_t, t) ϵ θ ( x t , t ) ,我们可以得到初始数据点 x 0 x_0 x 0 的估计。使用前向过程定义 x t = α ˉ t x 0 + 1 − α ˉ t ϵ x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon x t = α ˉ t x 0 + 1 − α ˉ t ϵ (其中 ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) ϵ ∼ N ( 0 , I ) 且 α ˉ t = ∏ i = 1 t α i = ∏ i = 1 t ( 1 − β i ) \bar{\alpha}_t = \prod_{i=1}^t \alpha_i = \prod_{i=1}^t (1-\beta_i) α ˉ t = ∏ i = 1 t α i = ∏ i = 1 t ( 1 − β i ) ),我们可以重新排列以预测 x 0 x_0 x 0 :
x ^ 0 ( x t , t ) = 1 α ˉ t ( x t − 1 − α ˉ t ϵ θ ( x t , t ) ) \hat{x}_0(x_t, t) = \frac{1}{\sqrt{\bar{\alpha}_t}} (x_t - \sqrt{1 - \bar{\alpha}_t} \epsilon_\theta(x_t, t)) x ^ 0 ( x t , t ) = α ˉ t 1 ( x t − 1 − α ˉ t ϵ θ ( x t , t ))
这个 x ^ 0 \hat{x}_0 x ^ 0 表示模型在时间步 t t t 给定噪声图像 x t x_t x t 时对原始清晰图像的最佳估计。
现在,DDIM 不再从近似后验 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) p θ ( x t − 1 ∣ x t ) 采样 x t − 1 x_{t-1} x t − 1 ,而是使用 x ^ 0 \hat{x}_0 x ^ 0 定义一个直接采样步骤。完整的 DDIM 更新步骤,考虑时间步长的一个子序列 t i , t i − 1 t_i, t_{i-1} t i , t i − 1 (其中 i i i 从 S S S 递减到 1,且 t S = T , t 0 = 0 t_S=T, t_0=0 t S = T , t 0 = 0 ),由下式给出:
x t i − 1 = α ˉ t i − 1 x ^ 0 ( x t i , t i ) ⏟ 方向到 x 0 + 1 − α ˉ t i − 1 − σ t i 2 ⋅ ϵ θ ( x t i , t i ) ⏟ 噪声方向 + σ t i z t ⏟ 随机噪声 x_{t_{i-1}} = \underbrace{\sqrt{\bar{\alpha}_{t_{i-1}}} \hat{x}_0(x_{t_i}, t_i)}_{\text{方向到 } x_0} + \underbrace{\sqrt{1 - \bar{\alpha}_{t_{i-1}} - \sigma_{t_i}^2} \cdot \epsilon_\theta(x_{t_i}, t_i)}_{\text{噪声方向}} + \underbrace{\sigma_{t_i} z_t}_{\text{随机噪声}} x t i − 1 = 方向到 x 0 α ˉ t i − 1 x ^ 0 ( x t i , t i ) + 噪声方向 1 − α ˉ t i − 1 − σ t i 2 ⋅ ϵ θ ( x t i , t i ) + 随机噪声 σ t i z t
这里,z t ∼ N ( 0 , I ) z_t \sim \mathcal{N}(0, I) z t ∼ N ( 0 , I ) 是新的高斯噪声,σ t i 2 \sigma_{t_i}^2 σ t i 2 控制过程的随机性。它通常由 η \eta η 参数 (parameter)化:
σ t i 2 = η ( 1 − α ˉ t i − 1 ) ( 1 − α ˉ t i ) ( 1 − α ˉ t i α ˉ t i − 1 ) \sigma_{t_i}^2 = \eta \frac{(1-\bar{\alpha}_{t_{i-1}})}{(1-\bar{\alpha}_{t_i})} \left( 1 - \frac{\bar{\alpha}_{t_i}}{\bar{\alpha}_{t_{i-1}}} \right) σ t i 2 = η ( 1 − α ˉ t i ) ( 1 − α ˉ t i − 1 ) ( 1 − α ˉ t i − 1 α ˉ t i )
确定性采样与加速
当设置超参数 (parameter) (hyperparameter) η = 0 \eta = 0 η = 0 时,DDIM 的一个重要特性便会显现。这使得 σ t i = 0 \sigma_{t_i} = 0 σ t i = 0 ,消除了随机噪声项 z t z_t z t ,从而得到一个确定性 更新规则:
x t i − 1 = α ˉ t i − 1 x ^ 0 ( x t i , t i ) + 1 − α ˉ t i − 1 ⋅ ϵ θ ( x t i , t i ) x_{t_{i-1}} = \sqrt{\bar{\alpha}_{t_{i-1}}} \hat{x}_0(x_{t_i}, t_i) + \sqrt{1 - \bar{\alpha}_{t_{i-1}}} \cdot \epsilon_\theta(x_{t_i}, t_i) x t i − 1 = α ˉ t i − 1 x ^ 0 ( x t i , t i ) + 1 − α ˉ t i − 1 ⋅ ϵ θ ( x t i , t i )
这种确定性意味着从相同的初始噪声 x T x_T x T 开始,采样过程将始终生成完全相同的最终图像 x 0 x_0 x 0 。此属性对于需要可复现性或潜在空间操控的任务很有价值。
此外,非马尔可夫公式允许 DDIM 在采样过程中跳过步骤。虽然 DDPM 通常需要对所有 T T T 个时间步进行采样(例如 T = 1000 T=1000 T = 1000 ),但 DDIM 可以使用短得多的子序列 τ = { t 1 , t 2 , . . . , t S } \tau = \{t_1, t_2, ..., t_S\} τ = { t 1 , t 2 , ... , t S } ,其中 S ≪ T S \ll T S ≪ T (例如 S = 20 , 50 S=20, 50 S = 20 , 50 或 100 100 100 )。采样器直接从 x t i x_{t_i} x t i 跳到 x t i − 1 x_{t_{i-1}} x t i − 1 ,显著减少了通过网络 ϵ θ \epsilon_\theta ϵ θ 所需的前向传播次数。
DDPM(上,蓝色)和 DDIM(下,红色)采样路径的比较。与原始扩散步骤数 (T T T ) 相比,DDIM 允许显著减少步骤数 (S S S )。
权衡与关联
DDIM 提供的加速伴随着权衡。虽然显著加快,但使用更少的采样步骤 (S S S ) 有时会导致样本质量或多样性略有下降,相比于运行完整的 DDPM 过程或使用更大的 S S S 。对 S S S 和 η \eta η 的选择允许调整速度和保真度之间的平衡。将 η = 1 \eta=1 η = 1 设置为恢复与原始 DDPM 采样密切相关的过程(尽管仍在使用所选子序列上的非马尔可夫结构),重新引入了随机性。
从理论角度来看,确定性 DDIM (η = 0 \eta=0 η = 0 ) 过程可以解释为近似求解与扩散过程相关的特定概率流常微分方程 (ODE) 的轨迹。这种关联将扩散模型与连续时间生成模型联系起来,并为开发更先进的基于 ODE 的采样器提供了依据,我们将在第 6 章中讨论。
理解 DDIM 采样机制、其确定性变体以及通过跳过步骤加速生成的能力具有根本意义。它不仅为现有经过 DDPM 训练的模型提供了更快的采样实用方法,而且还作为扩散模型采样和蒸馏技术许多后续进展的构建模块,这些将在本课程后续部分介绍。