扩散模型中的去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)的非马尔可夫前向过程与确定性采样机制
字数 4951 2025-12-14 18:17:18

扩散模型中的去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)的非马尔可夫前向过程与确定性采样机制

题目描述

去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)是一种扩散模型的重要变体,它在保持与DDPM(去噪扩散概率模型)相同训练目标的前提下,通过将前向加噪过程重新设计为一个非马尔可夫(Non-Markovian)过程,从而允许在推理(采样)阶段使用确定性的生成过程,实现更高效、更可控的样本生成。本题目将详细讲解DDIM的核心动机、非马尔可夫前向过程的构造、确定性采样算法的推导,及其相较于DDPM的优势。


解题过程

步骤1:回顾DDPM的基本框架

在深入DDIM之前,我们首先简要回顾DDPM的基础设定,以便建立对比基础:

  1. 前向过程(加噪):这是一个马尔可夫链,在 \(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\)

  1. 反向过程(去噪):通过学习一个神经网络(通常是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\) 时,反向过程变为确定性映射。我们推导采样步骤:

  1. 用神经网络预测 \(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\) 直接解出的。

  1. 确定性反向步骤:将 \(\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}\),没有随机噪声项。

  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的优势与应用

  1. 高效采样:通过跳跃步骤,DDIM可将采样速度提升10-100倍,同时保持样本质量。
  2. 一致性采样轨迹:确定性采样意味着从同一个噪声 \(x_T\) 出发,总是生成相同的样本,这有利于样本编辑和插值。
  3. 隐空间插值:由于确定性映射,在隐变量 \(x_T\) 空间进行插值,能产生语义平滑的样本插值。
  4. 无需重新训练:直接利用预训练DDPM模型,便于迁移。

总结

DDIM通过将前向过程推广到非马尔可夫结构,在保持训练目标不变的前提下,实现了确定性的反向采样过程。其核心在于构造了一个条件分布 \(q_\sigma(x_{t-1} | x_t, x_0)\),并通过设定 \(\sigma_t=0\) 得到确定性更新规则。这使得DDIM既能大幅加速采样,又保持了样本质量,成为扩散模型生成加速的关键技术之一。

扩散模型中的去噪扩散隐式模型(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既能大幅加速采样,又保持了样本质量,成为扩散模型生成加速的关键技术之一。