<p style="margin-left:0;text-align:justify;">在概率论的基础上,尝试从公式的角度理解去噪扩散概率模型。在阅读本文之前,确保你已经熟悉概率论的大部分知识。</p>
讯享网
黑色字体为原文直译,黄色字体为个人理解,作者能力有限,如果存在误区,请不吝赐教。
《概率论与数理统计》教学视频全集(宋浩)_哔哩哔哩_bilibili
推荐:P14、P19-P24、P32-P55、P65、P66、P68
摘要
作者提出了使用扩散概率模型完成高质量图像生成任务,这种模型是一类受非平衡态热力学启发的潜在变量模型。作者说最好的结果是在一个加权变分界上训练得到的,该变分界是根据扩散概率模型和使用朗之万动力学的去噪分数匹配之间的新联系而设计。作者的模型可以很自然的允许一种渐进式的有损解压缩方案,可以解释为对自回归解码的一种泛化。在无条件CIFAR10数据集上,我们获得了9.46的Inception分数和3.17的最好的FID分数。在256x256 LSUN数据集上,我们获得了与ProgressiveGAN相似的样品质量。代码实现在GitHub - hojonathanho/diffusion: Denoising Diffusion Probabilistic Models。
这里我们对以下几个概念进行进一步解释:
1、加权变分界:
是一种在变分推断中使用的损失函数,用于训练概率模型。在变分推断中,我们通常有一个复杂的概率模型,其中包含了一些潜在变量,这些变量在实际应用中往往是不可观测的。加权变分界是一种方法,它允许我们通过优化一个简化的目标函数来近似复杂的后验分布。
具体来说,加权变分界限通过对变分推断中的证据下界(Evidence Lower Bound, ELBO)进行加权来调整不同部分的重要性。在原始的ELBO中,目标是最小化重参数化后的潜在变量的后验分布与先验分布之间的Kullback-Leibler (KL) 散度,同时最大化对数边际似然(log marginal likelihood)。而加权变分界限则允许我们对这些项进行加权,以便在优化过程中给予某些项更多的关注。
作者提到通过在特定的加权变分界上训练模型,得到了高质量的图像合成结果。这表明作者在模型训练过程中,可能对不同时间步长的重参数化噪声分布进行了加权,以便更有效地训练模型,生成更高质量的样本。这种加权方法可能有助于模型更好地学习数据分布的重要特征,同时忽略一些对样本质量影响不大的细节。
2、渐进式有损解压缩方案
渐进式有损解压缩方案是一种数据压缩和解压缩的方法,它允许数据在不同的质量级别上进行解压缩,从而在需要的时候可以逐步提高数据的清晰度或质量。这种方案通常用于图像和视频压缩,其中“渐进式”指的是可以逐步增加数据的细节和复杂性,而“有损”则意味着在压缩过程中会牺牲一些数据的质量以减少存储或传输所需的资源。
就是说,扩散模型不仅能够完成图像生成任务,而且在数据解压缩任务上也具有一定的潜力。
3、去噪分数匹配、自回归解码
这需要读者自行阅读相关论文
- Introduction
各种各样的深度生成模型在多种数据模式下均取得了高质量的样本生成,GANs、自回归模型,流模型、VAEs已经能生成惊人的图像和声音样本,在基于能量建模和基于分数匹配方面取得了显著成效,生成的图片已经能和GANs相媲美。
论文介绍了扩散概率模型的研究进展。扩散概率模型(为了简洁,将其称为“扩散模型”)是一个参数化的马尔可夫链,它使用变分推理进行训练,在有限时间后产生与数据匹配的样本。学习这个链的转变来反转扩散过程。前向过程是一个马尔可夫链,它在采样的相反方向逐渐向数据添加噪声,直到数据信息被破坏。当扩散由少量高斯噪声组成时,将采样链的转换设置为条件高斯,从而允许特别简单的神经网络参数化。(这一段说人话就是,使用马尔可夫链使得前向和反向过程易于实现)
扩散模型定义简单,训练效率高,但据作者所知,还没有证据表明它们能够生成高质量的样本。作者表明,扩散模型实际上能够生成高质量的样本,有时比其他类型的生成模型的结果更好。此外,作者表明,扩散模型的某种参数化揭示了在训练过程中多个噪声水平上的去噪分数匹配和采样过程中的退火朗之万动力学的等价性。我们使用这种参数化获得了最好的样本质量结果,因此作者认为这种等价性是他们的主要贡献之一。(就是说,作者所提出的扩散模型原理上和去噪分数匹配、退火朗之万具有一定相似性,就是为扩散模型提供了更好的理论基础)
不看样本质量,与其他基于似然的模型相比,作者所提出的模型不具有竞争性的对数似然(然而,作者的模型在对数似然性方面表现得比基于能量的模型和得分匹配所使用的大估计退火重要性采样要好)。作者用有损压缩的语言对这一现象进行了更精细的分析,并表明扩散模型的采样过程是一种渐进式解码,它类似于沿着位排序的自回归解码,这极大地扩展了自回归模型通常所能实现的功能。(对数似然是一个衡量概率模型对数据拟合程度的指标,高对数似然值通常表示模型对数据的拟合更好。就是目前来说,扩散模型的对数似然性,比上不足比下有余。)
- Background
扩散模型是隐变量模型,形式如:,这里的就是与数据具有相同维度的隐变量,这个联合分布就叫做反向过程,它被定义为一个马尔可夫链,是从开始学习的高斯变换。
我们来对这里的公行一下说明,首先某一项带有下标![]()
讯享网,说明这是从模型中出来的,不是作者预设的。
这个是说,模型预测出来的
,也就是生成的图片
的分布是连续型随机变量密度函数,定义为一个积分,这个积分是模型所预测的联合分布
乘以微分
,这里的
应该不是真实分布,而是模型减噪过程中生成的。我们把
想象成一个高斯分布的曲线图,
就是在求这个曲线图的面积。
是去噪过程中的一部分,是难以直接描述出来的,所以称为隐变量。那么(1)式是全概率乘法公式和马尔可夫性质的结合(就比如
只依靠
,不再需要考虑
),pxT
为什么没有下标θ
呢,应该是因为
不是模型出来的,是需要提前Sample好的。
就是说在
条件下的
服从高斯分布
, 其中的均值和方差都是由
和时间步t确定的。
扩散模型与其他类型的隐变量模型的区别在于,近似的后验分布qx1:Tx0
,被称为前向过程或扩散过程,是一个马尔可夫链,在该链中,根据方差幅度β1,⋯,βt
的大小逐渐向数据添加高斯噪声。
这里需要注意一点,为什么前向过程中有前提条件
,而反向过程没有前提条件呢,应该是因为前向过程基于一个确定的
。
训练是通过优化一个通常的负对数似然的变分界来完成的:
那么(3)式是整篇论文的关键公式之一,先来看前半段是怎么来的?是什么意思?有什么用?
想要使模型预测的
与真实分布
的分布尽可能相似,而求两个分布之间的相似性,就要用到KL散度,有KL散度的定义:分布p与分布q之间的KL散度为:
现在目标函数就变为:
即
与
的KL散度最小,利用(1.1)式对目标函数做如下变换:
是使KL散度最小的模型参数
值,那么就可以求:



![]()
![]()
![]()
![]()
经过转换后,优化目标从直觉上的“令模型输出的图片接近真实图片”转变为数学意义上的“
”,这也可以简单理解为“使模型产生真实图片的概率最大”,接下来对(1.2)式进行进一步的转换和拆解。
的本质就是使得连乘中的每一项最大,也等同使得
最大。所以对l
做进一步的拆解。
在正向过程中,不经过模型,而是按照设置好的加噪规则,随着time_step的变化给原始图片添加高斯噪声,而在反向过程,则需要经过模型对图片进行降噪,逐步将图片还原。
正向过程中遵循的高斯分布记为q,反向过程中遵循的分布,记为
。实际上,可以认为前向过程中的“公式规则”也是一种模型,理论上对前向过程训练一套网络模型,也是可行的。那么按照这种说法,将前向过程记为
。
接下来,z视为模型的输入,即
时刻的图片分布状态,x视为模型的输出,即
时刻的图片的分布状态。把
拆解为
和
同时表达的形式:



![]()
![]()
![]()
![]()
![]()
![]()
那么,
就称为:Evidence Lower Bound(ELBO)(即证据下界,证据指数据或可观测变量的概率密度)。则就把最大化
拆解为了最大化ELBO,其中
与正向过程相关,
与反向过程相关。(2.1)式描述了一个time_step下的优化目标,而模型中有T个时间步,于是可以将(2.1)式扩展为:
![]()
那为什么又要加一个负号呢,应该是因为不加负号的情况下,我们需要最大化
,而加了负号就可以变成最小化
,这样在直观上,更符合模型的训练目标,因为模型训练通常都是为了最小化误差,最小化一个值,而不是最大化。
这个前向过程的方差
,可以通过重参数化的方法学习到,或者直接设置为一个超参数。在
中的高斯条件确保了反向过程的表达性(就是说反向过程虽然很随机,但这是在高斯分布下的随机,这就可以表达出来),当这个方差
足够小的时候,前向过程和反向过程可以用相同的函数表达,前向过程的一个显著的特性,就是以封闭的形式在任意的时间步t上采样
,定义
,
,就有:
![]()
那么也就是,我们在
的前提下,就可以直接求出任意时间步下的
。这就缩短了训练时的计算消耗。(4)是由(2)简单的连乘推出来的,不再赘述。
那什么叫以封闭的表达形式呢?在概率论中,某些分布的期望值、方差或其他统计量可能有封闭形式的解,可以直接根据分布的参数计算得出。这里也就是说,前向过程中,某一个时间步的图片分布状态,可以直接计算得出精确结果,不需要复杂优化算法了。
因此,通过随机梯度下降优化L的随机项,可以实现有效的训练。进一步的改进来自方差减少,将L(3)重写为:
![]()
这里是怎么得到的呢?实际上是对
进一步推导出来的具象化表示。这其中需要用到KL散度定义、贝叶斯相关法则、马尔可夫性质(可以参考论文附录A资料)。总之推导成了(5),现在就需要对(5)式做进一步优化。
(细节详见附录A,公式标签将在第3小节使用)公式(5)使用KL散度直接将
和前向过程的后验分布作对比,这个后验分布在
的条件下,是可以处理的:
![]()
其中,
,还有
。
那这一部分是怎么推导而来的呢?实际上相对而言就比较简单了。在(4)的条件下,我们有:
![]()
有了
=
,那么就可以得到任意
,
,
的关系:
:![]()
:![]()
:![]()
这三个分布都服从高斯分布,根据高斯分布的性质,则有:
:![]()
:![]()
:![]()
又根据贝叶斯公式,有:
![]()
![]()
![]()
于是
,还有![]()
因此,公式(5)所有的KL散度,都是高斯比较,因此它们可以用rao - blackwellized化的方式计算,具有封闭的表达形式,而不是高方差蒙特卡罗估计。
这里可以把rao – blackwellized理解为变分推断方法,说的就是作者通过公式推导,使得可以使用贝叶斯方法替代蒙特卡罗方法,蒙特卡罗方法由于随机采样导致估计结果方差较大,也就是结果的不确定性较高,波动较大。那么使用贝叶斯变分推断,就能优化这一问题。
看到这里,我们可以发现
似乎代表了两个方面的内容,一方面是它代表了前向过程的加噪强度,随着时间步的增长而线性增长(0.0001-0.02,第4小节、附录B);另一方面,它也代表了前向过程中,某一个图片分布的方差值。那这个加噪强度为什么要设置为线性增长呢,因为越到后面,越需要加入更多的噪声,才能让图片之间的差异拉大。
参考链接:
深入浅出扩散模型(Diffusion Model)系列:基石DDPM(人人都能看懂的数学原理篇) - 知乎 (zhihu.com)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/144976.html