生成扩散模型漫谈:从万有引力到扩散模型

生成扩散模型漫谈:从万有引力到扩散模型_第1张图片

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

对于很多读者来说,生成扩散模型可能是他们遇到的第一个能够将如此多的数学工具用到深度学习上的模型。在这个系列文章中,我们已经展示了扩散模型与数学分析、概率统计、常微分方程、随机微分方程乃至偏微分方程等内容的深刻联系,可以说,即便是做数学物理方程的纯理论研究的同学,大概率也可以在扩散模型中找到自己的用武之地。

在这篇文章中,我们再介绍一个同样与数学物理有深刻联系的扩散模型——由“万有引力定律”启发的 ODE 式扩散模型,出自论文《Poisson Flow Generative Models》[1](简称 PFGM),它给出了一个构建 ODE 式扩散模型的全新视角。

66f6ba328c023332d2bcd43ad9f5313c.png

万有引力

中学时期我们就学过万有引力定律,大概的描述方式是:

两个质点彼此之间相互吸引的作用力,是与它们的质量乘积成正比,并与它们之间的距离成平方反比。

这里我们忽略质量和常数,主要关心它的方向和与距离的关系,假设引力源位于 ,那么位于 的物体所受到的引力可以记为

生成扩散模型漫谈:从万有引力到扩散模型_第2张图片

这个因子我们可以先不管它,它不影响后面的分析。准确来说,上式描述的是三维空间的引力场,对于 维空间来说,其引力场的形式为

生成扩散模型漫谈:从万有引力到扩散模型_第3张图片

其中 是 维单位超球面的表面积。该式实际上就是 维 Poisson 方程的格林函数的梯度,这也就是论文标题中的 “Poisson” 一词的来源。

35939ef0f3e5662481add21aa5be7a11.png

沿场线走

如果引力源有多个,那么直接将各个引力源的引力相加即可,这是引力场的线性可加性。下面我们画出了四个引力源的向量场,其中引力源用黑色点标记出,彩色线表示场线:

生成扩散模型漫谈:从万有引力到扩散模型_第4张图片

▲引力场示意图

从上述引力场图我们可以看出它的一个重要特点:

除了极少数外,大部分场线都是从远处出发,终止于某个引力源点。此时,一个直观而又“异想天开”的主意是:

如果每个引力源都代表着一个要生成的真实样本点,那么远处的任意点只要沿着场线运动,不就都可以演变成一个真实样本点了吗?

这就是《Poisson Flow Generative Models》[1] 一文最核心的天才想法!

4379c2ccd5ae186709213579263bb806.png

等效质心

当然,天才归天才,要将它真正变成一个可用的模型,还有很多细节要补充。比如我们刚才说“远处的任意点”,这就是扩散模型的初始分布了,那么问题就来了:“远处”是多远?“任意点”该如何采样?如果采样方式过于复杂,那也没有价值了。

幸运的是,引力场有一个非常重要的等效性质:

无穷远处的多源引力场,等价于位于质心、质量叠加的质点引力场。

也就是说,当距离足够远时,我们只需要当它是位于质心的单源质点引力场。下图也画出了多源引力场及其对应的质心引力场,可以看到,当距离变大时(橙色圆圈位置),两者的引力场几乎一致了。

生成扩散模型漫谈:从万有引力到扩散模型_第5张图片

▲ 多源引力场

生成扩散模型漫谈:从万有引力到扩散模型_第6张图片

▲ 质心引力场

单个质点的引力场有什么特点?各向同性!这意味着在足够大半径时,可以认为场线是均匀地穿过以质点为球心的球面的,所以我们在一个半径足够大的球面上进行均匀采样就可以了,这就解决了初始分布的采样问题。至于“足够大”是多大,我们后面再说。

abfa68eac7511e84aee3566cfe63e3c1.png

模式坍缩

所以生成模型就这样构建好了?还没有。引力场的各向同性使得对应的初始分布易于采样,然而也会造成引力源的相互抵消现象,从而出现“模式坍缩(Mode Collapse)”。

具体来说,我们先来画出均匀分布在球壳上的引力场,它的分布是这样的:

生成扩散模型漫谈:从万有引力到扩散模型_第7张图片

▲ 引力源各向同性的引力场

发现特点了没?在球壳外部是正常的各向同性分布,但是在球壳内部是“空”的!也就是说球壳内部的引力场相互抵消了,相当于一个真空地带,这个现象笔者在十多年前的科普博客《球壳内部的均匀力场》[2] 也介绍过。

抵消现象意味着任意选一个球面,球面上均匀分布的引力源由于引力相互抵消,那么就相当于不存在该引力源了。而我们说了,本文构建生成模型的方式,是通过远处的任意点沿着场线运动,直达某个引力源。如果引力源相互抵消,那么就意味着永远也达不到某些引力源,即意味着某些真实样本无法生成,生成结果就会缺失多样性,这就是“模式坍缩”现象。

e8d59d0a2b376c3e569348e4a06c2cb9.png

增加一维

看上去模式坍缩无论如何都是不能避免的。因为在构建生成模型的时候,我们通常假设真实样本服从一个连续型的分布,这样一来,任选一个球面,哪怕真实样本在该球面的分布不是均匀的,我们也能从中挑出一个均匀分布的“子集”,该“子集”的引力就相互抵消了,相当于这些数据点不存在了,继而发生模式坍缩。

那么这条路真的走到尽头了吗?并没有!这时候 PFGM 的第二个“天才想法”来了:增加一维

刚才我们分析了,模式坍缩无法避免,是因为连续性分布的假设导致各向同性无法避免。要想避免模式坍缩,就要想办法杜绝分布的各向同性。可是真实样本的分布是目标分布,这是不能改变的,然而我们可以给它增加一维,如果我们在 维空间去讨论,那么原来的 维分布可以视为 维空间的一个平面,平面就不可能各向同性了。

举个低维空间的例子。我们知道对于二维空间来说,“圆”是各向同性的,但对于三维空间来说,“球”才是各向同性的,二维空间中各向同性的“圆”,在三维空间看来就不是各向同性了。

所以,假设要生成的真实样本原来是 的,我们引入一个新维度 ,使得数据点变为 ,而原来真实样本服从的分布是 的,现在改为 ,其中 是狄拉克分布,其实就是将真实样本放到 维空间的 平面上。这样处理后,在 维空间中,真实样本点的 取值总是 0,因此就不能出现各向同性现象了(类比刚才“三维空间中的圆”的例子)。

5efa14bd399c35d77fe4fa4b015f2259.png

豁然开朗

乍一看,增加一维只是一个数学上的小技巧,但细细品味之下,我们会越发感觉它妙不可言,很多在原来 维空间中不好处理的细节问题,在 维空间中就豁然开朗了。

根据式(2)和引力的线性叠加性,我们可以写出此时 维空间的引力场为

生成扩散模型漫谈:从万有引力到扩散模型_第8张图片

其中 是 的前 个分量, 是它的第 个分量。下一节我们再来讨论 怎么学,现在假设 已经知道了,那么接下来就是要沿着场线运动,也就是运动轨迹要时刻跟 同方向,即

生成扩散模型漫谈:从万有引力到扩散模型_第9张图片

这就是生成过程所需要的微分方程(ODE)。在之前的 维方案中,除了有模式坍缩问题外,什么时候终止也是一个不好处理的细节问题。直观来想,就是沿着场线运动,直到撞上一个真实样本后就停止,但什么时候才是“撞上”,这个并不好判断。而在 维方案中,我们知道真实样本都是在 这个面上,所以可以很自然地以 为终止信号了。

至于初始分布,按照前面的讨论,应该是“半径足够大的、 维的球面均匀分布”,但既然我们是以 为终止信号,那么我们不妨固定一个足够大的 (大致是 这个量级),然后在 这个平面上做采样,这样一来生成过程就变成了微分方程(4)从 到 的运动过程了,生成过程的始和终都变得相当明朗。

当然,如果在固定的 平面上采样,那肯定就不是均匀的了。事实上有:

生成扩散模型漫谈:从万有引力到扩散模型_第10张图片

推导过程见下面的框。可以看到,概率密度只依赖于模长 ,所以从该分布采样的方案是先按照特定的分布采样模长,然后再按均匀分布采样方向,将两者进行组合。对于模长的采样,记 ,我们将它换元到超球坐标,就可以得到 

71810688a283bf907c8330537392f83b.png

然后利用逆累积概率函数法进行采样就行了(参考《变分自编码器:球面上的 VAE(vMF-VAE)》)。

初始分布的推导:场线是均匀穿过 d+1 维超球面上的,所以 处的密度是反比于 ,即 ,但现在不是在球面,而是在 的平面上,所以我们要将球面投影到平面上,示意图如下:

生成扩散模型漫谈:从万有引力到扩散模型_第11张图片

▲ 球面到 平面的投影

如上图,当 B、D 两点充分接近时,有 ,所以

生成扩散模型漫谈:从万有引力到扩散模型_第12张图片

也就是说,原本球面上单位长度的弧,投影到平面上后长度变为了 倍,由于只有一个维度变化,所以原来球面上的面积元,投影后也变为 倍,因此根据概率反比面积,我们可以得到

20e47fa718f824840023eadca8ad74bf.png

16bf2904eddc4ae10346a20757910ea8.png

场的训练

现在,初始分布有了,微分方程也有了,所以就只差向量场函数 的训练了。从微分方程(4)可以看出,它只依赖于向量场的相对值,因此向量场的缩放不影响最终结果。根据式(3),向量场可以写为

生成扩散模型漫谈:从万有引力到扩散模型_第13张图片

根据我们在《生成扩散模型漫谈:一般框架之SDE篇》、《生成扩散模型漫谈:最优扩散方差估计(上)》等文章多次用到一个结论:

生成扩散模型漫谈:从万有引力到扩散模型_第14张图片

我们可以引入函数 来学习 ,训练目标为

生成扩散模型漫谈:从万有引力到扩散模型_第15张图片

然而,上述目标的 还需要采样,它的采样方式没有明确定义。这就是 PFGM 的主要特点之一,它直接定义了反向过程(生成过程),不需要定义前向过程,而这一步的采样实际上就相当于前向过程。为此,原论文考虑地每个真实样本进行扰动的方式来构建 的样本:

29abdb6c1294aee712adefcac18b050e.png

其中 ,, 是 维单位球面上均匀分布的单位向量,而 则都是常数。这个设计有颇多的主观性,大家自行欣赏和领会即可,这里不做过多展开。

最后,原论文的训练目标跟本文的式(10)略有不同,大致相当于

8aed0602ac2b76bfab3f74a0281d485c.png

实际训练时由于只能采样有限个 对括号里边的期望进行估算,因此该目标实际上是一个有偏估计。当然有偏不一定就比无偏更差,具体为什么原论文使用有偏估计,这里暂时不得而知,猜测是因为有偏估计由于对向量进行了归一化操作,可能会使得训练进程更加稳定,但是也因为有偏的估计进行了归一化,所以需要较大的 batch_size 才能比较准,这对实验成本提了要求。

a3b2b226c1d4f786bf192c568af35254.png

实验结果

可以说,PFGM 是一个彻底的新框架,它不再像之前一样依赖于高斯假设,并且得到了一个确实有着全新内涵的模型。然而,我们不能“为新而新”,如果新的框架没有做出更有说服力的结果,那么新就是没有意义的。

当然,原论文的实验结果,肯定了 PFGM 的价值,比如得到了更好的评估指标、更快的生成速度,以及对超参数(包括模型架构)有更好的鲁棒性等,这里就不一一展示了,大家自行读原论文就好。我看了看原论文中了 NeurIPS 2022,不得不说这确实是实至名归的顶会论文啊!

官方 Github:

https://github.com/Newbeeer/Poisson_flow

生成扩散模型漫谈:从万有引力到扩散模型_第16张图片

▲ PFGM的实验结果(部分)

855a53c4946a1eb4c66fd48c94faac83.png

文章小结

本文介绍了一个由“万有引力定律”启发的 ODE 式扩散模型,它突破了以往众多扩散模型对高斯假设的依赖,是一个基于场论来构建 ODE 式扩散模型的全新框架,整个模型颇多启发性,值得仔细研读。

outside_default.png

参考文献

outside_default.png

[1] https://arxiv.org/abs/2209.11178

[2] https://kexue.fm/archives/988

更多阅读

生成扩散模型漫谈:从万有引力到扩散模型_第17张图片

生成扩散模型漫谈:从万有引力到扩散模型_第18张图片

生成扩散模型漫谈:从万有引力到扩散模型_第19张图片

5f2a75454b034a0cd2ab51d5df2c5a04.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

生成扩散模型漫谈:从万有引力到扩散模型_第20张图片

△长按添加PaperWeekly小编

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

cb344ffd1bd871a5c2c4a3d9e129a204.jpeg

你可能感兴趣的:(生成扩散模型漫谈:从万有引力到扩散模型)