KAIST CS492D Lecture 5: Denoising Diffusion Implicit Models (DDIM)
| 字段 | 内容 |
|---|---|
| 作者/整理 | 基于 Minhyuk Sung 授课内容整理 |
| 来源 | Minhyuk Sung (KAIST) |
| 日期 | 2025年秋季 |

引言与背景回顾
本节课是 KAIST CS492D “Design and Learning of Visual Generative Models” 课程的第五讲,由 Minhyuk Sung 教授主讲。课程的核心主题是 Denoising Diffusion Implicit Models (DDIM),这是加速扩散模型生成过程的里程碑式工作(Song et al., ICLR 2021)。
从 DDPM 到加速采样的动机
在前几讲中,我们已经学习了 DDPM(Denoising Diffusion Probabilistic Models)的基本框架:通过逐步添加高斯噪声的前向过程(forward process),将数据分布转化为标准高斯分布;再通过训练神经网络学习逆过程(reverse process),从噪声逐步恢复出干净数据。
DDPM 的核心瓶颈:采样速度
DDPM 通常需要 \(T=1000\) 步的迭代去噪过程来生成一张高质量图像。每一步都需要一次完整的神经网络前向传播,这使得生成速度远慢于 GAN 等单步生成模型。如何在不牺牲质量的前提下减少采样步数,是扩散模型研究的核心挑战之一。
讲者通过对比三类主流生成模型的优劣来引出 DDIM 的研究动机:
| 模型 | 样本质量 | 多样性 | 生成速度 |
|---|---|---|---|
| GAN | 高 | 低(模式崩塌) | 快(单步) |
| VAE | 低 | 高 | 快(单步) |
| DDPM | 高 | 高 | 慢(\(≈\)1000步) |
扩散模型在质量和多样性上都表现优异,唯一的短板在于生成速度。DDIM 正是解决这一问题的第一个重要突破。
Score-Based Models 与 DDPM 的联系
讲者在开场部分简要回顾了 score-based generative models 与 DDPM 的关系。两者的核心思想高度相似:
Score Function(得分函数)的核心角色
对于数据分布 \(q(\mathbf{x}_t)\),其 score function 定义为: $$ \nabla_{\mathbf{x}_t} \log q(\mathbf{x}_t) $$ 在 score-based models 中,我们训练一个神经网络 \(s_\theta(\mathbf{x}_t, t)\) 来近似这个 score function。通过 Langevin dynamics 迭代采样,可以从任意先验分布出发,逐步趋近数据分布的高密度区域。
Score-based models 的基本流程是:
- 对原始数据分布 \(q(\mathbf{x}_0)\) 添加不同程度的高斯噪声,得到一系列模糊分布 \(q(\mathbf{x}_t)\)
- 训练 score predictor 网络,通过最小化 L2 损失来匹配每个噪声水平下的 score function
- 采样时从高噪声水平开始,利用 annealed Langevin dynamics 逐步降低噪声水平
多尺度噪声的必要性
如果只添加少量噪声(小方差),score function 在远离数据点的低密度区域几乎为零,网络既难以准确学习、也无法提供有效的梯度引导采样点移动。如果只添加大量噪声(大方差),虽然覆盖范围广,但模糊后的分布与原始分布偏差很大。因此,必须使用从大到小的多尺度噪声调度(noise schedule),先粗略定位、再精细恢复——这正是 DDPM 和 score-based models 共享的核心设计思想。
讲者指出,DDPM 的训练目标(噪声预测损失 \(\|\boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t)\|^2\))实际上等价于 score matching 的目标。Score function 与噪声预测器之间存在如下关系:
其中 \(\boldsymbol{\epsilon}\) 是添加的噪声,\(\bar{\alpha}_t\) 是累积噪声调度参数。因此,噪声预测网络 \(\boldsymbol{\epsilon}_\theta\) 本质上就是在学习 score function 的缩放版本。
连续时间视角的预告
讲者还提到,当我们将扩散过程推广到连续时间域时,前向过程可以描述为随机微分方程(SDE): $$ d\mathbf{x} = f(\mathbf{x}, t)\,dt + g(t)\,d\mathbf{w} $$ 其逆过程同样有闭式 SDE 表达,且核心仍依赖 score function。DDPM 和 score-based models 都可视为对这个连续过程的不同离散化方案。
统一框架下的不同视角
DDPM 从概率图模型(马尔可夫链)出发定义前向和逆向过程;score-based models 从 Langevin dynamics 出发学习 score function。两者在数学上等价,仅是同一框架的不同参数化。这一统一视角(Song et al., ICLR 2021, “Score-Based Generative Modeling through Stochastic Differential Equations”)为后续的 DDIM、DPM-Solver 等加速方法奠定了理论基础。
本章小结
本节回顾了 DDPM 与 score-based models 的等价性,明确了扩散模型面临的采样速度瓶颈。DDPM 需要约 1000 步迭代才能生成高质量样本,而本讲将介绍的 DDIM 通过重新定义前向过程(从马尔可夫过程推广到非马尔可夫过程),可以将步数降低到 50 步左右而几乎不损失质量。
DDIM 的核心思想:非马尔可夫前向过程
DDPM 前向过程的回顾
在 DDPM 中,前向过程被定义为一个马尔可夫链:
其中每一步的转移分布为: $$ q(\mathbf{x}t | \mathbf{x}}) = \mathcal{N}(\mathbf{xt; \sqrt{1-\beta_t}\,\mathbf{x}) $$},\, \beta_t \mathbf{I
由此可以推导出两个关键分布:
- 跳跃分布(marginal):\(q(\mathbf{x}_t | \mathbf{x}_0) = \mathcal{N}(\mathbf{x}_t; \sqrt{\bar{\alpha}_t}\,\mathbf{x}_0, (1-\bar{\alpha}_t)\mathbf{I})\)
- 后验分布(posterior):\(q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0)\),也是高斯分布(闭式可解)
ELBO 中真正需要的分布
在推导变分下界(ELBO)时,我们需要的并不是前向转移分布 \(q(\mathbf{x}_t|\mathbf{x}_{t-1})\) 本身,而是:
- 跳跃分布 \(q(\mathbf{x}_t | \mathbf{x}_0)\)——用于采样训练数据
- 后验分布 \(q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0)\)——逆过程的匹配目标
这一观察是 DDIM 的关键出发点:既然 ELBO 只依赖这两个分布,我们是否可以跳过定义前向转移分布,直接定义这两个分布?
DDIM 的思路:直接定义跳跃与后验分布
DDIM 的核心创新在于颠倒了推导顺序:
| DDPM | DDIM |
|---|---|
| 先定义 $q(x_t | x_t-1)$ |
| 推导 $q(x_t | x_0)$ |
| 推导 $q(x_t-1 | x_t, x_0)$ |
具体来说,DDIM 做了以下设定:
\paragraph{保持跳跃分布不变。} 对于所有 \(t\),DDIM 要求: $$ q(\mathbf{x}_t | \mathbf{x}_0) = \mathcal{N}(\mathbf{x}_t; \sqrt{\bar{\alpha}_t}\,\mathbf{x}_0,\, (1-\bar{\alpha}_t)\mathbf{I}) $$ 这与 DDPM 完全相同。
\paragraph{重新定义后验分布。} DDIM 将后验分布参数化为: $$ q_\sigma(\mathbf{x}{t-1} | \mathbf{x}_t, \mathbf{x}_0) = \mathcal{N}\left(\mathbf{x}};\, \sqrt{\bar{\alpha{t-1}}\,\mathbf{x}_0 + \sqrt{1-\bar{\alpha}\right) $$}-\sigma_t^2}\cdot\frac{\mathbf{x}_t - \sqrt{\bar{\alpha}_t}\,\mathbf{x}_0}{\sqrt{1-\bar{\alpha}_t}},\, \sigma_t^2\mathbf{I
其中 \(\sigma_t\) 是一个可自由选择的超参数,控制每步逆过程中注入噪声的程度。
非马尔可夫性的含义
在 DDIM 的前向过程中,\(\mathbf{x}_{t-1}\) 的采样依赖于 \(\mathbf{x}_t\) 和 \(\mathbf{x}_0\)(而不仅仅是 \(\mathbf{x}_t\))。这打破了马尔可夫假设——当前状态不仅依赖于前一步,还依赖于原始数据。这就是 “Implicit” 一词的来源:前向转移分布 \(q(\mathbf{x}_t|\mathbf{x}_{t-1})\) 不再被显式定义,而是由跳跃分布和后验分布隐式(implicitly)确定。
推导过程:归纳法确定系数
讲者详细展示了如何通过数学归纳法确定后验分布中的系数。
\paragraph{核心约束。} 我们需要满足:对于所有 \(t\),通过后验分布 \(q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0)\) 和跳跃分布 \(q(\mathbf{x}_t|\mathbf{x}_0)\) 导出的 \(q(\mathbf{x}_{t-1}|\mathbf{x}_0)\) 必须与 DDPM 中的跳跃分布一致。
\paragraph{高斯分布的闭式合成。} 讲者利用了一个关键的数学事实:
高斯分布的边缘化性质
如果先验分布 \(p(\mathbf{z})\) 和似然分布 \(p(\mathbf{x}|\mathbf{z})\) 都是高斯分布,且似然的均值是 \(\mathbf{z}\) 的线性函数,那么边缘分布 \(p(\mathbf{x}) = \int p(\mathbf{x}|\mathbf{z})\,p(\mathbf{z})\,d\mathbf{z}\) 也是高斯分布,且均值和方差可以通过闭式表达计算。这是整个推导能够进行的数学基础。
假设后验分布的均值为 \(\mathbf{x}_0\) 和 \(\mathbf{x}_t\) 的线性组合: $$ \mu_{t-1}(\mathbf{x}_t, \mathbf{x}_0) = w_0 \cdot \mathbf{x}_0 + w_t \cdot \mathbf{x}_t $$
通过匹配 \(q(\mathbf{x}_{t-1}|\mathbf{x}_0)\) 的均值和方差,可以解出: $$ w_0 = \sqrt{\bar{\alpha}{t-1}} - \sqrt{\bar{\alpha}_t} \cdot \frac{\sqrt{1-\bar{\alpha}}-\sigma_t^2}}{\sqrt{1-\bar{\alphat}}, \quad w_t = \frac{\sqrt{1-\bar{\alpha} $$}-\sigma_t^2}}{\sqrt{1-\bar{\alpha}_t}
方差约束:\(σ_t\) 不能任意大
由于方差必须非负,\(\sigma_t^2\) 有一个上界: $$ \sigma_t^2 \leq 1 - \bar{\alpha}_{t-1} $$ 当 \(\sigma_t^2\) 取到上界时,后验分布的方差部分恰好与 DDPM 的后验分布一致。这表明 DDPM 是 DDIM 在特定方差选择下的特殊情况。
ELBO 的不变性
训练目标保持不变——无需重新训练
由于 DDIM 保持了跳跃分布 \(q(\mathbf{x}_t|\mathbf{x}_0)\) 与 DDPM 完全一致,两者的 ELBO(变分下界)在相差一个与模型参数无关的常数因子下是等价的。这意味着:
- 用 DDPM 目标训练的噪声预测网络 \(\boldsymbol{\epsilon}_\theta\) 可以直接用于 DDIM 的采样过程
- 不需要任何额外的微调或重新训练
- 仅通过改变推理时的采样策略即可获得加速
这是 DDIM 最具实用价值的特性:训练一次,多种方式推理。
这一点在深度学习中是相当罕见的——通常我们训练一个模型后,推理方式是固定的。但对于扩散模型,由于其迭代采样的特殊结构,我们可以在推理阶段灵活选择采样策略(马尔可夫 vs 非马尔可夫、随机 vs 确定性),而不需要修改训练过程。
本章小结
DDIM 的核心思想是:直接定义跳跃分布和后验分布(而非前向转移分布),由此构建一个非马尔可夫的前向过程。通过数学归纳法和高斯分布的闭式合成性质,可以推导出后验分布中系数的解析表达式。关键在于,DDIM 的跳跃分布与 DDPM 完全一致,因此 ELBO 不变,已训练的 DDPM 模型可以直接用于 DDIM 采样。
DDIM 的采样过程
通用采样公式
给定当前时间步 \(t\) 的含噪样本 \(\mathbf{x}_t\),DDIM 的单步更新公式为:
其中 \(\hat{\mathbf{x}}_0(\mathbf{x}_t)\) 是通过噪声预测网络对 \(\mathbf{x}_0\) 的估计: $$ \hat{\mathbf{x}}0(\mathbf{x}_t) = \frac{\mathbf{x}_t - \sqrt{1-\bar{\alpha}_t}\,\boldsymbol{\epsilon}\theta(\mathbf{x}_t, t)}{\sqrt{\bar{\alpha}_t}} $$
\(\boldsymbol{\epsilon}_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\) 是独立采样的高斯噪声。
采样公式的直观解读
DDIM 的单步更新可以分解为三个组成部分:
- 信号分量:\(\sqrt{\bar{\alpha}_{t-1}}\,\hat{\mathbf{x}}_0\)——根据当前对干净数据的最佳估计,按 \(t-1\) 时刻的信噪比进行缩放
- 方向分量:指向从 \(\hat{\mathbf{x}}_0\) 到 \(\mathbf{x}_t\) 方向的向量,保留了噪声的“方向信息”
- 随机分量:\(\sigma_t \boldsymbol{\epsilon}_t\)——额外注入的噪声,其大小由 \(\sigma_t\) 控制
当 \(\sigma_t=0\) 时,随机分量消失,整个过程变为确定性的。
三种预测器的等价性
讲者指出,在实现 DDIM 采样时,可以使用三种等价的网络参数化:
- 噪声预测器(\(\boldsymbol{\epsilon}\)-prediction):\(\boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \approx \boldsymbol{\epsilon}\),预测添加的噪声
- 干净数据预测器(\(\mathbf{x}_0\)-prediction):\(\hat{\mathbf{x}}_{0,\theta}(\mathbf{x}_t, t) \approx \mathbf{x}_0\),直接预测原始数据
- 均值预测器(\(\boldsymbol{\mu}\)-prediction):\(\boldsymbol{\mu}_\theta(\mathbf{x}_t, t) \approx \boldsymbol{\mu}_{t-1}\),预测后验均值
预测器之间的转换关系
三种预测器之间可以通过简单的线性变换相互转换: $$ \hat{\mathbf{x}}0 = \frac{\mathbf{x}_t - \sqrt{1-\bar{\alpha}_t}\,\boldsymbol{\epsilon}\theta}{\sqrt{\bar{\alpha}t}}, \quad \boldsymbol{\epsilon}\theta = \frac{\mathbf{x}_t - \sqrt{\bar{\alpha}_t}\,\hat{\mathbf{x}}_0}{\sqrt{1-\bar{\alpha}_t}} $$ 无论网络内部使用哪种参数化,DDIM 的采样算法只需要 \(\hat{\mathbf{x}}_0\) 的估计值即可。在实践中,\(\boldsymbol{\epsilon}\)-prediction 是最常用的参数化方式(DDPM 原始论文所采用),而 \(\mathbf{x}_0\)-prediction 在某些改进方法中也有应用。
\(σ_t\) 参数化与特殊情况
\(\sigma_t\) 的选择控制了采样过程中随机性的程度。DDIM 论文中引入了参数 \(\eta \geq 0\) 来统一参数化:
| \(η\) | 采样性质 | 等价模型 |
|---|---|---|
| \(0\) | 完全确定性采样 | DDIM(纯确定性) |
| \(1\) | 随机采样,方差与 DDPM 一致 | 等价于 DDPM |
| \(>1\) | 更大的随机性 | 超越 DDPM 的噪声注入 |
DDPM 是 DDIM 的特殊情况
当 \(\eta = 1\) 时,DDIM 的后验分布 \(q_\sigma(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0)\) 的方差恰好等于 DDPM 中推导出的后验方差 \(\tilde{\beta}_t = \frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t}\beta_t\)。此时 DDIM 退化为 DDPM 的马尔可夫采样过程。然而,由于两者的 ELBO 是等价的,使用不同的 \(\eta\) 值采样不会影响训练目标——这是训练与推理解耦的关键。
本章小结
DDIM 的采样公式由三个分量组成:信号项、方向项和随机项。超参数 \(\sigma_t\)(或等价地 \(\eta\))控制随机性的大小。\(\eta=0\) 给出确定性采样,\(\eta=1\) 退化为 DDPM。无论选择哪个 \(\eta\),都不需要重新训练模型。
确定性采样:\(σ_t = 0\) 的特殊情况
从随机过程到确定性映射
当 \(\sigma_t = 0\)(即 \(\eta = 0\))时,DDIM 的采样公式退化为:
这个更新规则是完全确定性的——没有任何随机噪声注入。这意味着:
确定性采样的核心性质
在 DDIM 确定性采样模式下:
- 从相同的初始噪声 \(\mathbf{x}_T\) 出发,经过整个逆过程后一定得到相同的输出 \(\mathbf{x}_0\)
- 噪声空间 \(\mathbf{x}_T\) 到数据空间 \(\mathbf{x}_0\) 之间建立了一个确定性的双射映射
- 生成结果完全可复现:只需记住初始噪声 \(\mathbf{x}_T\)
这与 DDPM 的随机采样形成鲜明对比——DDPM 中即使从相同的 \(\mathbf{x}_T\) 出发,由于每步都注入随机噪声,最终生成的结果每次都不同。
确定性采样的实际意义
确定性采样带来了若干重要的实际好处:
\paragraph{可复现性。} 在实际应用中(如 Stable Diffusion),用户生成了一张满意的图片后,若想再次生成完全相同的结果,在随机采样模式下几乎不可能。而使用 DDIM 确定性采样,只需记录初始噪声种子(seed),即可精确复现任意生成结果。
\paragraph{语义隐空间。} 确定性映射意味着 \(\mathbf{x}_T\) 空间中的每个点都唯一对应数据空间中的一张图片。这为隐空间中的操作(如插值、编辑)提供了基础。
\paragraph{与 Neural ODE 的联系。} 确定性 DDIM 可以被理解为 neural ODE 的一种离散化:
DDIM 与概率流 ODE 的关系
当 \(\sigma_t = 0\) 时,DDIM 的迭代更新对应于以下常微分方程(ODE)的 Euler 离散化: $$ d\mathbf{x} = \left[f(\mathbf{x}, t) - \frac{1}{2}g(t)^2 \nabla_\mathbf{x} \log q_t(\mathbf{x})\right] dt $$ 这就是 Song et al. (2021) 提出的概率流 ODE(probability flow ODE)。ODE 的解轨迹是确定性的,且保持了与 SDE(随机微分方程)相同的边缘分布。使用更高阶的 ODE 求解器可以进一步减少采样步数。
本章小结
\(\sigma_t=0\) 的确定性 DDIM 建立了噪声空间到数据空间的确定性映射,实现了生成结果的精确可复现性,并为隐空间操作提供了基础。它可以被理解为概率流 ODE 的 Euler 离散化,这一联系为后续使用更高阶 ODE 求解器加速采样提供了理论依据。
加速生成:减少采样步数
子序列采样策略
DDIM 的另一个核心贡献是提出了步数跳跃(stride / subsequence sampling)策略。在训练时,模型可能使用了 \(T=1000\) 个时间步。但在采样时,我们不必遍历所有时间步,而是选择一个子序列。
具体来说,设原始时间步集合为 \(\{1, 2, \ldots, T\}\),我们选择一个大小为 \(S < T\) 的子序列 \(\tau = \{\tau_1, \tau_2, \ldots, \tau_S\}\),其中 \(\tau_S = T\)。采样时只在子序列 \(\tau\) 的时间步上执行逆过程更新。
步数跳跃的数学合理性
DDIM 的采样公式只依赖于 \(\bar{\alpha}_t\) 和 \(\bar{\alpha}_{t-1}\) 的值,而不要求时间步必须是连续的整数。因此我们可以将公式中的 \(t \to \tau_i\),\(t-1 \to \tau_{i-1}\) 进行替换: $$ \mathbf{x}{\tau}} = \sqrt{\bar{\alpha{\tau}}}\,\hat{\mathbf{x}0(\mathbf{x}}) + \sqrt{1-\bar{\alpha{\tau}}-\sigma_{\tau_i}^2}\cdot\frac{\mathbf{x{\tau_i} - \sqrt{\bar{\alpha}}}\,\hat{\mathbf{x}0(\mathbf{x}})}{\sqrt{1-\bar{\alpha{\tau_i}}} + \sigma $$ 这本质上是在一个更粗粒度的噪声调度上执行 DDIM 更新,数学上完全合法。}\boldsymbol{\epsilon
例如,从 \(T=1000\) 步的模型中,我们可以均匀选取 \(S=50\) 步: $$ \tau = {20, 40, 60, \ldots, 980, 1000} $$ 这将采样步数从 1000 减少到 50,加速 20 倍。
确定性采样在步数减少时的优势
讲者展示了 DDIM 论文中的实验结果,揭示了一个重要的经验规律:
确定性采样对步数减少更鲁棒
实验表明(以 CIFAR-10 上的 FID 分数为例):
- 当使用完整的 1000 步时,DDPM(\(\eta=1\),随机采样)和 DDIM(\(\eta=0\),确定性采样)性能相当
- 当步数减少到 50-100 步时,确定性 DDIM 的质量退化明显小于随机 DDPM
- 当步数进一步减少到 10-20 步时,确定性 DDIM 仍能保持可接受的质量,而随机采样的质量急剧下降
直观解释:随机采样中每步注入的噪声在步数较少时会累积更大的误差;而确定性采样不注入额外噪声,误差累积更可控。
FID 评估指标
讲者在展示实验结果时介绍了 FID(Fr\'{e}chet Inception Distance)指标:
FID 指标简介
FID 衡量生成图像分布与真实图像分布之间的距离。具体步骤:
- 用预训练的 Inception 网络提取真实图像和生成图像的特征向量
- 分别拟合两组特征的高斯分布(均值 \(\boldsymbol{\mu}\)、协方差 \(\boldsymbol{\Sigma}\))
- 计算两个高斯分布之间的 Fr\'{e}chet 距离
FID 越低越好,表示生成分布越接近真实分布。FID 同时衡量了样本质量(保真度)和多样性。
加速采样的里程碑
讲者提到了扩散模型加速采样的发展路线:
| 方法 | 典型步数 | 策略 |
|---|---|---|
| DDPM (2020) | \(≈\)1000 | 马尔可夫随机采样 |
| DDIM (2021) | \(≈\)50 | 非马尔可夫确定性/半确定性采样 |
| DPM-Solver (2022) | \(≈\)10-20 | 高阶 ODE 求解器 |
| Consistency Models / 蒸馏 | \(≈\)1-4 | 蒸馏 + 一致性约束 |
从 1000 步到 1 步:开放问题
讲者指出,如果能在无需微调的前提下实现单步高质量生成,将具有巨大的商业和学术价值。目前的现状是:
- 从 1000 步降到 10-50 步可以仅通过改变采样策略实现(如 DDIM、DPM-Solver)
- 进一步降到 1-4 步则需要额外的蒸馏训练(如 Consistency Distillation、Progressive Distillation)
- 单阶段训练就能实现单步高质量生成仍是一个开放问题
以 Flux 模型为例,其标准版本使用约 20 步,而 Schnell 版本通过蒸馏实现了 1-4 步生成。
本章小结
DDIM 通过子序列采样策略,可以在不重新训练的前提下将采样步数从 1000 降低到约 50。确定性采样模式(\(\eta=0\))在步数减少时表现出更强的鲁棒性。这一方法是扩散模型加速采样领域的开创性工作,后续的 DPM-Solver、一致性模型等方法在此基础上进一步将步数降低到了个位数。
隐空间中的语义操作
确定性编码与解码
DDIM 确定性采样建立的 \(\mathbf{x}_T \leftrightarrow \mathbf{x}_0\) 双射映射,使得我们不仅可以从 \(\mathbf{x}_T\) 生成 \(\mathbf{x}_0\)(解码),还可以从 \(\mathbf{x}_0\) 恢复 \(\mathbf{x}_T\)(编码)。编码过程通过运行 DDIM 的前向方向实现:
这意味着对于任意真实图片 \(\mathbf{x}_0\),我们可以找到其在噪声空间中的“对应点” \(\mathbf{x}_T\),从该点出发再执行 DDIM 解码可以精确恢复原图。
DDIM 隐空间的语义结构
由于确定性映射的存在,噪声空间 \(\mathbf{x}_T\) 实际上成为了一个具有语义结构的隐空间。在这个空间中:
- 相似的图像在隐空间中的表示也相近
- 隐空间中的线性运算(如插值)在数据空间中对应有意义的语义变化
- 不同于 VAE 的隐空间(低维),DDIM 的隐空间与数据空间维度相同
隐空间插值
DDIM 论文展示了隐空间插值的有趣应用。给定两张真实图片 \(\mathbf{x}_0^{(1)}\) 和 \(\mathbf{x}_0^{(2)}\):
- 通过 DDIM 编码分别得到 \(\mathbf{x}_T^{(1)}\) 和 \(\mathbf{x}_T^{(2)}\)
- 在隐空间中进行球面线性插值(SLERP): $$ \mathbf{x}_T^{(\lambda)} = \frac{\sin((1-\lambda)\theta)}{\sin\theta}\,\mathbf{x}_T^{(1)} + \frac{\sin(\lambda\theta)}{\sin\theta}\,\mathbf{x}_T^{(2)}, \quad \lambda \in [0, 1] $$ 其中 \(\theta = \arccos\left(\frac{\langle\mathbf{x}_T^{(1)}, \mathbf{x}_T^{(2)}\rangle}{\|\mathbf{x}_T^{(1)}\|\,\|\mathbf{x}_T^{(2)}\|}\right)\)
- 对插值点 \(\mathbf{x}_T^{(\lambda)}\) 执行 DDIM 解码得到插值图片
为什么使用球面插值(SLERP)而非线性插值
由于隐空间中的噪声向量 \(\mathbf{x}_T\) 是从标准高斯分布中采样的,在高维空间中,这些向量近似均匀分布在一个超球面上(范数集中在 \(\sqrt{d}\) 附近)。线性插值(LERP)会产生范数较小的中间点,偏离高斯分布的典型集合(typical set),可能导致质量下降。球面插值(SLERP)保持向量范数不变,生成的中间点仍在超球面上,因此更合理。
与其他隐空间的对比
| 模型 | 隐空间维度 | 编码确定性 | 插值质量 |
|---|---|---|---|
| VAE | 低维 | 随机 | 中等 |
| GAN | 低维 | 通常无编码器 | 好 |
| DDIM | 与数据等维 | 确定性 | 好 |
DDIM 编码的精度依赖步数
DDIM 编码过程本质上是 ODE 积分的数值近似。使用的步数越少,数值误差越大,“编码\(\to\)解码”的重建质量越低。在需要精确重建的应用(如图像编辑)中,通常需要使用较多的步数(如 100-200 步)来保证编码精度。
本章小结
DDIM 的确定性采样构建了噪声空间到数据空间的双射映射,使噪声空间获得了语义结构。通过编码-插值-解码的流程,可以实现高质量的图像插值。球面线性插值(SLERP)比线性插值更适合高斯分布的隐空间。
实验结果与分析
不同 \(η\) 和步数下的 FID 对比
DDIM 论文在 CIFAR-10 数据集上进行了系统性的消融实验,考察 \(\eta\) 和采样步数 \(S\) 对 FID 的影响。
关键观察如下:
- 全步数(\(S=1000\)):所有 \(\eta\) 值的 FID 都相当,约为 3-4。DDPM(\(\eta=1\))略优于确定性 DDIM(\(\eta=0\))
- 中等步数(\(S=50\sim100\)):确定性 DDIM(\(\eta=0\))显著优于 DDPM(\(\eta=1\)),FID 差距可达 5-10
- 少步数(\(S=10\sim20\)):确定性 DDIM 仍能保持较好的质量(FID \(\sim\)10-15),而 DDPM 的 FID 急剧恶化(\(>\)50)
步数减少时的质量-速度权衡
虽然确定性 DDIM 在减少步数时更为鲁棒,但步数减少到一定程度后,质量仍会不可避免地下降。这是因为较大的时间步跨度使得每步更新的“跳跃”更大,噪声预测网络在远离训练分布的区域的预测准确性会降低。DDIM 论文的实验表明,在 CIFAR-10 上约 \(S=50\) 步即可达到与 1000 步 DDPM 相当的质量。
样本质量的定性观察
讲者还讨论了 DDIM 生成样本的一些定性特征:
- 确定性 DDIM 生成的图像通常比 DDPM 略微“锐利”(sharper),因为没有额外噪声的注入
- DDPM 的随机性有时反而能带来更多的多样性和“自然感”
- 在步数充足(\(\geq\)50)的情况下,两者的视觉质量差异不大
本章小结
实验结果验证了 DDIM 在减少采样步数方面的优势:确定性采样在步数减少时质量退化更缓慢。约 50 步的 DDIM 即可匹配 1000 步 DDPM 的质量,实现约 20 倍加速。
总结与延伸
核心要点回顾
DDIM 是扩散模型加速采样的奠基性工作,其核心贡献可以归纳为以下几点:
- 非马尔可夫前向过程:通过直接定义跳跃分布和后验分布(而非前向转移分布),构建了比 DDPM 更通用的扩散框架。后验分布中引入了自由参数 \(\sigma_t\),控制采样的随机性程度。
- ELBO 不变性:由于跳跃分布与 DDPM 保持一致,DDIM 的训练目标与 DDPM 完全等价。这意味着已有的 DDPM 模型可以直接用于 DDIM 采样,无需任何重新训练。
- 确定性采样:当 \(\sigma_t = 0\) 时,采样过程变为完全确定性的,建立了噪声空间到数据空间的双射映射。这带来了可复现性、语义隐空间、以及与 ODE 求解器的联系。
- 加速生成:通过子序列采样策略,可以将步数从 1000 降低到约 50,实现 20 倍加速。确定性采样模式在步数减少时表现出更强的鲁棒性。
- 隐空间操作:确定性 DDIM 的编码-解码对称性使得隐空间插值等语义操作成为可能。
DDIM 的深远影响
DDIM 不仅本身是一个实用的加速采样方法,更重要的是它揭示了扩散模型一个关键的设计原则:训练与推理的解耦。模型训练一次后,可以在推理时自由选择不同的采样策略(步数、随机性程度、ODE 求解器等)。这一原则被后续的几乎所有扩散模型加速工作所继承,包括 DPM-Solver、Consistency Models、Progressive Distillation 等。
后续发展方向
基于 DDIM 的框架,后续研究从多个方向进一步推进了扩散模型的采样效率:
- 高阶 ODE 求解器(DPM-Solver, DPM-Solver++):将确定性 DDIM 视为概率流 ODE 的 Euler 方法,使用更高阶(2阶、3阶)的求解器可以在相同步数下获得更高精度,或在更少步数下达到相同质量
- 连续时间 SDE/ODE 框架(Score SDE):将离散时间的 DDPM/DDIM 推广到连续时间,统一了 score-based models 和扩散模型
- 知识蒸馏(Progressive Distillation, Consistency Distillation):通过蒸馏进一步将步数降低到 1-4 步
- Flow Matching:从最优传输的角度重新设计扩散路径,实现更直的采样轨迹和更少的步数
拓展阅读
- Song, J., Meng, C., & Ermon, S. (2021). Denoising Diffusion Implicit Models. ICLR 2021. arXiv:2010.02502
- Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., & Poole, B. (2021). Score-Based Generative Modeling through Stochastic Differential Equations. ICLR 2021. arXiv:2011.13456
- Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. NeurIPS 2020. arXiv:2006.11239
- Lu, C., Zhou, Y., Bao, F., Chen, J., Li, C., & Zhu, J. (2022). DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling. NeurIPS 2022. arXiv:2206.00927
- Song, Y., & Dhariwal, P. (2023). Consistency Models. ICML 2023. arXiv:2303.01469