这篇综述(DiffusionModels:AComprehensiveSurveyofMethodsandApplications)来自加州大学Ming-HsuanYang&GoogleResearch、北京大学崔斌实验室、CMU、UCLA、蒙特利尔米拉研究所等研究团队。对现有的扩散生成模型(diffusionmodel)进行了全面的总结和分析,从扩散模型算法的细化分类、与其他五种生成模型的关联、在七大领域的应用等入手,最后提出了扩散模型存在的局限性和未来的发展方向。文章链接:https://arxiv.org/abs/2209.00796这篇综述是对扩散模型论文的总结。GitHub链接:https://github.com/YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy1扩散模型(diffusionmodels)简介是深度生成模型中的新SOTA。扩散模型在图像生成任务上超越了原有的SOTA:GAN,在计算机视觉、NLP、波形信号处理、多模态建模、分子图建模、时间序列建模、电阻净化等诸多应用领域都有着优异的表现.此外,扩散模型与鲁棒学习、表示学习和强化学习等其他研究领域密切相关。然而,原始扩散模型也有缺点。其采样速度慢,通常需要数千次评估步骤才能抽取样本;其最大似然估计不能与基于似然的模型进行比较;它泛化到各种数据类型的能力较差。如今,许多研究从实际应用的角度解决上述局限性,或从理论的角度分析模型能力,做出了很多努力。然而,缺乏对扩散模型从算法到应用的最新进展的系统回顾。为了反映这一快速发展领域的进展,我们首次对扩散模型进行了全面审查。我们设想我们的工作将阐明扩散模型的设计考虑和先进方法,展示它们在不同领域的应用,并指出未来的研究方向。这篇综述的总结如下图所示:扩散模型虽然在各项任务中都有出色的表现,但也有其自身的不足,很多研究都对扩散模型进行了改进。为了系统地阐明扩散模型的研究进展,我们总结了原始扩散模型的三个主要缺点,例如采样速度慢、最大化似然性差和数据泛化能力弱,并提出将改进的扩散研究划分为模型分为相应的三类:采样速度增强、最大似然增强和数据泛化增强。我们首先解释改进的动机,然后根据方法的特点进一步对每个改进方向的研究进行分类,从而清楚地展示方法之间的联系和区别。这里我们只选取一些重要的方法作为例子。我们在工作中详细介绍了每一类方法,如图:分析完三类扩散模型,接下来介绍另外五种生成模型GAN、VAE、Autoregressivemodel、Normalizingflow、Energy-basedmodel.考虑到扩散模型的优良特性,研究人员根据扩散模型的特点将扩散模型与其他生成模型相结合,因此为了进一步论证扩散模型的特点和改进,引入扩散模型与其他生成模型的结合模型详细。工作并说明对原始生成模型的改进。扩散模型在很多领域都有优异的表现,同时考虑到扩散模型在不同的应用领域有不同的变形,我们系统地介绍了扩散模型的应用研究,包括以下领域:计算机视觉、NLP、波形信号处理、多模态建模,分子图建模,时间序列建模,对抗性纯化。对于每个任务,我们定义任务并引入工作,使用扩散模型来处理任务。我们将这项工作的主要贡献总结如下:新分类法:我们提出了一种新的系统分类法。具体来说,我们将模型分为三类:采样速度增强、最大似然估计增强和数据泛化增强。此外,我们将扩散模型的应用分为七类:计算机视觉、NLP、波形信号处理、多模态建模、分子图建模、时间序列建模和对抗性纯化。全面回顾:我们首次全面概述了现代扩散模型及其应用。我们展示了每个扩散模型的主要改进,与原始模型进行了必要的比较,并总结了相应的论文。对于扩散模型的每种应用类型,我们展示了扩散模型解决的主要问题,并说明了它们如何解决这些问题。未来研究方向:我们为未来的研究提出了开放性问题,并在算法和应用方面为扩散模型的未来发展提出了一些建议。2扩散模型的基础生成建模的一个核心问题是模型灵活性和可计算性之间的权衡。扩散模型的基本思想是通过前向扩散过程系统地扰动数据中的分布,然后通过学习反向扩散过程恢复数据的分布,从而得到一个高度灵活且易于实现的模型。计算生成模型。(1)DenoisingDiffusionProbabilisticModels(DDPM)DDPM由两个参数化的马尔可夫链组成,并使用变分推理在有限时间后生成与原始数据分布一致的样本。前向链的作用是扰乱数据。它按照预先设计的噪声进度逐渐对数据加入高斯噪声,直到数据的分布趋于先验分布,即标准高斯分布。反向链学习从给定的先验开始并使用参数化的高斯变换内核逐渐恢复原始数据分布。为了表示原始数据及其分布,前向链的分布可以用下式表示:由此可见,前向链是一个马尔可夫过程,是加入t步噪声后的样本,是给定的参数控制噪音的进度。当趋于1时,可以认为近似服从标准高斯分布。当它很小时,逆向过程的传递核可以近似认为是高斯的:我们可以将变分下界学习为损失函数:(2)Score-BasedGenerativeModels(SGM)上面的DDPM可以看成SGM的一种离散形式。SGM构造一个随机微分方程(SDE)平滑地扰动数据分布,将原始数据分布转化为已知的先验分布:以及相应的逆SDE,将先验分布变换回原始数据分布:因此,要反转扩散过程和生成数据,我们唯一需要的信息是每个时间点的得分函数。使用score-matching技术,我们可以通过如下损失函数学习scorefunction:关于这两种方法的进一步介绍以及两者之间的关系介绍,请参考我们的文章。原始扩散模型的三个主要缺点是采样速度慢、最大化似然性差和数据泛化能力弱。许多最近的研究已经解决了这些缺点,因此我们将改进的扩散模型分为三类:采样速度提升、最大似然提升和数据泛化提升。在接下来的三四五节中,我们将详细介绍这三类模型。3当应用采样加速法时,为了使新样本达到最佳质量,扩散模型往往需要进行数千步的计算才能得到一个新样本。这就限制了扩散模型的实际应用价值,因为在实际应用中,我们往往需要生成大量的新样本,为下一步的处理提供素材。研究人员在提高扩散模型的采样速度方面进行了大量研究。我们详细描述了这些研究。我们将其分为三种方法:离散化优化、非马尔可夫过程、部分抽样。(1)DiscretizationOptimization方法优化求解扩散SDE的方法。由于现实中求解复杂的SDE只能用离散解逼近真实解,因此该类方法试图优化SDE的离散化方法,在保证样本质量的同时减少离散步骤数。SGM提出了一种求解逆过程的通用方法,即对前向过程和后向过程采用相同的离散化方法。给定正向SDE的离散化:然后我们可以用相同的方式离散化反向SDE:这种方法比朴素的DDPM稍微好一些。此外,SGM向SDE求解器添加了一个校正器,以便在每一步生成的样本具有正确的分布。在求解的每一步,求解器给出一个样本后,校正器使用马尔可夫链蒙特卡洛方法对刚刚生成的样本的分布进行校正。实验表明,在求解器中加入校正器比直接增加求解器的步数效率更高。(2)非马尔可夫过程方法突破了原马尔可夫过程的局限性。逆过程的每一步都可以依赖更多的先前样本来预测新的样本,因此在步长较大时可以得到更好的结果。预测,从而加快采样过程。主体工作DDIM不再假设正向过程为马尔可夫过程,而是服从如下分布:DDIM的采样过程可视为离散化的神ODE,其采样过程效率更高,支持内插.进一步研究发现,DDIM可以看作是PNDM在流形扩散模型上的一个特例。(3)PartialSampling方法通过在生成过程中忽略一部分时间节点,只使用剩余的时间节点生成样本,直接减少了采样时间。例如,ProgressiveDistillation从经过训练的扩散模型中提炼出更有效的扩散模型。对于一个训练好的扩散模型,ProgressiveDistillation会重新训练一个扩散模型,使得新扩散模型的一个步骤对应于训练好的扩散模型的两个步骤,这样新模型可以节省旧模型一半的采样过程。具体算法如下:不断循环这个蒸馏过程可以成倍地减少采样步骤。4最大似然估计增强扩散模型在最大似然估计上比基于似然函数的生成模型表现差,但是最大似然估计在很多应用场景中具有重要意义,例如图像压缩,半监督学习,对抗性净化。由于对数似然难以直接计算,研究主要集中在变分下界(VLB)的优化和分析上。我们提供了模型的详细阐述,以改进扩散模型的最大似然估计。我们将其分为三类:目标设计、噪声调度优化和可学习的反向方差。(1)ObjectivesDesigning方法使用扩散SDE推导出生成数据的对数似然与匹配得分函数的损失函数之间的关系。这样,通过适当设计损失函数,可以最大化VLB和对数似然。宋等。证明了可以设计损失函数的权重函数,使得插件反向SDE生成的样本的似然函数值小于或等于损失函数的值,即损失函数为似然函数的上限。score函数拟合的损失函数如下:我们只需要将权重函数设置为扩散系数g(t),就可以使损失函数成为似然函数的VLB,即:(2)NoiseScheduleOptimizationthroughdesign或学习正向过程噪声级数以增加VLB。VDM证明当离散步数接近无穷大时,损失函数完全由信噪比函数SNR(t)的端点决定:那么当离散步数接近无穷大时,信噪比函数SNR(t)的端点可以学习到最优化VLB,通过学习信噪比函数中间部分的函数值来提升模型的其他方面.3.LearnableReverseVariance方法学习逆向过程的方差,从而减少拟合误差,有效最大化VLB。Analytic-DPM证明在DDPM和DDIM中在后向过程中存在一个最优期望和方差:使用上面的公式和训练好的得分函数,可以在给定正向过程的情况下逼近最优VLB。5DataGeneralizationEnhancedDiffusionModel假设数据存在于欧几里得空间,即具有平面几何形状的流形,加入高斯噪声必然会将数据转化为连续的状态空间,因此DiffusionModel最初只能处理图片连续的数据,比如离散数据或者其他数据类型直接套用到效果就差了。这限制了扩散模型的应用场景。一些工作将扩散模型推广到其他数据类型,我们详细说明了这些方法。我们将其分为两类方法:FeatureSpaceUnification、Data-DependentTransitionKernels。(1)FeatureSpaceUnification方法将数据转化为统一形式的潜在空间,然后在潜在空间上扩散。LSGM提出通过VAE框架将数据转换为连续的潜在空间,然后在其上扩散。这种方法的难点在于如何同时训练VAE和扩散模型。LSGM表明,由于潜在先验是难以处理的,因此分数匹配损失不再适用。LSGM直接使用VAE中传统的损失函数ELBO作为损失函数,推导出ELBO与scorematching的关系:这个公式在忽略常量的意义上成立。通过在扩散过程中参数化样本的得分函数,LSGM可以高效地学习和优化ELBO。(2)Data-DependentTransitionKernels方法根据数据类型的特点设计扩散过程中的转移核,使扩散模型可以直接应用于特定的数据类型。D3PM为离散数据设计了一个transitionkernel,可以设置为lazyrandom-walk、absorbingstate等。GEODIFF为3D分子图数据设计了一个平移-旋转不变图神经网络,证明了不变的初始分布和transitionkernel可以导出不变的边缘分布。假设是平移-旋转变换,如:则生成的样本分布也具有平移-旋转不变性:6与其他生成模型的联系在下面的每一小节中,我们首先介绍其他五类重要的生成模型,并分析他们的优势和局限性。然后我们描述扩散模型如何与它们相关,并说明如何通过合并扩散模型来改进这些生成模型。VAE、GAN、Autoregressivemodel、Normalizingflow、Energy-basedmodel和diffusionmodel之间的联系如下图所示:但是DDPM和一般的VAE也有区别。作为VAE,DDPM的encoder和decoder都服从高斯分布,有马尔可夫行;其隐变量维度与数据维度相同;解码器的所有层共享一个神经网络。DDPM可以帮助GAN解决训练不稳定的问题。由于数据处于高维空间中的低维流形,GAN生成数据的分布与真实数据的分布重合度低,导致训练不稳定。扩散模型提供了一个系统地加入噪声的过程,通过扩散模型对生成数据和真实数据加入噪声,然后将加入噪声的数据发送给判别器,可以有效解决GAN无法训练和训练不稳定。Normalizingflow通过双射函数将数据转化为先验分布,限制了Normalizingflow的表达能力,导致应用效果不佳。通过类比扩散模型向编码器添加噪声可以增加归一化流的表达能力。从另一个角度来看,这种做法是将扩散模型扩展为在前向过程中也可以学习的模型。自回归模型需要保证数据具有一定的结构,这使得自回归模型的设计和参数化变得非常困难。扩散模型的训练启发了自回归模型的训练,通过特定的训练方式规避了设计上的困难。Energy-based模型直接对原始数据的分布进行建模,但是直接建模使得学习和采样变得困难。通过使用扩散恢复似然,模型可以先在样本中加入微小的噪声,然后从轻微噪声的样本分布中推断出原始样本的分布,使学习和采样过程更简单、更稳定。7扩散模型的应用本节分别介绍扩散模型在计算机视觉、自然语言处理、波形信号处理、多模态学习、分子图生成、时间序列和对抗学习等七个应用方向上的应用,并对每一类应用中的方法进行了细分分析。例如,在计算机视觉中,扩散模型可用于图像补全和修复(RePaint):在多模态任务中,扩散模型可用于文本到图像生成(GLIDE);在分子图谱生成中,扩散模型也可用于药物分子和蛋白质分子的生成(GeoDiff):应用类别总结见表:8未来研究方向应用假设再检验。我们需要检查我们在应用程序中普遍接受的假设。例如,实践中普遍认为扩散模型的正向过程会将数据转化为标准高斯分布,但事实并非如此,更多的正向扩散步骤会使最终的样本分布更接近标准高斯分布分布,与采样过程一致;但是更多的前向扩散步骤也使得估计得分函数变得更加困难。理论条件难以获得,在实践中操作就会导致理论与实践的脱节。我们应该意识到这种情况并设计适当的扩散模型。从离散时间到连续时间。由于扩散模型的灵活性,许多实证方法可以通过进一步分析得到增强。通过将离散时间模型转化为相应的连续时间模型,进而设计出更多更好的离散方法,这样的研究思路是有前途的。新的构建过程。扩散模型生成样本的方法主要有两种:一种是将反扩散SDE离散化,再通过离散化的back-SDE生成样本;另一种是在逆过程中利用马尔可夫特性对样本进行渐进式去噪。然而,对于某些任务,在实践中很难应用这些方法来生成样本。因此,需要进一步研究新的生成过程和观点。推广到更复杂的场景和更多的研究领域。虽然扩散模型已经应用于多种场景,但大多局限于单输入单输出场景。未来可以考虑将其应用到更复杂的场景,比如文本到视听的语音合成。也可以考虑结合更多的研究领域。
