©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
书接上文,在《生成扩散模型漫谈:从万有引力到扩散模型》中,我们介绍了一个由万有引力启发的、几何意义非常清晰的 ODE 式生成扩散模型。有的读者看了之后就疑问:似乎“万有引力”并不是唯一的选择,其他形式的力是否可以由同样的物理绘景构建扩散模型?另一方面,该模型在物理上确实很直观,但还欠缺从数学上证明最后确实能学习到数据分布。
本文就尝试从数学角度比较精确地回答“什么样的力场适合构建 ODE 式生成扩散模型”这个问题。
基础结论
要回答这个问题,需要用到在《生成扩散模型漫谈:“硬刚”扩散ODE》中我们推导过的一个关于常微分方程对应的分布变化的结论。
考虑 的一阶(常)微分方程(组)
它描述了从 到 的一个(可逆)变换,如果 是一个随机变量,那么整个过程中的 也都是随机变量,它的分布变化规律,可以由如下方程描述
该结果可以按照《生成扩散模型漫谈:“硬刚”扩散 ODE》的格式用“雅可比行列式+泰勒近似”的方式推导,也可以像《生成扩散模型漫谈:一般框架之ODE篇》一样先推导完整的“Fokker-Planck方程”,然后让 。顺便一提,方程(2)在物理上非常出名,它被称为“连续性方程” [1],是各种守恒定律的体现之一。
回到扩散模型,扩散模型想要做的事情,是构造一个变换,能够将简单分布的样本变换成目标分布的样本。而利用式(2),理论上我们可以通过给定的 来可以求出可行的 ,继而利用式(1)完成生成过程。注意,式(2)只是一个方程,但是要求解的 有 个分量,所以这是一个不定方程,原则上来说我们可以任意指定完整的 (而不单单是 两个边界)来求解 。
所以从理论上来说,构建 ODE 式扩散模型只是求解一个非常轻松的几乎没约束的不定方程。确实如此,但问题是这样求出来的解在实践上会有困难,说白了就是代码上不好实现。因此,问题的准确提法是如何从式(2)中求出更实用的解。
简化方程
留意到,式(2)可以改写成
如上式所示,我们刚好可以当成 维的梯度 ,正好可以组成了一个 的向量 ,所以(2)可以写成简单的散度方程
在此形式之下有
其中 、 分别代表 的第一维分量和后 维分量。当然,不能忘了约束条件
其中 是数据分布,即要生成的目标样本分布。对于 时的终值分布,我们对它的要求只是尽可能简单,方便采样,除此之外没有定量要求,因此这里暂时不用写出。
格林函数
经过这样的形式变换后,我们可以将 看成一个 维的向量场,而微分方程(5)正好描述的是质点沿着场线运动的轨