ddpm逆向过程推导
本文正式开始了ddpm逆向过程的推导,在逆向推导之前,我们将前一篇文章的推导结果做一个总结。
前文总结
我们目前已知前线过程
其中
高斯公式如下:
逆向过程
逆向过程就是将方向颠倒过来成为,一步一步就能将高斯噪声重新生成图片。我们通过贝叶斯公式如下:
但是Eq.5最大的问题在于它和我们已知的条件完全无关,为此我们需要引入一些条件,在ddpm中合理的条件就是,也就是原图,直觉上很合理,在已知原图的基础上,逆向过程可以改写为如下形式:
在引入了条件后Eq.6可以引入已知条件。由此我们可以用高斯公式计算Eq.6的表达式,由于这个过程太过枯燥,我们跳过中间过程,结果如下:
我们将Eq.8套入Eq.5的形式可以的得到:
则
Eq.10和附件中的公式(7)结果一致,并且我们可以发现方差只和相关。除此以外均值如下:
Eq.12和附件中公式(7)的结果也一致,至此我们完成了逆向过程的推导过程说明。
这里有一点额外的说明,Eq.12中计算逆向过程的均值中出现了是一个人为定义的高斯噪声,没有问题。但是对于其中的,训练过程中我们包含原图作为条件没有问题,但是推理过程中或者说是AIGC文生图过程中的又改如何改变。我们回到已知的Eq.2中,我们可以知道
则就为以下等式:
我们可以观察到和噪声有关,所以在推理的时候,我们并不需要知道原图就可以进行推理。并且进一步来讲,我们训练的时候的并不是对做损失,而是对使用损失函数,因为两者是相互有关联的。无论训练还是推理过程,都是让准确就可以正确预测
综上我们得到了逆向过程的运算结果,其中的结果在Eq.12, 的结果为Eq.10
和附件中的公式(6),(7)结果一致
附件(原文background)

【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 提示词工程师自白:我如何用一个技巧解放自己的生产力