本文主要推演 DDPM 的数学公式部分,并验证本站配置的
Pandoc
是否成功。
diffusion
前向过程
扩散过程可以看作一条马尔科夫链:
由重参数化技巧,我们有:
如果逐步进行前向采样,采样效率低下,通过推导,得到以下快速采样:
推导
其中
表示从标准高斯分布中随机采样得到的噪声,如此,可通过一步采样处于时间步
的分布。
逆向过程
费勒证明了对于高斯分布,其扩散过程的逆向过程的分布同样是高斯分布。经过前向加噪过程,原图像的数据分布已经成为一个近似的标准高斯分布,即
,接下来,我们要从标准高斯分布中逆向去噪(也称采样)得到生成图像(数据),推导有:
其中,
是训练完成的网络的参数。
是无法直接求解的(因为如果能直接求解,相当于能直接从噪声中恢复出一个图像,这是我们不知道的,我们正在近似学习这个过程),但是我们知道
这个带条件
的后验分布,如下:
根据贝叶斯公式,这个可以进一步写作:
由于前向过程被建模为一个马尔科夫链,所以新家条件
并不影响原有条件概率,即:
由前向过程,有:
所以有 $$
其 中 , 是 与 无 关 的 常 熟 。 经 过 这 一 系 列 乘 除 加 减 操 作 ( 都 是 线 性 运 算 ) , 结 果 必 然 是 高 斯 分 布 , 使 用 配 方 法 得 到 后 验 高 斯 分 布 的 均 值 与 方 差 :
$$
损失函数
试图最大化 无法求解,所以采用
的变分推断(简言之,复杂分布无法求解时,采用近似分布求解近似解以解决推断问题),即最大化证据下界:
最大化证据下界等价于最小化下列损失: 上式的 使得 接近于高斯分布, 最小化
前向过程中的后验分布(forward process posterior)与 逆向过程中的后验分布
(由深度神经网络生成)之间的 散度。 采用负对数似然函数做最终预测。这种
会导致模型训练的不稳定,参考文献[1] 中的方法, 是已知的, 忽略,对于 可以使
最小化 散度。由于推断时
不知道,所以我们需要一个近似估计的 作为条件(指导信息),这个 如何估计呢?有两种方法,依靠 或者 架构。用于生成估计 的部件,我们称之为
。参照图像方法继续推导,可以得到简化后的优化目标: 简化后的损失函数:
参考文献
[1] Jonathan Ho, Ajay Jain, and Pieter Abbeel. 2020. Denoising
diffusion probabilistic models. Advances in Neural Information
Processing Systems 33 (2020), 6840–6851.
声明
本文作者 laozibabac
(laozibabac) - Gitee.com ,由网站作者重新整理。