人工智能论文评述:通过估算数据分布的梯度来实现生成建模
如今,扩散模型已成为最具影响力的生成式人工智能系统之一。它们被应用于从图像合成与编辑到视频生成、科学发现以及多模态内容创作等诸多领域。 尽管这些模型具备令人印象深刻的功能,但其背后的基本原理却出奇地简单:它们从纯粹的噪声开始,逐步将其转化为真实的数据。 然而,这个简单的描述立刻引出了一个更深层次的问题:如果模型仅仅以随机噪声为起点,那么它如何知道在每一步该朝哪个方向发展?是什么让模型判断出某个微小的改变是会让图像变得更真实,还是会让它偏离真实数据的分布范围呢? 2019年,杨 Song和Stefano Ermon提出了一种新的视角,以一种简洁且符合数学原理的方式解答了这个问题。他们的框架并非试
如今,扩散模型已成为最具影响力的生成式人工智能系统之一。它们被应用于从图像合成与编辑到视频生成、科学发现以及多模态内容创作等诸多领域。
尽管这些模型具备令人印象深刻的功能,但其背后的基本原理却出奇地简单:它们从纯粹的噪声开始,逐步将其转化为真实的数据。
然而,这个简单的描述立刻引出了一个更深层次的问题:如果模型仅仅以随机噪声为起点,那么它如何知道在每一步该朝哪个方向发展?是什么让模型判断出某个微小的改变是会让图像变得更真实,还是会让它偏离真实数据的分布范围呢?
2019年,杨 Song和Stefano Ermon提出了一种新的视角,以一种简洁且符合数学原理的方式解答了这个问题。他们的框架并非试图直接学习整个数据分布的表示方式,而是专注于学习那些能够引导噪声样本向真实数据方向发展的局部规则。
这一看似朴实的观念转变,实际上成为了现代基于分数的生成建模的重要理论基础,并对后续发展的扩散模型产生了深远影响。
下图展示了这一概念性转变是如何改变扩散模型的。它不再将“生成过程”视为一种试图消除噪声的复杂任务,而是说明了杨 Song和Stefano Ermon是如何将这个问题重新定义为“学习某种能够指向真实数据的局部方向”——也就是所谓的“分数”。
基于这一思路,该图进一步阐述了这种建模方法的动机、传统分数建模方法所面临的挑战、噪声条件分数网络的引入机制,以及朗之万动力学在训练过程中的作用,从而揭示了如何通过一系列渐进式的方向性调整,将纯粹的噪声逐步转化为真实的图像。
论文概述
《通过估计数据分布的梯度进行生成建模》(2019年)这篇论文提出了基于分数的生成建模方法,这种新范式关注的是数据分布的“分数”,而非数据分布本身。
通过将生成建模重新定义为分数估计的过程,该论文为基于似然度的模型和GANs提供了一种原理性的替代方案,这种方法结合了灵活的架构、稳定的优化机制以及易于处理的学习目标。
这些理念为现代基于分数的生成模型奠定了基础,并在当今扩散模型的发展过程中发挥了核心作用。
以下是一张信息图,简要概括了我们在本次综述中将要讨论的内容,重点介绍了该论文的核心思想、研究方法及其深远影响。
目录:
摘要
本文提出了一种新的生成建模范式,这种范式将学习目标从对数据分布本身的建模转变为学习“得分”——即对数数据密度的梯度值,该梯度值能够指示通往概率较高区域的方向。一旦掌握了这个“得分场”,就可以通过从随机噪声开始,然后利用朗之万动力学迭代地沿着这些学到的方向进行运算,从而生成新的样本。然而,作者指出,这一看似简单的理念在应用于真实世界数据时便会遇到问题。人们普遍认为,自然图像存在于高维空间中嵌入的低维流形上,因此,在这些数据流形之外,该评分机制就无法得到合理的定义。同时,在低密度区域准确估算这一评分值尤为困难,因为这些区域的训练数据极为稀缺,而恰恰正是从这些区域开始进行采样工作的。综上所述,这些挑战使得基于评分的生成模型无法产生可靠的样本。
为了解决这些问题,本文提出通过添加多级高斯噪声来干扰数据,使数据分布范围从低维流形扩展到周围的空间中,从而丰富训练数据集,并让神经网络能够在那些原本数据稀疏的区域中获得有用的学习信息。随后,模型会使用单个噪声条件评分网络来计算每个生成数据分布的评分值。
在采样过程中,模型会采用退火朗之万动力学算法,从被大量干扰的数据样本开始,逐步降低噪声强度。在每一阶段,相应的评分估计值都会引导样本向数据分布中更加真实的区域移动,最终获得高质量的数据样本。
这一框架的最大优势在于其概念上的简洁性。它不需要采用对抗性训练方法,在优化过程中也不需要进行采样操作,对网络架构也没有任何限制要求;同时,它还提供了一个易于处理的训练目标,使得不同模型之间可以进行有意义的定量比较。
在MNIST、CelebA以及CIFAR-10数据集上进行的实验表明,所提出的方法生成的样本质量与当前的GAN模型及基于概率的生成模型相当,在发表时,该方法在CIFAR-10数据集上取得的Inception Score值为8.87,属于当前最先进的水准。
除了用于图像生成之外,这种学习得到的评分表示机制还能有效实现图像修复功能,这说明该模型确实捕捉到了关于数据分布的丰富结构信息。
引言
生成模型已成为现代机器学习的核心研究领域之一,它们能够合成逼真的图像、生成语音和音乐、提升半监督学习的效果、检测异常现象、模仿专家行为,还能为强化学习中的探索任务提供支持。
多年来,两种主要的范式在生成模型领域占据了主导地位:基于概率的模型和生成对抗网络(GAN)。这两种方法都取得了显著的成就,但它们各自也存在一些根本性的缺陷。 基于概率的模型往往需要采用结构较为复杂的架构或进行成本高昂的近似计算;而GAN则依赖于不稳定的对抗训练过程。因此,这两种方法都无法提供一个能够同时实现高质量数据生成、稳定优化、架构灵活性以及易于处理的训练目标的统一框架。 正是这种差距促使杨松和斯特凡诺·埃尔蒙着手开发基于“分数”的生成模型技术。 本文首先质疑这些缺陷是否真的必不可少。作者并没有试图设计另一种现有的生成模型变体,而是从根本不同的角度来审视这个问题。他们的关键发现是:与基于概率的模型不同,高质量的数据生成并不需要直接学习数据的分布规律。事实上,只要学会计算“分数”——即对数数据密度的梯度值——就能让模型知道应该朝哪些方向移动,从而更有可能生成真实的数据。 基于这一理念,本文构建了一个完整的基于“分数”的生成模型框架,该框架将合理的训练目标与高效的采样方法相结合。在实践过程中,作者指出了将这一理论应用于实际数据集时所面临的各种理论和实践挑战,并提出了一系列解决方案,使得这个框架既稳定又具有可扩展性。 最终,这种新的范式避免了对抗训练的需求,也不需要使用结构复杂的概率模型,同时为模型的训练和评估提供了易于处理的目标函数。更重要的是,这里提出的理念后来成为了基于“分数”的扩散模型的理论基础,而这些模型在后续几年里彻底改变了生成式人工智能的发展方向。 在进一步深入研究这篇论文之前,了解推动这项研究的更广泛背景是很有帮助的。下图对比了在本文发表之前主导生成模型发展的两种主要范式,指出了这两种方法都无法完全解决的缺陷,并明确了本文的核心目标:寻找一个既能实现高效的数据生成,又能保证训练过程的稳定性,同时还能拥有有意义训练目标的实用框架。 左侧部分总结了基于概率的模型的局限性,这些模型要么依赖于过于严格的建模假设,要么需要使用替代性的优化目标函数。右侧部分重点说明了生成对抗网络的优势与劣势:这种基于对抗训练的方法通常能够生成逼真的样本,但其稳定性较差,且难以进行定量评估。
中间部分的信息图展示了这两种方法在概念上的差异,并介绍了本文提出的基于分数的建模方法——这种方法旨在在一个统一的框架内同时实现模型的灵活性、稳定性和易优化性。
2. 基于分数的生成建模
本文的核心在于提出了一种简单而有效的思维方式。传统的生成模型试图直接学习数据分布本身,但这一任务在数学上往往难以处理,在计算上也存在很大限制。
作者们提出了另一种方法:学习数据的分数,即对数密度的梯度。该模型并不尝试估算每个数据点出现的概率,而是学习那些能够引导数据向更高概率区域移动的方向。
这种视角将生成建模转化为一个分数估计问题。通过训练神经网络使其能够根据数据直接计算出这个分数函数,一旦获得了这个向量场,就可以从随机噪声开始,利用这些方向通过朗之万动力学生成新的样本。
因此,这一框架自然地分为两个相互补充的阶段:在训练阶段学习分数场,在推理阶段利用这个学到的分数场来指导采样过程。
最初,对分数的这种抽象定义可能会让人感到难以理解,因为它用梯度代替了概率这一概念。
下方的信息图通过将数据分布比作山地景观来帮助人们理解这一概念:模型不需要测量每个位置的高度,只需了解哪些方向是通往高地的即可。
这个简单的类比准确抓住了基于分数的生成建模的核心思想,也解释了为什么学习梯度比直接模拟整个概率分布更为实用。
信息图的左侧部分展示了传统方法——估算对数密度分布的情况,但这种做法在实际操作中往往不可行,因为计算归一化常数通常非常困难。
中间部分的介绍指出,分数函数实际上是一个向量场,其箭头始终指向概率较高的区域,因此模型无需直接计算数据的密度,就能在数据分布中找到正确的采样方向。
右侧将这种直觉与“分数匹配”机制联系起来——在这种机制中,神经网络会被训练来直接预测这些方向。一旦系统掌握了这些分数分布规律,朗之万动力学就会按照这些预测向量逐步引导随机噪声,使其逐渐趋近于真实的数据样本。
2.1 用于分数估计的分数匹配方法
一旦确定分数函数是我们需要关注的对象,接下来的挑战就是直接从数据中学习这个函数。
分数匹配方法恰恰提供了这样的能力。它并不去估计概率密度然后再对其进行微分处理,而是训练神经网络来直接逼近分数函数本身。这样一来,它就避免了进行显式的密度估计,同时仍然能够获取通过朗之万动力学生成新样本所需的信息。
本文采用的这种建模方式有一个实际优势:它直接对分数函数进行建模,而不是将其限制在基于能量的模型的梯度范围内。这种设计消除了在优化过程中计算高阶导数的需要,从而使学习过程变得更加高效。在满足一定的规则性条件下,通过最小化分数匹配目标值,就能够得到真实的分数函数。
尽管分数匹配方法具有优雅的理论基础,但它并不适合现代深度神经网络的使用。其优化过程需要计算分数网络的雅可比矩阵的迹,而这种计算的复杂度会随着数据维度的增加而迅速上升。对于高分辨率图像或复杂的深度神经网络结构来说,这种方法很快就变得不切实际了。
解决这一计算瓶颈是本文接下来的重要研究方向之一,也正是下一节中将要介绍的可扩展分数匹配方法的研究动机所在。
2.2 去噪与分片分数匹配方法
原始的分数匹配方法为学习分数函数提供了一种优雅的方式,但其高昂的计算成本使得它在现代深度学习环境中难以应用。
为了克服这一限制,作者提出了两种可扩展的替代方案,这些方案在保留学习分数函数这一核心理念的同时,避免了计算雅可比矩阵迹这一耗时且成本较高的操作。尽管这两种方法优化的目标不同,但它们最终都致力于实现同一个目的:在不显式建模概率密度的情况下估计分数函数。
去噪分数匹配方法会对每个训练样本添加高斯噪声,然后训练网络来预测这种含噪声数据分布的分数值。这种改进使得计算雅可比矩阵迹变得不再必要,从而使优化过程变得更加简单且易于扩展。当噪声水平足够低时,通过这种方法学习得到的分数函数会趋近于原始数据分布的分数值,从而提供了一种在实践中表现良好的高效近似方法。
“切片得分匹配”方法从不同的角度解决了同样的计算难题。它并非通过添加噪声来处理数据,而是利用前向模式自动微分计算出的随机投影来估计雅可比矩阵的迹值。
这种方法能够在避免产生过高计算成本的同时,给出对原始得分匹配目标的无偏估计。然而,其计算复杂度仍然远高于“去噪得分匹配”方法——所需的计算量大约是后者的四倍,因此在本文的其余部分,“去噪得分匹配”被作为更优选的方法来使用。
这两种方法虽然都是为了解决同一个问题,但采用的实现路径截然不同。下图对比了它们的训练目标、计算要求以及实际应用中的权衡因素,从而解释了为什么“去噪得分匹配”最终成为了本研究采用的主要训练策略。
左图展示了“切片得分匹配”的工作原理:通过使用随机投影方向来近似计算复杂的雅可比矩阵迹值,虽然计算成本较高,但能够保持对原始目标的准确估计。
右图则介绍了“去噪得分匹配”方法:该方法通过向数据中添加高斯噪声来扰动数据样本,然后训练神经网络来预测这些含噪声数据对应的得分值。
中间的对比部分清晰地揭示了这两种方法之间的关键区别:“切片得分匹配”虽然能提供无偏的估计结果,但计算量巨大;而“去噪得分匹配”则具有更简单、更具可扩展性的优化流程。
尽管存在这些差异,这两种方法最终都能学习到相同的底层得分函数,并且都不需要显式地计算数据密度。
2.3 利用朗之万动力学进行采样
学习得分函数仅仅是整个框架的一半内容,剩下的挑战在于如何利用这些学到的信息来生成新的样本。朗之万动力学正是通过将估计得到的得分场转化为实际的采样流程,从而弥补了这一空白。
从随机初始状态开始,朗之万动力学会不断沿着估计出的得分方向进行移动,并在每次迭代过程中添加少量高斯噪声。得分函数会引导样本向概率较高的区域移动,而添加的噪声则有助于样本探索更多可能性,同时防止其陷入局部最优解中。
通过这些不断的更新过程,随机噪声逐渐被转化为与底层数据分布相似的样本。
从理论角度来看,只要得分函数的估计足够精确,当步长趋近于零且迭代次数无限增加时,朗之万动力学最终会收敛到目标分布上。
在实践中,这些理想条件是无法实现的,因此本文认为,选择足够小的步长并进行足够的迭代,就可以获得接近理想的采样结果。
因此,在这一框架中,得分匹配与朗之万动力学起到了互补的作用:前者用于学习描述样本应如何移动的向量场,而后者则根据这个学习得到的向量场来生成新的数据。这两者共同构成了基于得分的生成建模的核心原理,本文的后续内容也是建立在这一原理之上的。
3. 基于得分的生成建模所面临的挑战
到目前为止,本文已经构建了一个较为完善的框架:通过得分匹配来学习得分函数,然后利用朗之万动力学来生成新的样本。
乍一看,这个框架似乎为生成建模提供了一套完整的解决方案。但作者指出,将这一框架直接应用于现实世界的数据时,会遇到一些意想不到的困难。
在介绍他们提出的解决方案之前,本文首先分析了两种根本性的障碍,这些障碍使得基于得分的生成建模在实践中无法可靠地发挥作用。理解这些限制非常重要,因为它们正是促使作者设计出“噪声条件得分网络”和“退火朗之万动力学”这两项关键创新技术的直接原因。
3.1 流形假设
第一个障碍源于得分匹配所基于的假设与现实世界数据的结构之间的不匹配。
传统的得分匹配方法假定数据分布在整个空间中都具有“完全支撑”,也就是说,得分函数在所有地方都是明确定义的。
然而,真实的图像并不符合这一假设。人们普遍认为,真实图像实际上位于某个低维流形上,而这个流形是嵌入在一个维度更高的空间中的。
这种结构差异给基于得分的生成建模带来了根本性的困难。由于得分函数实际上是定义在数据所在流形上的对数密度梯度,因此当数据位于流形之外时,得分函数就失去了意义——因为在那些区域,概率密度实际上为零。这样一来,得分匹配所具有的理论保障也就不再成立,直接从未受干扰的数据中学习得分函数,就会得到不稳定且不一致的结果。
为了验证这一问题,作者直接在CIFAR-10数据集上训练了一个基于得分匹配的模型。结果发现,优化过程根本无法收敛,训练损失值在整个训练过程中不断波动。
随后,他们在数据中添加了几乎无法察觉的高斯噪声,重新进行了实验。这种微小的干扰使得数据分布在整个空间中变得均匀,从而恢复了“完全支撑”的条件,使得分函数在所有地方都得到了明确的定义。在这种条件下,模型的训练过程变得稳定且能够顺利收敛。
这项实验为本文提供了最重要的发现之一。即使添加极少量的高斯噪声,也并非仅仅是一种数值技巧;这种做法实际上恢复了分数匹配所必需的数学条件。这一观察结果成为了后续章节中介绍的基于噪声条件的框架的理论基础。
流形假设是一个抽象的概念,往往难以直观理解。下图通过信息图表说明了当数据仅占据高维空间中的某个薄层区域时,分数匹配为何会失效,同时也展示了如何通过添加少量高斯噪声来恢复稳定学习所需的条件。
左图阐释了流形假设的原理:真实图像只存在于一个维度较低、范围较小的区域内,而这个区域嵌入在维度更高的整体空间中。由于在这个区域之外分数值是未定义的,因此直接应用分数匹配方法会导致优化过程变得不稳定,右上角图表中波动的训练损失曲线就证明了这一点。
下半部分则展示了本文的核心观点:添加少量高斯噪声可以使数据分布扩展到流形之外的区域,从而在整个高维空间中为模型提供稳定的支持。这样一来,分数匹配方法的有效性得以恢复,进而实现稳定的收敛过程,同时也为“基于噪声条件的分数网络”奠定了数学基础。
3.2 低密度区域
在低密度区域内,由于训练数据量不足,无论是通过分数匹配进行分数估计,还是利用朗之万动力学进行采样,都会面临极大的挑战。
3.2.1 分数匹配方法导致的分数估计不准确
即使解决了流形相关的问题,在数据空间的低密度区域,分数估计仍然十分困难。这些区域的训练样本数量极少甚至根本没有,这意味着模型在这些概率密度极低的区域内几乎无法获得任何有用的指导信息。因此,在最需要精确预测的地方,模型得出的分数结果往往并不可靠。
作者们使用高斯混合模型来说明这一现象:在训练数据较为丰富的的高密度区域附近,模型计算出的分数与真实值非常接近;然而在这些区域之间,由于模型缺乏足够的信息来推断正确的梯度方向,因此估计结果的准确性会大幅下降。而在采样过程中,这些估计不准确的区域尤其会成为问题,因为朗之万动力学通常需要从远离数据流形的区域开始运行,然后才能逐渐进入这些低密度区域以获取真实的样本数据。
这一观察结果表明,仅仅在数据附近进行准确的分数估计是远远不够的。要想让基于分数的生成模型取得成功,该模型必须能够在整个采样过程中学习到可靠的梯度信息,包括那些观测到的数据非常少或根本没有数据的区域。
为了解决这一挑战,本文后续部分引入了基于噪声条件的框架,这一框架正是为了解决这一问题而设计的。
3.2.2 朗之万动力学的缓慢混合过程
即使分数估计非常准确,当数据分布包含多个彼此分离明显的模式时,采样仍然会遇到困难。原因在于,分数仅能提供关于概率增加方向的局部信息它只能告诉采样器如何在某个特定模式下移动,但却无法揭示那些被大面积低密度区域隔开的遥远模式之间的相对概率分布。
因此,朗之万动力学在跨越不同模式时可能会遇到困难,从而导致生成的样本中各模式的混合比例不正确。当这些模式完全彼此独立时,某个模式内的分数信息根本无法反映其他模式的存在或权重;即使这些模式之间存在某种弱关联,要穿过那些低密度区域进行过渡也会变得极为罕见,这就需要使用非常小的步长并进行大量迭代,采样器才能最终达到正确的稳态分布。
本文通过高斯混合模型的例子来说明这一现象。即便给朗之万动力学提供了精确的分数函数,它也无法准确还原各个模式中样本的实际占比。这个实验表明,这种限制并非仅仅由分数估计不准确所导致,而是反映了每当采样过程需要穿越大面积低密度区域时就会出现的固有问题。
前文已经提到,在训练数据较少的区域内,分数估计会变得不可靠。下面的信息图进一步说明了这一限制是如何影响采样的过程的。通过将不同模式比作被广阔海洋隔开的孤立岛屿,该信息图解释了为什么仅依靠局部梯度信息是远远不够的,无法恢复遥远模式之间的正确平衡关系。
这个信息图将高密度模式比作那些被低密度区域分隔开的岛屿。在每个模式附近,分数场确实能够准确指示概率较高的方向,但它无法反映远处模式的相对重要性。因此,朗之万动力学很容易被困在某个特定区域内,而很少能跨越那些低密度的“荒漠”区域进行过渡。
高斯混合模型的例子再次证明了这一现象:即使使用了正确的分数函数,采样器也无法得到各模式之间正确的混合比例。正是这种问题,使得人们迫切需要一种能够可靠地探索整个概率分布的采样策略,而不仅仅依赖局部梯度信息。
4. 提出的解决方案:
上一节讨论的这两个问题得出了相同的结论:仅根据原始数据分布来学习得到的评分函数,不足以用于可靠的生成建模。
作者通过一种基于在高斯噪声的多个层次上学习评分值的统一策略,解决了这两个限制问题。
4.1 噪声条件评分网络
添加高斯噪声会从根本上改变数据分布的几何结构。即使是很小的扰动,也会使分布在整个空间范围内都得到有效的支持,从而恢复评分匹配所必需的数学前提。
随着噪声水平的增加,原本为空的低密度区域会逐渐被训练样本填充,从而使模型能够在整个空间范围内学习到有意义的评分值,而不仅仅是在数据流形附近。
为了高效地利用这一原理,作者提出了噪声条件评分网络(NCSNs)。他们没有为每一个经过扰动的分布分别训练一个模型,而是使用同一个神经网络,在不同的噪声水平下学习相应的评分函数——从那些容易被建模的严重受损样本,到那些与原始数据非常相似的轻微扰动样本。
这些学习得到的评分值共同构成了一个层次结构,逐渐将简单的含噪分布与真实的数据分布联系起来。
在图像生成方面,该论文采用了U-Net风格的架构,并结合了扩张卷积技术,从而使模型既能进行密集预测,又拥有较大的感知范围。该网络通过条件实例归一化来适应当前的噪声水平,使得同一个模型能够调整其内部表示机制,从而为不同噪声级别的数据生成合适的评分值。
在采样过程中,生成过程是从与最高噪声级别相关的评分值开始的,因为在这个阶段进行探索会更为容易;随后样本的噪声水平逐渐降低,其结构也会变得越来越清晰。
由于连续的噪声级别对应着相似的数据分布,因此每个阶段自然会成为下一个阶段的起点,从而使模型能够将粗略的结构逐步细化为真实的图像。这种渐进式的采样策略被正式称为退火朗之万动力学。
下面的信息图总结了这一完整的框架。它说明了如何通过一系列逐渐增加扰动的图像来定义多个训练分布,如何让一个NCSN学习到每个噪声级别对应的评分值,以及如何通过加权去噪评分匹配目标、网络架构和小批量训练流程共同作用,在整个噪声范围内学习到可靠的梯度值,从而逐步引导随机噪声向真实的数据分布靠拢。
4.2 通过得分匹配学习噪声条件得分网络
作者们使用去噪得分匹配方法来训练噪声条件得分网络,不过他们也指出,切片得分匹配也能取得类似的性能。
对于每一个高斯噪声水平,该网络都会通过独立的去噪目标函数来学习相应扰动分布的得分。这些目标函数最终会被合并成一个加权损失函数,从而使一个网络能够同时估计出整个噪声水平序列中的得分值。
由于整体目标函数仅仅是各个局部损失函数的加权和,因此优化这个目标函数就能得到每个扰动分布的正确得分函数。
为了在训练过程中平衡不同噪声水平的贡献,每个目标函数都会根据其对应的噪声标准差σ²进行加权。这种加权机制可以防止高噪声分布主导整个优化过程,同时确保那些受到轻微扰动的样本也能对结果产生影响。
最终得到的这个目标函数易于优化,且能够自然地应用于深度神经网络中;此外,它还提供了一个便于进行定量模型比较的损失函数。
4.3 通过退火朗之万动力学进行噪声条件得分网络的推理
一旦噪声条件得分网络学会了每个噪声水平下的得分值,就可以使用退火朗之万动力学来生成新的样本。
该算法并不直接从几乎无噪声的数据分布中抽取样本,而是先从纯高斯噪声开始,然后逐步降低噪声水平。在每一个阶段,朗之万动力学都会利用当前噪声水平对应的得分函数来优化样本,然后再将其传递到下一个阶段。随着噪声水平的逐渐降低,样本会从一个粗糙的随机状态逐渐演化成一个真实的数据点。
这种渐进式的采样方法比仅在最终噪声水平时应用朗之万动力学要可靠得多。高噪声分布使得样本更加平滑、更易于处理,从而使采样器能够在不同模式之间自由切换,最后逐步聚焦到细节上。由于相邻的噪声水平对应的分布相似,因此每一个阶段都能为下一个阶段提供良好的初始条件,从而实现从全局探索到精确重建的平稳过渡。
为了在整个过程中保持稳定的更新效果,步长会根据当前噪声水平的平方来进行调整,这样就能在整个退火过程中使信噪比大致保持不变。
本文通过高斯混合模型证明了这一优势。标准朗之万动力学在恢复不同模式之间的正确比例方面存在困难,而经过退火处理的朗之万动力学则能够通过在高噪声环境下进行采样,然后随着噪声水平的降低逐步优化样本,从而成功保留真实的分布特征。
下表详细列出了标准朗之万动力学与本文提出的退火版本之间的关键差异,这些差异解释了为什么退火处理对于实现基于分数的生成模型而言至关重要。
下面的信息图详细说明了退火朗之万动力学是如何将纯粹的噪声转化为逼真样本的。它展示了整个推理过程:样本是如何在不同的噪声水平下被逐步采样的,为什么从初始状态开始时使用高度扰动的分布能够提升探索效果,以及如何通过渐进式的去噪过程使模型在每个阶段都能准确恢复各模式之间的比例关系,同时细化图像细节。
该信息图首先从宏观层面进行了说明:当噪声水平逐渐降低时,随机生成的噪声图像也会变得越来越清晰。接着,它详细解释了退火朗之万动力学算法的工作原理,说明了在每个噪声级别下,模型会进行多少次朗之万更新,之后才会将样本传递到下一个噪声更低的阶段。
中间的图表解释了为什么这种渐进式的处理方式能够避免标准朗之万动力学所存在的混合效果不佳的问题;而下面的图表则展示了如何先形成粗略的整体结构,只有在进行最后的去噪阶段时,细小的视觉细节才会逐渐显现出来。
综上所述,这些示意图清楚地说明了为什么退火处理能够将一个复杂的采样问题转化为一系列相对简单的步骤,从而使基于分数的生成模型既稳定又高效。
4.4 端到端架构概述
到目前为止,我们已经讨论了这一框架的各个组成部分。我们了解了模型是如何在不同的噪声水平下学习分数函数的,以及这些学到的分数函数之后又是如何被用来生成新样本的。下一步,我们需要将这些组件视为一个整体、连贯的处理流程来看待。下图信息图总结了论文中提出的完整架构,详细展示了从训练到推理的整个流程。
该图说明了如何用高斯噪声干扰真实图像,如何让噪声条件得分网络学习出对应于不同噪声水平的得分函数,以及这些学到的得分是如何通过退火朗之万动力学被重新利用,从而将纯粹的高斯噪声转化为逼真的图像。
这一框架最精妙的地方在于它清晰地区分了学习过程和生成过程。在训练阶段,网络并不会尝试直接合成图像,而是学习一系列与不同噪声水平相对应的得分函数;而在推理阶段,这些学到的得分估计值就成了采样过程中唯一的指导依据,使得退火朗之万动力学能够逐步去除噪声,最终得到逼真的样本。
因此,整个生成过程完全依赖于训练期间学到的那些得分函数,从而构成了一个简洁而连贯的端到端生成模型。
图表的左侧展示了训练过程中的数据流动方式:首先将真实图像加入选定的高斯噪声中,然后将其输入噪声条件得分网络,该网络会预测出相应的得分向量场;随后将预测得到的得分与去噪目标进行比较,并通过加权训练目标更新网络参数。
右侧则展示了推理过程:生成过程是从纯粹的高斯噪声开始的,而不是从真实图像开始。退火朗之万动力学会反复应用学到的得分估计值,同时逐渐降低噪声水平,经过多个阶段的优化处理,最终得到符合目标数据分布的样本。
综上所述,这两种流程共同证明了同一个学到的得分函数是如何将训练过程和采样过程有机地结合在一起,形成一个统一的生成框架的。
5. 实验
这些实验旨在验证所提出的框架是否能够将其理论优势转化为实际的生成效果。除了评估图像质量外,作者还研究了噪声条件得分网络与退火朗之万动力学的结合是否能够有效解决之前提出的问题,从而在多个数据集上实现稳定的训练过程、可靠的采样结果以及具有竞争力的图像生成能力。
实验是在MNIST、CelebA和CIFAR-10数据集上进行的,采用了论文中提出的多噪声训练策略。作者从定性和定量两个方面对实验结果进行了评估,包括生成的样本质量、去噪过程中的表现、图像修复效果、最近邻检索功能,以及与当前基于概率模型的方法及GANs的对比分析。此外,还通过一系列消融实验来单独研究各个组件的作用,从而更全面地评价所提出的训练目标和采样策略的有效性。
实验结果一致地证明了所提出的设计是有效的。样本能够从纯粹的噪声逐渐演化成逼真的图像,而最近邻分析也表明,该模型真正学习到了有意义的数据表征方式,而非仅仅记住了训练集中的数据。
进一步的消融实验进一步证实:使用单一噪声水平进行训练或取消退火策略会显著降低样本的质量,这充分说明了多噪声学习机制与退火处理的Langevin动力学是这一框架中不可或缺的关键组成部分。
从量化指标来看,在论文发表时,该模型在CIFAR-10数据集上取得了高达8.87的Inception Score分数,并且其FID值仅为25.32,这一成绩证明:基于分数评估的生成模型无需采用对抗性训练,就能够与当前最先进的生成模型相媲美。
下图直观地总结了论文中提到的各项实验结果。它结合了定性分析、定量测试以及消融实验,详细展示了所提出框架在实际应用中的表现,同时也解释了各个组成部分为何能共同促成这一框架的成功。
综上所述,这些实验结果为我们的假设提供了有力的实证支持——所提出的框架确实能够在学习有意义的数据表征方式的同时,生成出逼真的图像样本。
图像修复
除了能够生成随机图像外,作者还证明了噪声条件分数网络同样可以用于图像修复任务。
通过对退火处理的Langevin动力学算法进行轻微调整,该模型能够在保留原始样本中所有像素信息的同时,重建出任意形状的缺失区域。
与PixelCNN这类按固定顺序生成图像的自回归模型不同,噪声条件分数网络能够自然地处理不规则形状的修复区域,而无需预先定义生成序列。
这些实验结果表明,模型所学习到的分数场包含了关于数据分布的充足结构信息,因此它既能用于生成逼真的图像,也能有效地完成图像修复任务。从原始数据到最终结果
到目前为止,本文已经介绍了基于分数的完整生成框架,并证明了其在实际应用中的有效性。在进入最后的讨论之前,将整个实验流程视为一个连续的工作流程来看待,会非常有帮助——这个流程从数据准备一直持续到最终结果的生成。
下图总结了本文中使用的整个实现流程。该图表并没有关注网络内部的运作机制,而是遵循数据流动的顺序:首先准备基准数据集,然后生成不同强度的高斯噪声,接着利用去噪分数匹配来训练模型,最后通过退火朗之万动力学利用学到的分数函数来生成和恢复图像。从头到尾理解这一过程,有助于将各个环节整合成一个连贯的训练与推理流程。
这个工作流程始于本文中使用的三个基准数据集:MNIST、CelebA和CIFAR-10。在进行了简单的预处理操作(包括像素归一化和适当的数据增强处理)之后,会生成一系列不同强度的高斯噪声,从而创建出被扰动的训练数据分布。然后使用之前介绍的加权目标函数,通过去噪分数匹配来训练模型。
训练完成后,会利用Inception Score和FID等定量指标来评估学到的分数函数,同时还会进行包括渐进式去噪、最近邻检索和图像修复在内的定性分析。
最后一步展示了该框架所产生的输出结果,说明了同一个学到的分数函数如何同时支持无条件图像生成和图像恢复功能。
6. 相关研究
作者将噪声条件分数网络(NCSNs)归类到基于马尔可夫链的生成模型这一更广泛的范畴中,同时指出了基于分数的学习方法所带来的概念性变革。
现有的许多方法要么优化基于似然的目标函数,要么在训练过程中依赖耗时的马尔可夫链模拟。相比之下,NCSNs直接通过分数匹配来学习分数函数,并将采样操作完全推迟到推理阶段进行,因此无需在优化过程中进行迭代采样。
这种将学习过程与采样过程分开的设计方式提供了更大的灵活性。不同的分数估计目标可以与不同的基于梯度的采样算法相结合使用,而不会改变整个框架的结构,这使得训练流程和推理算法可以独立发展。
作者们还指出,这种方法自然而然地也可以应用于基于能量的模型中,因为这些模型可以直接学习其得分函数,而无需进行显式的似然估计。
本文进一步将NCSNs与早期的得分匹配、对比散度以及转移算子方法区分开来。尽管这些方法同样依赖于梯度或马尔可夫链,但许多方法在训练过程中需要耗费大量计算资源进行采样,或者它们的开发初衷也与NCSNs不同。
同样地,虽然之前的退火技术也曾被用于去噪自编码器和表示学习领域,但本文提出的退火朗之万动力学是专门为基于得分的生成建模而设计的,在产生高质量样本的过程中发挥着核心作用。
7. 历史意义:为何这篇论文如此重要
尽管这篇论文提出了一种新的生成建模方法,但其真正的价值直到后来才得以充分体现。这一方法并没有成为一个孤立的研究理念,而是从根本上改变了研究人员处理“从噪声中生成有意义数据”这一问题的方式。
通过证明在多个不同噪声水平下学习得分函数可以替代传统的密度估计方法,这篇论文为生成式人工智能的发展指明了新的方向,而这一方向很快便成为了该领域的主流研究范式之一。
下面的信息图将这项工作放在更广阔的历史背景下进行阐释。它展示了这篇论文是如何将两条重要的研究线索联系起来的:一条线索源于非平衡热力学和逆向扩散理论,另一条线索则通过噪声条件得分网络引入了基于得分的学习方法。
这些思想最终汇聚成了基于得分的随机微分方程框架,这一框架将扩散模型与得分匹配方法统一在相同的数学表达式中。与此同时,同样的原理也催生了去噪扩散概率模型,为这一基本过程提供了另一种离散时间形式的表述方式。
信息图还重点强调了这篇论文所取得的技术成就。它提出了一种实用的理论框架,这种框架结合了稳定的优化机制、可扩展的训练流程以及无需对抗学习即可生成高质量图像的能力。通过多噪声训练和退火朗之万动力学方法解决了相关技术难题,这篇论文终于将基于得分的生成建模从一个优雅的理论概念转变成了一个实际可行的应用框架。
或许最重要的启示在于:现代的扩散模型实际上只是从不同角度对同一个基本原理进行阐释而已。去噪扩散概率模型是将生成过程描述为逆转一个前向的噪声化过程,而基于得分的模型则学习引导这一逆向过程的梯度场。这些方法在数学表达上可能存在差异,但它们本质上描述的都是相同的生成机制,后来也通过随机微分方程得到了统一的表述。
如今,许多具有影响力的生成模型其概念基础都可以追溯到这篇论文中提出的思想。诸如分类器引导、无分类器引导、Score-SDE模型、Imagen、Stable Diffusion以及众多后续的扩散系统,都是建立在这篇论文所确立的基于分数的原理之上的。正因如此,这项工作被广泛认为是塑造现代扩散模型生态系统的基础性文献之一。
信息图左侧展示了扩散研究的历史发展过程,说明了早期关于非平衡热力学的研究与这篇论文中提出的基于分数的建模方法是如何共同促成了Score-SDE和DDPM的出现,并进而发展为今天的扩散模型生态系统。
信息图右侧总结了这篇论文的核心贡献,对比了基于分数的建模方法与传统的扩散建模思路,强调了这两种框架虽然使用不同的数学公式,但实际上描述的是同一个生成过程。
通过时间线与概念上的对比,我们可以清楚地理解为什么这篇论文会成为现代生成式人工智能的基石。
8. 结论
这篇论文将基于分数的生成建模方法确立为一种实用的选择,它既弥补了基于概率模型的局限性,也超越了生成对抗网络的功能。该方法通过结合分数匹配进行学习与利用朗之万动力学进行采样,实现了有效的生成过程。
为了使这一框架能够在真实世界的数据上发挥作用,作者们引入了噪声条件分数网络和经过优化处理的朗之万动力学机制,通过多噪声训练和渐进式采样等方法,克服了传统基于分数的建模方法所存在的局限性。
最终形成的这个框架在训练过程中无需进行对抗性优化或采样操作,同时在对网络架构的要求上也较为灵活,并且提供了易于处理的学习目标。在MNIST、CelebA和CIFAR-10数据集上的实验结果表明,这些技术能够带来出色的生成效果;在论文发表时,其在CIFAR-10数据集上取得的Inception Score高达8.87。
更重要的是,这项工作的意义远远超出了其实验结果本身。通过证明跨不同噪声水平学习分数函数是构建可扩展生成模型的基础,这篇论文提出了后来发展成为现代基于分数的扩散模型的一系列核心原理,这些原理也深刻影响了当今许多生成式人工智能的研究方向。
9. 这篇论文之后的发展:扩散模型的演变历程
这篇综述主要关注了宋和埃尔蒙在2019年发表的论文,但这个故事并没有就此结束。这里介绍的框架成为了生成式建模领域的一个重要转折点,它在随后几年里推动了该领域的快速发展,从而重塑了这个学科的发展方向。最初这种用于学习不同噪声水平下得分函数的方法,最终演化成了如今的扩散模型家族,而这些模型如今正是许多先进生成式AI系统的核心技术基础。
下面的时间线将这篇论文置于更广阔的历史发展背景之中。这一历程始于2015年那些受物理学启发的非平衡热力学研究,接着在2019年出现了基于噪声的条件得分网络,随后一系列重要的进展使得扩散建模成为了一种实用且可扩展的研究范式。这些重要成果包括DDPM、DDIM、Score-SDE、改进版的DDPM,以及各种基于分类器的或无分类器的指导机制、潜在扩散模型,还有像Imagen和DALL·E 2这样的大规模文本到图像生成模型。
这些论文并非代表一些孤立的突破,而是构成了一个连续的研究轨迹——每一代研究成果都在解决前一代技术所存在的局限性。早期的研究奠定了理论基础,这篇论文证明了如何将基于得分函数的学习方法付诸实践;后续的研究则将不同的算法框架统一在同一个数学体系之下;而进一步的进展则集中在提高采样速度、图像质量、控制能力以及模型的可扩展性上。
从整体来看,这一发展历程充分说明了这样一个概念性的转变:即从使用显式的概率密度函数转向学习梯度函数,是如何逐渐发展成为现代机器学习领域中最具影响力的研究范式的。
当今许多扩散模型所使用的技术,都可以直接追溯到这篇论文中提出的原理,因此它堪称生成式AI发展史上的一个关键里程碑。
10. 参考资源:
联系我
相关文章
如何利用SFT和QLoRA技术为AI代理定制大型语言模型
在本教程中,我将向您展示如何使用QLoRA进行有监督微调,从而优化大型语言模型,使其能够用于AI代理中。这种方法使我们能够对预训练模型进行定制,使其表现出我们期望的行为。我们将采用一种轻量级的训练流程,仅更新模型中的少量参数。 我们会利用Unsloth以及Hugging Face生态系来下载Qwen 1.5B基础模型,然后应用基于QLoRA的有监督微调方法,并将优化后的LoRA适配器权重保存在本地,以便后续进行推理使用。所有操作都在本地完成,因此您无需支付任何模型API的使用费用。 目录 背景知识 什么是有监督微调? 什么是LoRA? 动机与架构 步骤1:安装Python相关依赖库 步骤2:训
阅读全文
用于机械工程的Python语言
无论你是从事机器人设计、流体动力学分析,还是处理复杂的工程数据,学习编程都是提升工作效率与技术分析能力的最有效方法之一。 我们刚刚在freeCodeCamp.org的YouTube频道上推出了一门全新的综合课程,这门课程将教你如何使用Python进行工程开发,并帮助你掌握NumPy和Pandas等工具。同时,你还会学到如何在工作中运用人工智能技术。 这款课程专为机械工程师、机器人爱好者以及那些希望在日常工作中运用现代编程技术和人工智能工具的人设计。 在学习实际的工程应用之前,你会先系统地学习Python的基础知识: Python核心基础:从工程师的角度学习变量、控制结构(`if/elif/el
阅读全文
大规模产品实验:Airbnb、Netflix、Lyft和Uber是如何针对基于大语言模型的AI功能进行因果分析的
对于基于大语言模型的AI功能而言,因果推断已不再是理论上的概念。Airbnb、Netflix、Lyft和Uber都发布了详细的工程博客文章,详细说明了他们是如何衡量产品变更对用户行为的因果影响的。 他们所使用的技术方法(如差异分析法、回归不连续性分析以及双重稳健估计等)都是标准工具。 值得关注的是,这些团队是如何在大规模应用中运用这些技术的:在哪些情况下这些方法在实际操作中会失效,他们又是如何通过补充措施来确保估算结果的可靠性,以及他们是如何将这些数据与实际的产品决策联系起来的。 如果你正在开发基于大语言模型的功能,并且是根据用户点赞率和会话时长来做出产品决策的,那么这些文章一定会改变你对测量
阅读全文
如何使用针对用户的OAuth访问机制来构建人工智能代理程序【完整手册】
当你的AI代理同时为多个人提供服务时,每一次工具调用都必须明确:该代理究竟是在代表哪位用户行事。让我们通过构建一个能够与Slack和GitHub连接的AI代理来学习如何解决这个问题。 当使用Slack时,系统会使用 해당用户的 workspace;而在GitHub上创建问题时,也会以该用户的身份在其有权访问的仓库中操作。虽然代理可能会犯错,但它绝对不能使用错误用户的权限来进行操作。 解决这个问题的方法分为两个部分,而这两个部分都在本教程的前半部分进行了讲解: 每位用户都需要单独授权。 Alice为自己授权Slack,Bob也为自己授权Slack。 代理传递的是标识符,而不是令牌。 像 alic
阅读全文