扩散模型中的去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)的非马尔可夫前向过程与确定性采样机制
题目描述
去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)是一种扩散模型的重要变体,它在保持与DDPM(去噪扩散概率模型)相同训练目标的前提下,通过将前向加噪过程重新设计为一个非马尔可夫(Non-Markovian)过程,从而允许在推理(采样)阶段使用确定性的生成过程,实现更高效、更可控的样本生成。本题目将详细讲解DDIM的核心动机、非马尔可夫前向过程的构造、确定性采样算法的推导,及其相较于DDPM的优势。
解题过程
步骤1:回顾DDPM的基本框架
在深入DDIM之前,我们首先简要回顾DDPM的基础设定,以便建立对比基础:
- 前向过程(加噪):这是一个马尔可夫链,在 \(T\) 步内逐步向原始数据 \(x_0\) 添加高斯噪声。每一步的加噪过程定义为:
\[ q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t} \, x_{t-1}, \beta_t I) \]
其中 \(\beta_t \in (0,1)\) 是噪声调度参数。通过重参数化技巧,可以直接从 \(x_0\) 采样任意时刻 \(t\) 的噪声样本:
\[ x_t = \sqrt{\bar{\alpha}_t} \, x_0 + \sqrt{1 - \bar{\alpha}_t} \, \epsilon, \quad \epsilon \sim \mathcal{N}(0, I) \]
其中 \(\alpha_t = 1 - \beta_t\),\(\bar{\alpha}_t = \prod_{s=1}^{t} \alpha_s\)。
- 反向过程(去噪):通过学习一个神经网络(通常是U-Net)来预测给定 \(x_t\) 下的噪声 \(\epsilon_\theta(x_t, t)\),从而逐步去噪,从纯噪声 \(x_T\) 生成数据 \(x_0\)。采样过程是随机的:
\[ x_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \right) + \sigma_t z, \quad z \sim \mathcal{N}(0, I) \]
其中 \(\sigma_t\) 控制随机性(通常设为 \(\sqrt{(1 - \alpha_t)(1 - \bar{\alpha}_{t-1})/(1 - \bar{\alpha}_t)}\))。
DDPM的采样过程需要迭代 \(T\) 步(通常 \(T=1000\)),这使得生成速度较慢。
步骤2:DDIM的核心洞察——非马尔可夫前向过程
DDIM的核心思想是:前向过程不必是马尔可夫的。只要边缘分布 \(q(x_t | x_0)\) 与DDPM保持一致(即 \(x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon\)),我们就可以设计不同的联合分布 \(q(x_{1:T} | x_0)\),从而改变反向过程,而不影响训练目标。
具体构造:
- 我们定义一个更一般的前向过程,其中每一步 \(x_t\) 直接依赖于 \(x_0\) 和 \(x_{t-1}\)(非马尔可夫性):
\[ q_\sigma(x_{1:T} | x_0) = q_\sigma(x_T | x_0) \prod_{t=2}^{T} q_\sigma(x_{t-1} | x_t, x_0) \]
这里的关键是,我们要求条件分布 \(q_\sigma(x_{t-1} | x_t, x_0)\) 是高斯分布,其均值和方差是 \(x_t\) 和 \(x_0\) 的线性组合:
\[ q_\sigma(x_{t-1} | x_t, x_0) = \mathcal{N}\left( x_{t-1}; \sqrt{\bar{\alpha}_{t-1}} x_0 + \sqrt{1 - \bar{\alpha}_{t-1} - \sigma_t^2} \cdot \frac{x_t - \sqrt{\bar{\alpha}_t} x_0}{\sqrt{1 - \bar{\alpha}_t}}, \sigma_t^2 I \right) \]
其中 \(\sigma_t\) 是一个自由参数,控制每一步的随机性。当 \(\sigma_t = \sqrt{(1 - \alpha_t)(1 - \bar{\alpha}_{t-1})/(1 - \bar{\alpha}_t)}\) 时,这个分布与DDPM一致;当 \(\sigma_t = 0\) 时,整个过程变为确定性的。
- 为什么这样设计?因为通过代入 \(x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon\),可以验证:
\[ \mathbb{E}[x_{t-1} | x_t, x_0] = \sqrt{\bar{\alpha}_{t-1}} x_0 + \sqrt{1 - \bar{\alpha}_{t-1} - \sigma_t^2} \cdot \epsilon \]
这意味着 \(x_{t-1}\) 的预测只依赖于 \(x_0\) 和噪声 \(\epsilon\),而 \(\epsilon\) 可以从 \(x_t\) 和预测的 \(x_0\) 解出。
步骤3:推导确定性反向采样算法
DDIM的关键优势在于,当设置 \(\sigma_t = 0\) 时,反向过程变为确定性映射。我们推导采样步骤:
- 用神经网络预测 \(x_0\):在DDPM中,我们训练网络 \(\epsilon_\theta(x_t, t)\) 预测噪声。在DDIM中,我们可以利用这个预测来估计 \(x_0\):
\[ \hat{x}_0^{(t)} = \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \cdot \epsilon_\theta(x_t, t)}{\sqrt{\bar{\alpha}_t}} \]
这是从 \(x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon\) 直接解出的。
- 确定性反向步骤:将 \(\sigma_t = 0\) 代入 \(q_\sigma(x_{t-1} | x_t, x_0)\) 的均值表达式,并用预测的 \(\hat{x}_0^{(t)}\) 替换真实的 \(x_0\),得到:
\[ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} \, \hat{x}_0^{(t)} + \sqrt{1 - \bar{\alpha}_{t-1}} \, \epsilon_\theta(x_t, t) \]
这个公式是完全确定性的:给定 \(x_t\),通过预测的噪声 \(\epsilon_\theta(x_t, t)\) 估计出 \(\hat{x}_0^{(t)}\),再根据上述公式计算 \(x_{t-1}\),没有随机噪声项。
- 更一般的采样公式:实际上,DDIM允许一个超参数 \(\eta \in [0,1]\) 来插值随机性。通用采样公式为:
\[ x_{t-1} = \sqrt{\bar{\alpha}_{t-1}} \, \hat{x}_0^{(t)} + \sqrt{1 - \bar{\alpha}_{t-1} - \eta^2 \sigma_t^2} \, \epsilon_\theta(x_t, t) + \eta \sigma_t z, \quad z \sim \mathcal{N}(0, I) \]
其中 \(\sigma_t = \sqrt{(1 - \bar{\alpha}_{t-1})/(1 - \bar{\alpha}_t)} \sqrt{1 - \bar{\alpha}_t/\bar{\alpha}_{t-1}}\)。当 \(\eta=0\) 时为确定性采样(DDIM),当 \(\eta=1\) 时恢复DDPM的随机采样。
步骤4:DDIM的训练与采样加速
- 训练:DDIM与DDPM使用完全相同的训练目标,即最小化噪声预测的均方误差:
\[ \mathcal{L}(\theta) = \mathbb{E}_{t, x_0, \epsilon} \left[ \| \epsilon - \epsilon_\theta( \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon, t ) \|^2 \right] \]
这意味着任何预训练的DDPM模型可以直接用于DDIM采样,无需重新训练。
- 采样加速:由于DDIM的反向过程是非马尔可夫的,它允许跳跃步骤采样。具体来说,我们可以选择一个长度为 \(S\) 的递减时间序列 \(\tau_1 > \tau_2 > \dots > \tau_S\),其中 \(S \ll T\),然后直接在这些时间步上应用确定性更新:
\[ x_{\tau_{i-1}} = \sqrt{\bar{\alpha}_{\tau_{i-1}}} \, \hat{x}_0^{(\tau_i)} + \sqrt{1 - \bar{\alpha}_{\tau_{i-1}}} \, \epsilon_\theta(x_{\tau_i}, \tau_i) \]
其中 \(\hat{x}_0^{(\tau_i)} = (x_{\tau_i} - \sqrt{1 - \bar{\alpha}_{\tau_i}} \epsilon_\theta(x_{\tau_i}, \tau_i)) / \sqrt{\bar{\alpha}_{\tau_i}}\)。这允许在10~50步内生成高质量样本,相比DDPM的1000步大大加速。
步骤5:DDIM的优势与应用
- 高效采样:通过跳跃步骤,DDIM可将采样速度提升10-100倍,同时保持样本质量。
- 一致性采样轨迹:确定性采样意味着从同一个噪声 \(x_T\) 出发,总是生成相同的样本,这有利于样本编辑和插值。
- 隐空间插值:由于确定性映射,在隐变量 \(x_T\) 空间进行插值,能产生语义平滑的样本插值。
- 无需重新训练:直接利用预训练DDPM模型,便于迁移。
总结
DDIM通过将前向过程推广到非马尔可夫结构,在保持训练目标不变的前提下,实现了确定性的反向采样过程。其核心在于构造了一个条件分布 \(q_\sigma(x_{t-1} | x_t, x_0)\),并通过设定 \(\sigma_t=0\) 得到确定性更新规则。这使得DDIM既能大幅加速采样,又保持了样本质量,成为扩散模型生成加速的关键技术之一。