Denoising Diffusion Probabilistic Models论文解读
Denoising Diffusion Probabilistic Models[1]
《Denoising Diffusion Probabilistic Models》简称ddpm。扩散模型的里程碑式文章,简单来说,扩散模型包含两个过程:
- 前向过程(从右向左):原始分布
不断加入噪声,经过 次加噪,最终得到一个标准正太分布 - 逆向过程(从左向右):从一个标准正态分布
,通过不断降噪,学习一个 最终得到图像
伪代码如下,具体内容会在损失函数小结详细展开:
在三篇前文中我们介绍了ddpm的背景知识、前向过程推导、逆向过程推导和扩散模型损失函数。我们将三篇文章的内容在此总结,并且进一步介绍ddpm的改进。
前向过程
在前向
我们通过推导得到了
根据重参数化采样的技巧,Eq.2可以得到如下公式:
Eq.3可以看出前向过程就是通过对原始数据
我们可以将
逆向过程
所谓逆向过程,就是去除前向过程的噪声。逆向分布我们还是用
其中
由于在Eq.4发现
这样我们的
同样通过重参数化采样的技巧Eq.5可以得到如下关系
损失函数
至此我们表示出了我们需要的前向过程和逆向过程,我们通过训练一个
我们观察损失函数中三项的含义:
:加噪的结果 和神经网络的起始分布 尽可能相似,很符合逻辑。由于 中的 是人为定义常量,所以 : 用 得到的正确逆向过程的数据分布和神经网络训练的逆向过程尽可能相似,很符合逻辑 : 属于 的特殊项,和 的含义一致
我们主要关注的就是
其中
我们将Eq.7引入Eq.11中(对应原论文(10)):
在Eq.12中我们可以看到我们
在这里
和算法2的伪代码中间的采样函数一致。Eq.14是用于具体采样阶段的计算公式。
简化损失函数
我们的损失函数目前是Eq.12的形式,我们将Eq.13带入Eq.12,并且扩写
我们可以省略系数,得到
我们可以看到损失函数从最初的Eq.9的最小化KL散度,变成了 Eq.11的预测
Ho J, Jain A, Abbeel P. Denoising diffusion probabilistic models[J]. Advances in neural information processing systems, 2020, 33: 6840-6851. ↩︎
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!