Denoising Diffusion Probabilistic Model
- 一、写在前面
- 二、相关数学知识简介
- 二、生成模型简介:
- 三、变分自编码器概述(VAE)
一、写在前面
人工智能生成内容(AI Generated Content,AIGC)近年来成为了非常前沿的一个研究方向,生成模型目前有四个分支,分别是生成对抗网络(Generative Adversarial Models,GAN),变分自编码器(Variance Auto-Encoder,VAE),标准化流模型(Normalization Flow, NF)以及这里要介绍的扩散模型(Diffusion Models,DM)。扩散模型的算法理论基础是通过变分推断(Variational Inference)训练参数化的马尔可夫链(Markov Chain),它在许多任务上展现了超过GAN等其它生成模型的效果。这些效果惊艳的模型—扩散模型的理论基础是本文介绍的提出扩散模型的文章和非常重要的DDPM。扩散模型的实现不复杂,但其背后的数学原理却非常丰富。本文主要介绍了去噪扩散概率模型(Denoising Diffusion Probabilistic Model,简称为DDPM)中的基本原理与一些核心的数学推导,但是一些相对复杂的数学公式的演算没有展示。如果需要对部分复杂的数学分析进行深入了解,可以学习参考文献的相关内容。
二、相关数学知识简介
1、先验概率与后验概率:
(1)先验概率:根据以往经验和分析得到的概率,如全概率公式中往往作为“由因求果”问题中的“因”出现,如:
(2)后验概率:指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的“因",如:
2、条件概率的一般形式:
3、基于Markov的条件概率:马尔科夫链指当前状态的概率只与上一时刻有关,例如满足马尔可夫关系 ,那么有
4、高斯分布的KL散度:若
则有:
5、重参数化技巧:若希望从满足正态分布中进行采样,可以从标准正态分布采样出随机变量z,再得到:
这就是我们想要采样的结果。这样做的好处是将随机性转移到了 这个常量上,而标准差和均值作为仿射变换网络的一部分。
二、生成模型简介:
生成模型的本质是通过一个已知的概率模型来拟合所给的数据样本,也就是说,我们往往需要通过模型得到一个带参数的分布。即如果训练数据的分布函数为
p
(
d
a
t
e
)
x
p_{(date)}x
p(date)x,生成样本的分布函数为
p
(
m
o
d
e
l
)
x
p_{(model)}x
p(model)x ,我们希望得到的分布和训练数据的分布尽可能相似。目前生成模型主要有图1的四种类型:
GAN的原理是通过判别器和生成器的互相博弈来让生成器生成足以以假乱真的图像;
VAE的原理是通过一个编码器将输入图像编码成特征向量,它用来学习高斯分布的均值和方差,而解码器则可以将特征向量转化为生成图像,它侧重于学习生成能力;
流模型是从一个简单的分布开始,通过一系列可逆的转换函数将分布转化成目标分布;
扩散模型先通过正向过程将噪声逐渐加入到数据中,然后通过反向过程预测每一步加入的噪声,通过将噪声去掉的方式逐渐还原得到无噪声的图像,扩散模型本质上是一个马尔可夫架构,只是其中训练过程用到了深度学习的BP,但它更属于数学层面的创新。
1、扩散过程的物理描述:扩散模型中最重要的思想根基是马尔可夫链,它的一个关键性质是平稳性。即如果一个概率随时间变化,那么再马尔可夫链的作用下,它会趋向于某种平稳分布,时间越长,分布越平稳。如图2所示,当你向一滴水中滴入一滴颜料时,无论你滴在什么位置,只要时间足够长,最终颜料都会均匀的分布在水溶液中。这也就是扩散模型的前向过程。
如果我们能够在扩散的过程颜料分子的位置、移动速度、方向等移动属性。那么也可以根据正向过程的保存的移动属性从一杯被溶解了颜料的水中反推颜料的滴入位置。这边是扩散模型的反向过程。记录移动属性的快照便是我们要训练的模型。
2、生成模型假说:对于许多模态,我们可以认为我们观察到的数据是由一个相关的看不见的潜在变量表示或生成的,我们可以用随机变量 表示。表达这一想法的最佳直观方式是通过柏拉图的《洞穴寓言》。在寓言中,一群人一生都被锁在一个洞穴里,他们只能看到投射在他们面前墙上的二维阴影,这些阴影是由看不见的三维物体在火前经过产生的。对于这样的人来说,他们所观察到的一切实际上都是由他们永远无法看到的高维抽象概念决定的。虽然穴居人永远无法看到(甚至完全理解)隐藏的物体,但他们仍然可以对它们进行推理和推断;以类似的方式,我们可以近似描述我们观察到的数据的潜在表示。尽管柏拉图的寓言说明了潜在变量作为决定观察结果的潜在不可观察的表示背后的思想,但这个类比的警告是,在生成建模中,我们通常寻求学习低维的潜在表示,而不是高维的潜在表示。这是因为,如果没有强大的先验,试图学习比观察结果更高维的表示是徒劳的。另一方面,学习低维潜能也可以被视为一种压缩形式,并且可以潜在地揭示描述观察的语义有意义的结构。
三、变分自编码器概述(VAE)
1、置信下界(Evidence Lower Bound,简称为ELBO)的定义与数学表示:VAE的目标函数采用的是最大似然(likelihood-based)的路线,即对观察到的数据 计算最大 ,借助数学工具ELBO(Evidence Lower Bound),可以得到最大似然分布的一个下界:
且对数似然与ELBO之间的关系为:
【ELBO相关数学推导】考虑观测数据x与潜在变量(latent variation)z ,那么联合概率密度
p
(
x
,
z
)
p(x,z)
p(x,z)与似然函数
p
(
x
)
p(x)
p(x)之间的关系为:
那么则有:
结论:
(1)首先,我们现在知道为什么ELBO确实是一个下界:证据和数据之间的差异ELBO是一个严格的非负KL项,因此ELBO的值永远不会超过证据;
(2)其次,我们探讨了为什么我们寻求最大化ELBO。在引入了我们想要建模的潜在变量z之后,我们的目标是了解描述我们观察到的数据的潜在结构。换句话说,我们想要优化变分后验
q
(
x
∣
z
)
q(x|z)
q(x∣z)的参数,以精确匹配真正的后验分布
p
(
x
∣
z
)
p(x|z)
p(x∣z) ,这是通过最小化它们的KL散度(理想情况下为零)来实现的。不幸的是,很难直接最小化这个KL散度项,因为我们无法获得真实的
p
(
x
∣
z
)
p(x|z)
p(x∣z) 分布。由于ELBO和KL散度项的总和是一个常数,因此ELBO项相对于 的任何最大值都必然调用KL散度项的相等最小值。因此,ELBO可以最大化地作为学习如何完美地建模真实的潜在后验分布的代理;我们越优化ELBO,我们的近似后验值就越接近真实后验值。此外,一旦训练,ELBO也可以用来估计观察到的或生成的数据的可能性,因为它被学习来近似模型证据
l
o
g
p
(
x
)
log_p(x)
logp(x)。
2、单层VAE:
设一个单层的VAE的输入数据x分布为
p
(
x
)
p(x)
p(x),潜在变量z分布为
p
(
z
)
p(z)
p(z)。由输入分布到潜在变量的过程称为编码,可以表述为
q
(
z
∣
x
)
q(z|x)
q(z∣x),而由潜在变量来恢复观测数据的过程称为解码(或重建),可以表述为
p
(
x
∣
z
)
p(x|z)
p(x∣z)。那么VAE相关的数理基础有:
(1)目标数据的分布:
(2)似然对数的置信下界:
总结:在这种情况下,我们学习了一个中间瓶颈分布
q
(
z
∣
x
)
q(z|x)
q(z∣x),它可以被视为编码器;它将输入转换为可能潜能的分布。同时,我们学习了一个确定性函数
p
(
x
∣
z
)
p(x|z)
p(x∣z),将给定的潜在向量z转换为观测值x,观测值x可以解释为解码器。式(2)中的两项都有直观的描述:第一项从我们的变分分布测量解码器的重构似然;这确保了学习到的分布是建模的有效潜能,原始数据可以从这些潜能中重新生成。第二项衡量学习到的变分分布与潜在变量的先验信念有多相似。最小化这一项鼓励编码器实际学习一个分布,而不是崩溃成一个狄拉克函数。因此,最大化ELBO相当于最大化它的第一项和最小化它的第二项。
3、层级连接VAE(HVAE):具有 层次潜伏的马尔可夫分层变分自编码器。生成过程被建模为马尔可夫链,其中每个潜在变量
z
t
z_t
zt仅由前一个潜在
z
t
+
1
z_{t+1}
zt+1生成。HVAE是一种扩展到潜在变量上的多个层次的VAE的推广。在这种形式下,潜在变量本身被解释为由其他更高层次、更抽象的潜在变量生成。
研究特例—Markov状态下的层级变分自编码器(M-HVAE):在具有 层次的一般HVAE中,允许每个潜变量条件化之前的所有潜变量,在这项工作中,我们关注一个特殊的情况,我们称之为马尔可夫HVAE (MHVAE)。在MHVAE中,生成过程是一个马尔可夫链,也就是说,层次结构向下的每个转换都是马尔可夫式的,其中解码每一个潜在变量 只与前一个状态下的潜在变量 有关。M-HAVE相关数理基础有:
(1)联合概率密度函数:
(2)后验概率分布:
(3)M-HAVE的ELBO推导:
(4)将联合概率密度函数
p
(
x
,
z
1
:
T
)
p(x,z_{1: T})
p(x,z1:T)和后验概率分布
q
(
z
1
:
T
∣
x
)
q(z_{1: T}|x)
q(z1:T∣x)代入ELBO,则有
本篇文章原创Zichen Wang,医学图像重建大佬。我们的公众号为:成像与视觉
主要内容包含如下:
1、IEEE Trans/Journal投稿交流平台:主要面向有意向在(或已投稿)IEEE Transactions和Journal期刊上进行投稿的同行学习。群内定期更新IEEE主要期刊投稿官网、投稿注意事项,同时审稿周期、审稿流程问题可以在群内相互交流以及如何催搞等相关问题。请按照“投稿期刊+关键词”修改,例如TMI—MR重建,TIM—雷达测量,JBHI—生物信息学等。
2、Medical Image Processing医学图像处理与分析交流平台:主要面向硕博、科研工作者在医学图像领域的科研交流平台,主要包括医学图像重建、分割、配准、去噪、超分、分类等相关任务以及基于AI方法的医学图像处理相关话题的学习和讨论,图像模态主要包括(但不限于)CT、MR、Ultrasound、PET、OCT、ET、PT等其他图像种类。定期分享领域内相关期刊、会议,并提供CT、MR入门的相关国内外经典教材与配套讲义。请按照“图像模态+研究任务”修改,如:MR—加速重建,低剂量CT—重建。
3、Inverse Problems for CV计算机视觉中的反问题交流学习平台:主要面向硕博、科研工作者在成像反问题领域的科研交流平台,主要包括:重建、超分辨率、图像去噪(去模糊)、图像反卷积、计算成像等基于解析方法(迭代、正则化)、机器学习、深度学习等方法的计算机视觉反问题。进群后麻烦大家按照“工作任务”修改群昵称,如:图像重建、图像超分辨率等。
感谢支持,我们会尽力回答各位同学和同行们的问题!