DDIM扩散模型改进采样策略的推理探索

之前介绍了DDPM的稳定扩散模型理论基础。

https://blog.csdn.net/liliang199/article/details/156280004

然而,DDPM的问题时去噪过程严格按照反向马尔可夫链,运行时间长。DDIM将扩散过程参数化为非马尔可夫过程,允许跳步生成。

这里从DDPM回顾开始,逐步深入到DDIM的核心思想与推导,探索DDIM如何缩短去噪过程。

所用案例修改和参考自网络资料。

1 DDPM回顾

DDPM (Denoising Diffusion Probabilistic Models)框架包含两个过程。

1.1 前向过程(扩散过程)

前向过程是一个固定的马尔可夫链,逐步向数据添加高斯噪声。

其特性是,我们可以直接采样任意时刻 的加噪数据:

1.2 反向过程(生成过程)

反向过程是一个参数化的马尔可夫链,从噪声开始,逐步去噪以生成数据。

训练目标是预测所加的噪声

DDPM 的核心问题:

反向过程,本质上是马尔可夫过程,反向过程的每一步都严格依赖于上一步,无法跳跃。

这导致采样数独慢,生成一张图片需要完整运行(通常为1000)步反向马尔可夫链。每一步都需要神经网络的评估,耗时很长。

2 DDIM改进

DDIM (Denoising Diffusion Implicit Models)是针对DDPM核心问题的改进版本。

DDPM训练目标只定义了边缘分布,但并没有唯一确定前向过程的形式。

这意味着,只要能够保证从的边缘分布一致,就可以设计非马尔可夫的前向过程。相应地,可以推导出一个确定性的、更高效的反向生成过程。

主要表现为

1)非马尔可夫前向过程,打破了DDPM的马尔可夫链假设,允许更灵活的数据生成路径。

2)确定性生成过程,当方差设为0时,DDIM的反向过程可以是确定的。这意味着给定相同的初始噪声,总是会生成相同的样本,这使DDIM成为一个隐变量模型。

3)加速采样,得益于非马尔可夫的设计,可以通过跳步,在子序列上进行采样,从而大幅减少采样步数(1000步减少到50步),生成质量几乎看不出差异。

3 DDIM详细推导

3.1 构建非马尔可夫前向过程

这里想要一个前向过程,可以是非马尔可夫过程,只需要满足边际分布与DDPM相同:

所以这里考虑一个更一般的分布族:

其中,DDIM定义反向条件概率(注意,这是前向过程的"反向"):

这个定义是推导的关键。这里进一步验证其合理性:

均值构造:

我们希望从预测

已知

那么,应该由和一部分噪声构成。

均值的第一项是的成分,第二项是 中噪声成分的缩放。

方差:

是一个自由参数,控制着过程的随机性。

可以证明,对于任何,由上述构建的联合分布 ,其边际分布 确实等于DDPM的边际分布。

证明具体过程参考如下链接。

期望一致性参考链接

https://blog.csdn.net/liliang199/article/details/156543402

方差一致性参考链接

https://blog.csdn.net/liliang199/article/details/156544845

3.2 关注特殊选择推理

另外需要关注特殊选择

对于DDIM,后验分布为

对于DDPM,真实后验分布为:

其中:

这里进一步对比DDIM和DDPM的后验分布

时,

此时DDIM和DDPM的方差一致,这里进一步验证均值。

为简化分析,先分析DDIM均值的子项

进一步简化分析

进一步

因此有

进一步有

开方得到系数

代入DDIM均值公式

整理的线性组合为A和B,

因为,简化A的表达式

因为

所以

对比DDIM均值的A项和B项,同DDPM的对应项完全一致。

故重新整理如下

时,前向过程变为马尔可夫的,且与DDPM的前向过程一致。

时,前向过程变为确定性(给定唯一确定),这是DDIM关注的设定。

3.3 推导生成反向过程

在生成时不知道真实的。因此,我们像DDPM一样,使用训练好的去噪网络来预测它。

,可以得到对的估计:

其中是网络预测的时刻的噪声。

现在,将这个估计值代入之前定义的中,就得到了生成过程的转移概率:

将表达式展开:

这就是DDIM 的通用采样更新公式。

3.4 关键参数选择与解释

噪声尺度

  • 时,生成过程与DDPM完全相同。

  • 时,生成过程变成完全确定性的(除了初始噪声 )。这就是通常所说的DDIM采样器。此时的更新公式为:

这个公式几何解释:它沿着(预测的干净数据)和当前点之间的某个方向进行插值。

并且DDIM与DDPM训练兼容,直接使用在DDPM目标下训练好的模型

DDIM推导过程并未修改训练目标,这是DDIM最巧妙的一点,它解耦了训练和采样过程。

3.4. 加速采样-子序列采样

由于前向过程的边际分布是已知的,不需要按顺序进行采样。

选择一个长度为的单调递增子序列,其中

将生成过程重新参数化到这个子序列上。核心是保证边际分布保持不变。

DDIM 加速采样算法 (确定性,)示例如下。

step1: 采样初始噪声

step2. For to :

  • 用网络预测噪声:

  • 预测

  • 生成下一步:

step3. 得到最终样本

通过选择(例如50步),实现10-20倍的采样加速,且质量与DDPM的1000步采样相当。

4 总结对比

4.1 DDIM vs DDPM

特性 DDPM DDIM
前向过程 马尔可夫链 非马尔可夫过程
反向过程 随机(马尔可夫) 可确定性(
训练目标 ​ (预测噪声) 完全兼容DDPM模型,无需重新训练
采样速度 慢(需满步T) 快(可在子序列上跳跃采样)
样本一致性 随机 确定性映射(相同隐变量得相同样本)
理论贡献 奠定了扩散模型基础 解耦训练与采样,揭示了扩散模型非马尔可夫本质

4.2 DDIM核心贡献

DDIM重新审视了扩散模型的变分下界,发现并利用了对前向过程非唯一性的观察。

精心设计一个非马尔可夫但保持相同边际分布的前向过程,推导出了一个确定、可加速生成过程。

DDIM推动了扩散模型的实际应用,使其采样效率可与GANs等竞争,同时保持了训练的稳定性和样本多样性。

reference


如何通过改进采样策略来降低扩散模型的推理时间成本

https://bbs.huaweicloud.com/blogs/453051

SD稳定扩散模型理论基础的探索

https://blog.csdn.net/liliang199/article/details/156280004

DDPM后向去噪过程详细推导

https://blog.csdn.net/liliang199/article/details/156343504

全期望公式在DDIM中的应用实例

https://blog.csdn.net/liliang199/article/details/156543402

全方差公式在DDIM中的应用示例

https://blog.csdn.net/liliang199/article/details/156544845

相关推荐
晚霞的不甘3 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码3 小时前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__3 小时前
CANN内存管理与资源优化
人工智能·pytorch
极新3 小时前
智启新篇,智创未来,“2026智造新IP:AI驱动品牌增长新周期”峰会暨北京电子商务协会第五届第三次会员代表大会成功举办
人工智能·网络协议·tcp/ip
island13143 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
艾莉丝努力练剑3 小时前
深度学习视觉任务:如何基于ops-cv定制图像预处理流程
人工智能·深度学习
禁默3 小时前
大模型推理的“氮气加速系统”:全景解读 Ascend Transformer Boost (ATB)
人工智能·深度学习·transformer·cann
User_芊芊君子3 小时前
CANN大模型加速核心ops-transformer全面解析:Transformer架构算子的高性能实现与优化
人工智能·深度学习·transformer
格林威3 小时前
Baumer相机玻璃制品裂纹自动检测:提高透明材质检测精度的 6 个关键步骤,附 OpenCV+Halcon 实战代码!
人工智能·opencv·视觉检测·材质·工业相机·sdk开发·堡盟相机
点云SLAM3 小时前
Concentrate 英文单词学习
人工智能·英文单词学习·雅思备考·concentrate·集中·浓缩 / 集中物