【深度生成模型】Diffusion model-公式推导

(前提:数学原理很多)

第一件事,前向过程:不断往输入数据中加噪声,变成纯噪声

在这里插入图片描述

每一步加入的噪声是不一样的,希望加噪的过程不断越来越多,理解为噪声的权重越来越大。
任意时刻的xt的分布计算,肯定和xt-1时刻关系最密集,在xt-1时刻加上噪声得到xt,随着时刻的增加,噪声的影响逐步增大,:
在这里插入图片描述

但在实际计算中,逐步递归太麻烦,考虑由x0直接推导得到xt:

在这里插入图片描述

红色的式子就是前向的扩散过程。

第二件事,逆向过程:逐步去噪

考虑由xt开始逆向去噪,由前向过程可知,目前已知的是xt,直接求x0太难,先求xt-1。
由于前向过程中可以由xt-1求得xt的分布,根据贝叶斯公式,可推得由xt求xt-1:
在这里插入图片描述

但是式子中xt-1的分布不知道,得有前向过程中的x0推导,因此在式子中都加上x0,对公式里的各项进行展开:
在这里插入图片描述

知道了右边各项的分布以后,可以求得左边的分布,这里注意,标准正态分布可以等价于指数分布:

在这里插入图片描述

把标准正态分布展开后,乘法相当于相加,除法相当于相减:
在这里插入图片描述继续对这个分布进行化简:

在这里插入图片描述

我们得到了均值和方差,这样通过xt求xt-1的分布也是已知的了,其中还存在一个问题,均值中的zt是什么?

zt就是要估计的每个时刻的噪声

zt直接求解求不出来,训练一个神经网络模型去预测在XT时刻下的噪声zt是什么,该怎么训练模型呢?
模型的损失怎么训练呢?损失是真实值与预测值的差,模型训练得到的预测值,真实值怎么得到呢?
很简单,在前向过程中,我们进行了加噪,加的噪声肯定是已知的,这个就相当于是真实值,然后预测值由模型预测得到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小镇躺不平家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值