【扩散模型】 DDPM和DDIM讲解

扩散模型DDPM和DDIM

扩散模型之DDPM介绍了经典扩散模型DDPM的原理和实现,那么生成一个样本的次数和训练次数需要一致,导致采样过程很缓慢。这篇文章我们将介绍另外一种扩散模型DDIM(Denoising Diffusion Implicit Models),它两有相同的训练目标,但是它不再限制扩散过程必须是一个马尔卡夫链,这使得DDIM可以采用更小的采样步数来加速生成过程,DDIM的另外是一个特点是从一个随机噪音生成样本的过程是一个确定的过程(中间没有加入随机噪音)。

参考链接:

B站视频: https://www.bilibili.com/video/BV1JY4y1N7dn/
https://zhuanlan.zhihu.com/p/565698027 扩散模型之DDIM

https://zhuanlan.zhihu.com/p/627616358 【生成模型(三)】一文读懂DDIM凭什么可以加速DDPM的采样效率

https://blog.csdn.net/weixin_43850253/article/details/128413786 DDIM原理及代码(Denoising diffusion implicit models

代码:
https://zhuanlan.zhihu.com/p/635144824

Diffusion之DDPM代码简述、MNIST与Fashion-MNIST生成实战及DDIM加速生成应用
https://blog.csdn.net/qq_41234663/article/details/128780745

扩散模型(Diffusion model)代码详细解读

回顾DDPM:

前向过程为一个马尔科夫链,上面公式和DDPM原文里面的alpha代表的不一样了,可能是为了方便起见了。通过推导可以得到:

反向过程也定义为马尔科夫链:

之后使用后验概率:

解得方差为定值,均值为:

通过变分推断和KL散度以及简化得到:

可以发现DDPM仅依赖于边缘分布,因此可以做其他修改。

DDIM:

为了构造非马尔科夫链的扩散过程,并且复用DDPM的训练过程,现在上面的公式变为:

并且我们自己构造一个分布,只要满足

即可。即前向过程具体怎样我们不需要管了。因此通过待定系数法可以得到:

这就是我们新的反向生成分布,也就是我们新的要去拟合的"终极目标"。
DDIM 中定义以下公式:

上面这个公式是基于T的。

对于t>=1的时候要满足:

通过数学归纳法(在论文中有证明过程)可以得到以下边缘分布公式,因此可以使用DDPM去进行训练:

通过xt和x0之间的关系(因为不是马尔科夫了,可以进行变换)推导得到以下公式:

并且通过证明得到DDPM中的Lsimple和DDIM中的损失是一致的。

论文中将方差定义为超参数

当标准差为0时,生成过程就是确定性的。

DDIM是一种模型,不能加速,但是我们可以使用技巧在DDIM上加速采样。

我们的采样过程是在一个更短的子序列上面进行的。

相关推荐
老艾的AI世界8 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
sp_fyf_202411 小时前
【大语言模型】ACL2024论文-19 SportsMetrics: 融合文本和数值数据以理解大型语言模型中的信息融合
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
CoderIsArt11 小时前
基于 BP 神经网络整定的 PID 控制
人工智能·深度学习·神经网络
z千鑫12 小时前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
EterNity_TiMe_12 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
思通数科多模态大模型13 小时前
10大核心应用场景,解锁AI检测系统的智能安全之道
人工智能·深度学习·安全·目标检测·计算机视觉·自然语言处理·数据挖掘
数据岛13 小时前
数据集论文:面向深度学习的土地利用场景分类与变化检测
人工智能·深度学习
学不会lostfound13 小时前
三、计算机视觉_05MTCNN人脸检测
pytorch·深度学习·计算机视觉·mtcnn·p-net·r-net·o-net
红色的山茶花13 小时前
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-block.py
笔记·深度学习·yolo
白光白光13 小时前
凸函数与深度学习调参
人工智能·深度学习