目录

去噪扩散隐式模型 (DDIM)

DDIM 的核心原理

DDIM 的优势

DDIM 的实现步骤

应用场景

代码示例(PyTorch)

参数选择建议


DDIM是基于DDPM 的创新,旨在解决DDPM数百步或数千步迭代计算带来的巨大计算量,主要创新点就在采样过程。了解去噪概率模型(DDPM)通过这个链接。

去噪扩散隐式模型 (DDIM)

去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)是扩散模型的一种改进形式,通过非马尔可夫链的生成过程加速采样,同时保持生成质量。其核心思想是重新参数化扩散过程,允许更灵活的采样步长调整。

DDIM 的核心原理

DDIM 修改了传统扩散模型(如 DDPM)的马尔可夫链假设,通过隐式定义反向过程,减少采样所需的步骤。其关键公式如下:

前向过程
与传统扩散模型类似,前向过程逐步添加噪声,但 DDIM 允许跳过某些步骤:

q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t\mathbf{I})

x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, \quad \epsilon \sim \mathcal{N}(0,\mathbf{I})

反向过程
DDIM 的反向过程通过确定性映射实现,而非随机采样:

x_{t-1} = \sqrt{\alpha_{t-1}} \left( \frac{x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t)}{\sqrt{\alpha_t}} \right) + \sqrt{1-\alpha_{t-1}}\epsilon_\theta(x_t,t)

DDIM 的优势

  1. 加速采样
    通过调整步长策略,DDIM 可将采样步骤从数百步减少到几十步,显著提升效率。

  2. 确定性生成
    反向过程变为确定性,允许通过固定随机种子精确复现结果。这种确定性意味着从相同的初始噪声x_{T}开始,采样过程始终生成相同的初始图像x_{0}。这种性质对于需要可复现性的具有重要的价值。

  3. 兼容性
    可直接加载预训练的 DDPM 模型权重,无需重新训练。

DDIM 的实现步骤

训练阶段
与传统扩散模型一致,训练噪声预测模型 $\epsilon_\theta$

\mathcal{L} = \mathbb{E}{x_0,t,\epsilon} \left[ |\epsilon - \epsilon\theta(x_t,t)|^2 \right]

采样阶段
使用 DDIM 的确定性采样算法:

  1. 从高斯噪声 x_T开始。
  2. 按时间步  t=T,\dots,1 迭代计算:x_{t-1} = \sqrt{\alpha_{t-1}} \hat{x}0 + \sqrt{1-\alpha{t-1}}\epsilon_\theta(x_t,t) ,其中 \hat{x}0 = (x_t - \sqrt{1-\alpha_t}\epsilon\theta(x_t,t))/\sqrt{\alpha_t}

应用场景

  1. 图像生成
    高质量图像合成,支持快速迭代。
  2. 图像修复
    结合掩码技术填充缺失区域。
  3. 超分辨率
    与条件扩散模型结合提升分辨率。

代码示例(PyTorch)

def ddim_sample(model, x_T, alphas, alphas_prev, steps):
    x = x_T
    for t in reversed(range(steps)):
        eps = model(x, t)
        x0_pred = (x - (1-alphas[t])**0.5 * eps) / alphas[t]**0.5
        x = alphas_prev[t]**0.5 * x0_pred + (1-alphas_prev[t])**0.5 * eps
    return x

参数选择建议

  1. 步长策略
    线性或余弦调度器均可,后者通常效果更平滑。
  2. 采样步数
    20-50 步即可达到较好效果,具体需权衡速度与质量。
  3. 噪声预测模型
    U-Net 结构是常见选择,注意与 DDPM 的兼容性。

DDIM 通过理论创新解决了扩散模型采样慢的痛点,为实际应用提供了高效解决方案。后续研究如 Progressive Distillation 进一步优化了其性能。

本文来源于网络学习后,通过个人总结等完成,感谢各位前辈的总结,如有不妥或有误的地方,欢迎大家来讨论,批评指正!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐