当前位置: 首页 > 科技观察

物理改变图像生成:扩散模型启发于热力学,比它速度快10倍的挑战者来自电动力学

时间:2023-03-17 13:58:50 科技观察

物理改变图像生成:扩散模型的灵感来自热力学,快10倍的挑战者来自电动力学现在,图像生成的半壁江山已经被物理学占据。圈内流行的DALL·E2、Imagen和StableDiffusion,以及它们所基于的扩散模型,都是受到物理热力学的启发。不仅如此,NeurIPS2022中包含的麻省理工学院新生成模型比扩散模型更好更快,其灵感来自电动力学。这样的攻势让人不得不感慨:图像生成的实物模型不多了?(手动狗头)热力学如何启发扩散模型?原型:灵感源自一滴墨事实上,扩散模型从一开始就不是“崭露头角”的。一直以来,图像生成领域的王者非GAN莫属。尽管期间提出了许多新模型,但其发电效果仍然优于其他模型。第一个版本的扩散模型也是在这样的背景下诞生的。在GAN论文发表仅一年后,斯坦福大学博士后研究员JaschaSohl-Dickstein基于GAN“无法学习完整概率分布”的缺陷提出了一个想法。他研究过非平衡态热力学,思考为什么物理学和图像生成不能结合起来?非平衡热力学是热力学的一个分支,它处理某些不处于热力学平衡状态的物理系统。一个典型的例子是一滴墨水在水中扩散。在扩散之前,墨水滴会在水中某处变成一个大斑点,但是要模拟墨水开始扩散之前初始状态的概率分布是非常困难的,因为分布复杂且难以采样。但随着墨水扩散到水中,水逐渐变成淡蓝色,墨水分子的分布会更加简单和均匀,我们可以很容易地用数学公式来描述概率。这时,非平衡热力学就发挥作用了,它可以描述墨水扩散过程中每一步的概率分布:由于扩散过程的每一步都是可逆的,只要“步”足够小,就可以从一个简单的分布中重新生成。推断原始的复杂分布。△就像把这个过程倒过来一样。受此扩散原理的启发,JaschaSohl-Dickstein创建了一个“扩散模型”,该模型分为两个步骤。首先,通过某种算法将复杂的图像转换为简单的噪声。这个过程类似于一滴墨水扩散直到水变成蓝色,然后逆转这个过程,将噪音变成新的图像。具体来说,当系统得到一张训练图像时,图像百万像素中的每个点都有一个对应的值,根据这些值,可以将像素转换为百万维空间中的一个点。然后,算法在每个时间步为每个像素添加一些噪声,相当于墨水扩散的每一步,使得每个像素的值与其在原始图像中的值之间的关系变得越来越小,直到看起来更像一个简单的噪声分布。接下来,通过对数据集中的所有图像执行此操作,最初作为百万维空间中点的复杂分布(无法轻易描述和采样)变成围绕原点的简单正态分布。JaschaSohl-Dickstein解释说:这个非常缓慢的“前向”转换过程就像将数据分布变成一个巨大的“噪声球”,提供了一个可以轻松采样的分布。然后,使用这些经过算法转换的图像来训练最终的扩散模型。具体来说,就是将前向转换过程得到的噪声图像馈入神经网络,训练它预测上一步得到的噪声较小的图像,在此期间不断调整参数和改进模型,最后,它可以将噪声图像输出转换成我们想要的图像。这样,经过训练的神经网络可以直接采样生成新的图像,而无需学习原始图像。2015年,SohlDickstein发表了这种扩散模型的原型。不幸的是,虽然它能够对整个分布进行采样,而不仅仅是吐出图像数据集的一个“子集”,但这种能力远远落后于GAN——无论是生成质量还是生成速度。改进:创造DALL·E2、StableDiffusio等爆款模型最终,是两位博士生的相继改版,造就了最终的“现代版”扩散模型。首先,2019年,当时还是斯坦福大学博士生的杨松和他的导师在不知道SohlDickstein结果的情况下,想出了一个类似的新方法。与SohlDickstein估计数据概率分布(即高维曲面)的方法相比,杨松估计分布的梯度(即高维曲面的斜率)。相反,通过首先用增加的噪声水平扰动训练集中的每个图像,然后让神经网络使用分布的梯度来预测原始图像,它可以非常有效地去噪,从而产生非常高质量的图像。但是,这种方法的采样速度很慢。幸运的是,很快,在2020年,加州大学伯克利分校的JonathanHo看到了这两项研究,并意识到后者的想法可以用来重新设计和改进SohlDickstein的原始原型。于是,就有了后来大名鼎鼎的DDPM(DenoisingDiffusionProbabilisticModels)——它在所有任务上都等于或超过了所有其他生成模型,包括称霸该领域多年的GAN。至此,一个原本受物理学原理启发的机器学习模型,经过几轮周转,终于在AIGC领域掀起一股热潮——我们现在看到的DALLE2、StableDiffusio、SD和Imagen……都是基于DDPM的扩散模型进行了改进。MIT全新的电动图像生成模型如今“物理学给”,扩散模型也迎来了新的挑战者。基于电动力学的启发,麻省理工学院的研究人员提出了一种新的“泊松流”生成模型PFGM(“PoissonFlow”GenerativeModels)。具体来说,这个生成模型把数据看作是z=0平面上的电荷加到空间中,电荷在空间中产生电场。其中,电荷产生的电场线对应于数据采样过程,电场线的方向就是泊松方程解在空间中的梯度。代表数据的电荷沿着产生的电场线向外移动,最终形成一个半球,当球体的半径足够大时,电荷就会均匀分布在半球上。正如概率分布在扩散模型的每一步都是可逆的,电场线也是如此。因此,可以利用这种效果来训练模型,使其学会通过传递均匀分布在半球上的数据在z=0平面上生成数据。例如下图的例子,一开始数据的分布是心形的,但是当数据最后移动到一个半径足够大的半球面时,它们会呈现出均匀的分布状态:对应图像生成过程中,在z=0平面上的数据分布就是我们希望生成的图像。生成模型要做的就是利用均匀分布在半球上的数据,反向推导你要生成的图像:在CIFAR-10数据集上的评估中,PFGM在思路相似的模型中表现最好,超过了扩散模型。而且,PFGM在生成质量与扩散模型相似的同时,速度要快10到20倍,在速度和生成质量上实现了更好的“结合”。下图是PFGM根据不同数据集训练后生成图片的过程。效果确实很好:猜猜下一个挑战图像生成领域的物理模型会是什么?