扩散模型疑难点

![DDPM]算法

1. 为什么在每一步训练过程中可以仅采样一个随机高斯噪声?

为了模拟出从任意步数的隐变量向前一步隐变量去噪的过程,按道理,我们应当分别采样两个高斯噪声,分别用于模拟从x0x_0转移到xt1x_{t-1}的过程和和从xt1x_{t-1}转移到xtx_{t}的过程。

对于原本的损失函数(参见《Understanding Diffusion Models》阅读笔记2钟第二种等价解释里关于去噪匹配项的推导):

ϵ0ϵ^θ(xt,t)22\left\|\boldsymbol{\epsilon}_{0}-\hat{\boldsymbol{\epsilon}}_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{t}, t\right)\right\|_{2}^{2}

需要将其拆成:

但是,可以通过积分技巧,将这两个随机变量分别用两个完全独立的随机变量来表示,而其中的一个随机变量在损失函数里求平方的过程中二次方项直接变成常数,剩余一次方项的部分也因为表达式中没有更多的整个随机变量,而可以直接提出来期望变成1(两个独立的随机变量,概率可以直接拆开)。


扩散模型疑难点
https://fengxiang777.github.io/2024/09/25/扩散模型疑难点/
作者
FengXiang777
发布于
2024年9月25日
许可协议