目录
[1.1 前向过程](#1.1 前向过程)
[1.1.1 逐步加噪](#1.1.1 逐步加噪)
[1.1.2 任意加噪](#1.1.2 任意加噪)
[1.1.3 噪声强度分析](#1.1.3 噪声强度分析)
[1.2 反向过程](#1.2 反向过程)
[1.2.1 反向过程近似模型](#1.2.1 反向过程近似模型)
[1.2.2 后验扩散条件概率](#1.2.2 后验扩散条件概率)
[1.2.3 近似模型的参数化](#1.2.3 近似模型的参数化)
[1.3 公式推导](#1.3 公式推导)
[1.3.1 前向过程](#1.3.1 前向过程)
[1.3.2 反向过程](#1.3.2 反向过程)
[2.1 采样算法](#2.1 采样算法)
[2.2 公式推导](#2.2 公式推导)
写在前面
本篇文章详细介绍了DDPM和DDIM的工作流程以及其背后的数学原理,给出了详细的公式推导过程。若有不足,欢迎指正。
符号说明
|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| 符号 | 描述 |
| | 加噪前的GT图像 |
| | 加噪后的纯噪声图像 |
| | 时间步 |
| | 噪声强度,值越大添加噪声越多,
|
| | 信号强度,值越大保留信号越多,
|
| |
,满足
|
| | 高斯噪声,代表时间步t之前所有噪声叠加的结果,
|
| | 高斯噪声,代表
比
多添加的噪声,
|
| | 网络预测的噪声,需要尽可能的接近添加的噪声 |
| | 前向扩散,固定的、非可学习的马尔可夫过程,不含学习参数,仅用于训练时生成带噪声的样本 |
| | 反向扩散,可学习的马尔可夫过程,
是待训练的参数 |
| | 后验分布的均值、方差 |
一、DDPM
尽管扩散模型的思想早在2015年[1]已被提出,但其真正引起广泛关注并成为生成模型主流范式的工作是Ho等人于2020年提出的去噪扩散概率模型(DDPM)[2]。值得注意的是,该工作并未提出全新的生成机制,而是对早期扩散框架进行了关键性的理论简化,从而显著提升了模型的训练稳定性。
在[1]中,作者提出通过前向马尔科夫链(Markov Chain)逐步将数据分布转化为高斯分布(高斯噪声),再学习其对应的逆过程以实现生成建模。如图1所示,第一行从左到右展示了前向扩散过程 ,图像逐步添加噪声直至变成纯高斯噪声为止,第二行从右向左展示了对应的反向扩散过程 ,噪声逐步被去除直至恢复原图像为止。该方法首次展示了利用多步可逆噪声过程构建高维概率模型的可行性,尽管当时受限于网络结构与优化手段未能广泛推广,但其核心框架为后续DDPM[2]等工作的出现奠定了重要基础。
图1 早期工作的扩散过程
DDPM[2]的核心贡献在于引入重参数化技巧,并由此简化了训练目标。原始扩散模型[1]需直接建模复杂的后验分布均值,而DDPM通过引入噪声重参数化技巧,将学习目标转化为在任意时间步预测所添加的高斯噪声,这一转变使得损失函数也得到简化。在实现层面,作者采用U-Net架构配合时间步嵌入,使单一网络能处理所有去噪阶段,极大提升了参数效率。这项工作大幅提升了训练稳定性,确立了现代扩散模型的基础框架。图2展示了DDPM的前向过程和反向过程。
图2 DDPM扩散过程
1.1 前向过程
1.1.1 逐步加噪
前向过程中,向数据分布中逐步添加高斯噪声,加噪过程持续T 次,产生一系列带噪图像
。随着T 的不断增大,最终原始图像
会逐步失去它的特征;最终当
时,原始图像就会被加噪成完全的噪声图像。逐步加噪的概率公式如下:

1.1.2 任意加噪
在实际加噪过程中,我们不需要逐步地去迭代得到,根据重参数化技巧可以实现任意步的加噪概率公式:

1.1.3 噪声强度分析
在对的采样公式中可以得知:(1)当
值越大,添加的噪声就越少,而保留的
信号就越多。(2)当
值越大,添加的噪声就越少,而保留的
信号就越多。
在前向过程中,(1)逐步加噪是一个缓慢的、连续的噪声注入的过程,每一步只对
做微小扰动。因此,
的系数
要尽可能的接近于1,保证
尽可能的保留
的大体分布,防止一步就破坏掉原图的分布,从而导致在反向过程中难以学习。(2)任意加噪
中,当
时,我们希望
,即
尽可能服从标准正态分布,成为完全的噪声图像。因此,当
时,
的系数
要尽可能的趋近于0,从而保证
。(3)综上分析,在
接近于1的前提下,只能让T 尽可能的大,才能保证
趋近于0,满足我们的需求。
在DDPM[2]中,时间步固定为T =1000,且被设置为不可学习的参数,从第0时间步0.0001线性增长至第T =1000时间步0.02,从而
的值也是固定的。由于
,所以
。图3展示了T =1000时间步内
的值变化情况,当
时,
。
图3 噪声与信号强度变化
1.2 反向过程
1.2.1 反向过程近似模型
我们没办法很简单的从一个随机的高斯分布中重建出一个真实的原始样本,或者说从一张带噪图像中去重建出一张真实图像。因此,我们希望学习一个神经网络来近似模拟在反向过程中的条件概率分布
,使得从纯噪声
开始逐步重建出真实的原始样本
。

1.2.2 后验扩散条件概率
由于前向过程是一个固定的加噪过程,我们可以利用贝叶斯准则:如果已知真实图像和当前时刻带噪图像
,计算
即后验条件概率
。注意
。什么是后验条件概率?前向过程的一个后验分布,已知原数据
和当前时刻带噪样本
条件下,推断上一时刻的隐变量
。在反向过程中
应尽可能接近后验
。

后验方差与均值:

对于,需要使用在正向过程中得到的
和
的关系将
消除掉,得到
:

1.2.3 近似模型的参数化

(1)对于均值的处理:后验均值。对最直接的参数化是预测
(前向过程的后验均值)的模型,即
,而对于
的预测只需预测前向过程中添加的噪声
即可。因此,学习反向过程等价于学习预测噪声
,它将"预测去噪的图像"这个复杂任务转化为"识别添加的噪声"这个相对简单的任务。
(2)对于方差的处理:固定方差。DDPM将设置为无需训练的常数,提供了两种近似方案:
(后验方差)和
,且实验中发现两者拥有相似的实验结果,另外,DDPM中也提到两种取值分别代表两种极端选择[2]。
所以,对于的采样为:

1.3 公式推导
重参数化:若希望从高斯分布中采样,可以先从标准分布
中采样出z ,在得到
,这就是我们想要的采样结果。这样做的好处是将随机性转移到了z 这个常量上,而
和
则当作仿射变换网络的一部分。
在本节,我们将详细介绍DDPM的前向过程和反向过程的数学公式推导[3]。
1.3.1 前向过程

1.3.2 反向过程


二、DDIM
DDPM虽然能生成高质量的样本,但其采样速度是一个严重瓶颈。生成一张图像需要反复执行T =1000次去噪步骤,即使在目前GPU上也需要耗费秒级的时间。DDIM[4]的出现彻底改变了这一局面,它不仅大幅加速了采样过程,还带来了意想不到的新能力。
DDPM在反向过程中从初始噪声开始,其每一步采样都需要引入随机噪声
,由于每步都注入新的随机性,最终都会生成不同的图像
,这种随机性虽然增加了多样性,但也意味着DDPM无法精确控制生成过程。另外,DDPM的反向过程是一个马尔可夫过程,当我们尝试减少步数(增大时间步长)时,马尔可夫的假设开始崩塌,生成质量急剧下降。
DDIM发现:DDPM的马尔可夫性质并非扩散模型的必要条件。在DDIM中前向过程不再只依赖于前一时刻,而是同时依赖于初始数据
,这种方法使得过程可以选择更直接的去噪路径。因此,在DDPM中的后验条件概率中提到的
。DDIM优化的只是DDPM反向过程的采样,保持了与DDPM相同的训练目标,因此不需要重新训练模型,只需要改变采样策略。DDIM的扩散过程如图4所示。
图4 DDIM扩散过程
2.1 采样算法
DDIM反向过程采样的起点也是后验条件概率分布,但是没有像DDPM一样使用贝叶斯规则展开(因为即使展开了也无法通过马尔可夫假设进行后续的计算,
是基于马尔可夫假设才成立的),而是直接假设其同样服从
线性组合的概率分布:

系数取值:

因此,后验条件概率为:

利用和
的关系可消除
,从而得出:

所以,可以从
生成:

DDIM论文[4]中提供的公式(这里使用的
符号代表DDPM论文[2]中使用的
符号):
这里的方差为(这里的为DDPM的方差):

其中,可以控制DDIM的采样方式:
(1):完全确定性采样(纯DDIM),生成过程精确;
(2):完全随机性采样(即DDPM),保持原始的随机性;
(3):介于两者之间,平衡确定性与多样性。
2.2 公式推导
这里以为例,即将上面的
换成了
进行计算演示。

参考文献
1\] Sohl-Dickstein J, Weiss E, Maheswaranathan N, et al. Deep unsupervised learning using nonequilibrium thermodynamics\[C\]//International conference on machine learning. pmlr, 2015: 2256-2265. \[2\] Ho J, Jain A, Abbeel P. Denoising diffusion probabilistic models\[J\]. Advances in neural information processing systems, 2020, 33: 6840-6851. \[3\] Luo C. Understanding diffusion models: A unified perspective\[J\]. arXiv preprint arXiv:2208.11970, 2022. \[4\] Song J, Meng C, Ermon S. Denoising diffusion implicit models\[J\]. arxiv preprint arxiv:2010.02502, 2020.
