Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

布朗运动

历史视角。1827年,植物学家罗伯特·布朗观察到一种现象,即小花粉粒在水中会有不规则的运动。花粉粒的运动后来被称为布朗运动。1905年,爱因斯坦和玛丽安·斯莫卢乔夫斯基几乎同时独立地对布朗运动作出了解释。爱因斯坦的主要论点是花粉粒的运动是由水分子的影响引起的。然而,由于系统中有数万亿个分子,我们永远不知道单个分子的初始状态,因此几乎不可能使用经典分析来研究微观状态。爱因斯坦证明了均方位移与扩散系数有关,因此他通过考虑分子的统计行为引入了一种概率方法。爱因斯坦的理论预测随后得到了让-巴蒂斯特·佩兰的实证证实,佩兰后来于1926年获得了诺贝尔物理学奖。自1908年爱因斯坦的论文发表几年后,法国物理学家Paul Langevin构建了一个随机马尔可夫力来描述粒子的碰撞和相互作用。随后,荷兰物理学家Adriaan Fokker于1914年和德国物理学家Max Planck于1917年分别提出了偏微分方程,该方程现在被称为Fokker-Planck方程Kramers-Moyal展开是由Hans Kramers于1940年和Jos´e Enrique Moyal于1949年提出的,它展示了一种泰勒展开技术来描述概率分布的时间演化


注:均方位移(MSD):体系内所有粒子经t时间之后,
其移动距离r(t)与所有粒子移动的距离r(0)绝对值之差的平方和。

布朗运动的推导。那么,什么是布朗运动,它与扩散模型有什么关系?假设流体中悬浮着一个粒子。斯托克定律指出,施加在粒子上的摩擦力由下式给出

\[F(t) = -\alpha v(t)\]

其中,\(F\)是摩檫力,\(v\)是速度,且\(\alpha = 6\pi\mu R\)。这里,\(R\)是粒子半径,\(\mu\)是液体的粘度(viscosity)。通过牛顿第二定律,我们进一步知道\(F(t)=m\dot{v}(t)\),其中,\(m\)是粒子的质量。将这两个方程相等 $$\begin{cases} F(t) = -\alpha v(t) \\ F(t) = m\frac{dv(t)}{dt} \end{cases}$$

得到如下微分方程 \[m\frac{dv(t)}{dt} + \alpha v(t) = 0 \]

通过定义 \(\gamma \stackrel{def}{=}\frac{\alpha}{m}\),上式简化为 \[\frac{dv(t)}{dt} + \gamma v(t) = 0 \]

当粒子的质量明显大于流体分子时,上述确定性方程是准确的。原因是,由于动量守恒,当大质量粒子与流体分子碰撞时,其速度几乎不会增加。然而,由于花粉粒很轻,水分子的轰击会使它们以一种微小但不可忽视的方式加速。这将产生随机波动。那么,作用在颗粒上的水分子的总力被修改为 \[F(t) = -\alpha v(t) + F_f(t)\]

其中,\(F_f(t)\)是随机项。那么,我们将得到一个修正的微分方程 \[m\frac{dv(t)}{dt} = -\alpha v(t) + F_f(t)\]

通过定义\(\Gamma(t) = F_f(t)/m \),得到新的微分方程 \[\frac{dv(t)}{dt} + \gamma v(t) = \Gamma(t) \]

用速记法写为 \[\dot{v} + \gamma v = \Gamma(t) \tag{5.4}\]

上述方程中,随机过程\(\Gamma(t)\)表示一种称为朗之万力的随机力。其满足两个性质:

  1. 对于全部t,\(E[\Gamma(t)] = 0\),从而其平均函数是常量0
  2. 对于全部t和t',\(E[\Gamma(t)\Gamma(t')] = q\delta(t - t')\),即,其自相关函数是振幅为q的狄拉克函数

注:狄拉克δ函数:是在实数线上定义的一个广义函数或分布。
它在除零以外的点上都等于零,且其在整个定义域上的积分等于1。
δ函数有时可看作是在原点处无限高、无限细,但是总面积为1的一个尖峰,
在物理上代表了理想化的质点或点电荷的密度。

上述两个性质是广义平稳过程的特例。广义平稳过程是一个随机过程,具有常量均值函数(不必是0),且自相关函数\(R(t,t') = \stackrel{def}{=}E[\Gamma(t)\Gamma(t')]\)是\(t - t'\)差值的函数(不必是狄拉克函数)。例如,\(R(t,t') = e^{-|t-t'|}\)可以是广义平稳过程的一个有效自相关函数。

在统计力学文献中,满足上述两个性质的随机过程,有时也称δ相关过程。有不同方式来构造δ相关过程。例如,对于每个t,假设\(\Gamma(t) \sim N(0,1)\),或以相同方式定义的其他任意的独立同分布。高斯分布更常用,因为许多物理现象都可以用高斯分布来描述,例如热噪声。满足上述两个性质的高斯随机过程称为高斯白噪声。

对于任何广义平稳过程,维纳-辛钦定理(Wiener-Khinchin Theorem)表明,功率谱密度(power spectral density)可以通过自相关函数的傅里叶变换来定义。具体地,如果 \(R(\tau) = E[\Gamma(t+\tau)\Gamma(t)]\)是自相关函数(若\(\Gamma(t)\)是广义平稳过程,\(R(t,t')\)可以写为\(R(\tau)\))。维纳-辛钦定理表明,功率谱密度为

\[S(\omega) = \int_{-\infty}^{\infty}R(\tau)e^{-j\omega\tau}d\tau\]

所以,若\(R(\tau)\)是狄拉克\(\delta\)函数, \(S(\omega)\)对于全部\(\omega\)都有一个常数值。

注:维纳-辛钦定理指出:宽平稳随机过程的功率谱密度是其自相关函数的傅里叶变换。

从物理学到生成式AI。由于Γ(t)中表现出的随机性,方程(5.4)给出的微分方程是一个随机微分方程(SDE)。因此,该SDE的解是一个随机过程,其中值v(t)在任何时间t都是随机变量。布朗运动是指该随机过程v(t)随时间的变化的轨迹。方程(5.4)中得到的SDE是朗之万方程的特例。我们称之为具有δ相关朗之万力的线性朗之万方程:

定义 具有δ相关朗之万力的线性朗之万方程是形如下式的随机微分方程

\[\dot{\xi} + \gamma\xi = \Gamma(t) \tag{5.6}\]

其中,\(\Gamma(t)\)是随机过程,满足(i)对于全部t,\(E[\Gamma(t)] = 0\),和(ii),对于全部t和t’, \(E[\Gamma(t)\Gamma(t')]=q\delta(t-t')\)。

此时,我们可以将方程(5.6)中的朗之万方程与扩散模型(例如DDPM)联系起来。

示例 5.1 前向DDPM。回顾DDPM前向扩散方程由下式给出 $$dx = \underbrace{-\frac{\beta(t)}{2}}_{=f(t)}x\quad dt +$$

$$\underbrace{\sqrt{\beta(t)}}_{=g(t)}dw$$

用朗之万方程表示,我们可以写为 \[\dot{\xi}(t) + f(t)\xi(t) = g(t)\Gamma(t), \quad\quad\quad其中,\quad\quad\Gamma(t) \sim N(0,I)\]


上述变换:通过将随机微分方程(SDE)的漂移和扩散项分离,并将维纳过程的微分 dw 转换为白噪声 Γ(t),最终将DDPM方程表达为标准朗之万方程形式。

  1. 原始SDE分解:DDPM前向扩散方程 \[dx = -\frac{\beta(t)}{2}x\ dt + \sqrt{\beta(t)}dw\] 包含漂移项 (\(-\frac{\beta(t)}{2}x\ dt\))和扩散项 (\(\sqrt{\beta(t)}dw\))。

  2. 转换为导数形式:将方程两边除以dt,得到: \[\frac{dx}{dt} = -\frac{\beta{t}}{2}x + \sqrt{\beta{t}}\cdot \frac{dw}{dt}.\] 此时,\(\frac{dw}{dt}\)在数学上无严格意义,但物理上可视为高斯白噪声\(\Gamma(t)\)(满足\(\Gamma(t)\sim N(0,I)\))。

  3. 重排方程:将时间导数记为\(\dot{\xi}(t)\),并整理为: \[\dot{\xi}(t) + \underbrace{\frac{\beta(t)}{2}}_{f(t)}\xi(t) = \overbrace{\sqrt{\beta(t)}}^{g(t)}\Gamma(t).\]


示例 5.2 逆向DDPM。逆向DDPM扩散,由方程(4.16)给出 \[dx = \underbrace{-\beta(t)[\frac{x}{2} + \nabla_x\text{log}p_t(x)]}_{=f(\xi,t)}dt + \overbrace{\sqrt{\beta(t)}}^{=g(t)} d\bar{w} \]

用朗之万方程表示,我们可以写为

\[\dot{\xi}(t) = f(\xi,t) + g(t)\Gamma(t), \quad\quad\quad 其中 \quad\quad \Gamma(t)\sim N(0,I)\]

我们可以将这些例子继续用于其他扩散模型,如SMLD。我们把这些作为练习留给读者。我们的核心信息是,我们在前几章中看到的扩散方程都可以通过朗之万方程来表述。因此,如果我们想知道这些扩散方程产生的概率分布,我们应该在朗之万方程的文献中寻找工具。

(线性)朗之万方程的解。方程(5.6)中给出的线性朗之万方程是一个简单的方程。在任何时间t,都可以解析地推导出解ξ(t)

我们首先考虑Γ(t)=0的更简单问题。在这种情况下,微分方程为 \[\dot{\xi}(t) + \gamma\xi(t) = 0\]

它被称为一阶齐次微分方程。这个微分方程的解如下。

定理 5.1。考虑如下微分方程 \[\dot{\xi}(t) + \gamma\xi(t) = 0\]

具有初始条件 \(\xi(0) = \xi_0 \)。解由下式给出

\[\xi(t) = \xi_0e^{-\gamma t}\]

证明。通过重新排列项,我们可以证明 \[\frac{\dot{\xi}(t)}{\xi(t)} = -\gamma\]

其中,我们假设,对于全部t,\(\xi(t) \ne 0\),从而我们可以取\(1/\xi(t)\)。两边同时积分得到 \[\int_0^t\frac{\dot{\xi}(t')}{\xi(t')}dt' = -\int_0^t\gamma\ dt'\]

等式的左侧给出\(log\xi(t) - log\xi(0)\),右侧给出\(-\gamma t\)。两边相等得到 \[log\xi(t) - log\xi(0) = -\gamma t \quad\quad\Longrightarrow\quad\quad \xi(t) = \xi_0 e^{-\gamma t}\]

注:上述箭头表示的具体变换为,对数减法变为除的对数,两边以e为底取幂指数得到。

现在让我们考虑Γ(t)存在的情况。微分方程变为 \[\dot{\xi} + \gamma\xi = \Gamma(t)\]

这被称为一阶非齐次微分方程。为了求解这个微分方程,我们采用一种称为参数变分法或常数变分法的技术。这个想法可以概括为两个步骤。我们从先前推导已知,齐次方程的解为 \(\xi(t) = \xi_0 e^{-\gamma t}\)。因此,让我们对非齐次情况的解进行一个有根据的猜测,即对于某些A(t),解的形式为\(s(t) = A(t)e^{-\gamma t}\)。为了简单起见,我们定义\(h(t) = e^{-\gamma t}\)。如果s(t)确实是微分方程的解,那么我们可以计算\(\dot{s}(t) + \gamma s(t) = \Gamma(t)\)。等式左侧为

\begin{align} \dot{s}(t) + \gamma s(t) &= [A(t)h(t)]' + \gamma[A(t)h(t)]\\ &= A'(t)h(t) + A(t)h'(t) + \gamma A(t)h(t)\\ &= A(t)[h'(t) + \gamma h(t)] + A'(t)h(t)\\ &= A'(t)h(t) \end{align}

最后一个等式是由\(h(t) = e^{-\gamma t}\)是齐次方程的解得出的,因此,\(h'(t) + \gamma h(t) = 0\)。因此,对于\(\dot{s}(t) + \gamma s(t) = \Gamma(t)\),通过找到一个合适的A′(t)来求\(A'(t)h(t) = \Gamma(t)\)是必要的。但这并不难。方程\(A'(t)h(t) = \Gamma(t)\)可以写为 \[A'(t)e^{-\gamma t} = \Gamma(t) \quad\quad\Longrightarrow\quad\quad A'(t) = e^{\gamma t}\Gamma(t)\]

两边积分得到 \[A(t) = \int_0^1 e^{\gamma t'}\Gamma(t')dt'\]

且,由于\(s(t) = A(t)e^{-\gamma t}\),我们可以证明 \[s(t) = e^{-\gamma t}\int_0^1 e^{\gamma t'}\Gamma(t')dt' = \int_0^t e^{-\gamma (t-t')}\Gamma(t')dt'\]

因此, 因此,完全解(即齐次部分和非齐次部分之和)为 \[\xi(t) = \xi_0 e^{-\gamma t} + \int_0^1 e^{-\gamma(t-t')}\Gamma(t')dt'\]

我们将结果总结如下。

定理 5.2 考虑如下微分方程 \[\dot{\xi}(t) + \gamma\xi(t) = \Gamma(t),\]

具有初始条件\(\xi(0) = \xi_0\)。解由下式给出 \[\xi(t) = \xi_0 e^{-\gamma t} + \int_0^1 e^{-\gamma(t-t')}\Gamma(t')dt'. \tag{5.8}\]

均衡分布。先前结果表明,解\(\xi(t)\)是随机过程\(\Gamma(t)\)的一个函数。由于我们每次进行(布朗运动)实验时都不知道 Γ(t) 的具体实现,因此通过观察 ξ(t) 的概率分布来表征 ξ(t) 通常更为有用。在下文中,我们遵循Risken来分析平衡点处的概率分布,其中\(t \rightarrow \infty\),且 \(\xi(t) \rightarrow x\)。

定理 5.3 考虑定义5.1中的朗之万方程,其中

\[\dot{\xi} + \gamma\xi = \Gamma(t), \tag{5.9} \]

且,\(\Gamma(t)\)是高斯白噪声,因此它满足前面提到的性质。设\(\xi(t) = x\)为该SDE的平衡解,且设p(x)为x的概率分布。可得到 \[p(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{x^2}{2\sigma^2}}, \tag{5.10}\]

其中, \(\sigma = \sqrt{\frac{q}{2\gamma}}\)。即,平衡解\(\xi(t)=x\)是零均值高斯随机变量。

证明 设\(\xi_0 = \xi(0)\)为初始条件。那么,SDE的解形式如下 \[\xi(t) = \xi_0 e^{-\gamma t} + \int_0^t e^{-\gamma(t-t')}\Gamma(t')dt'. \tag{5.11}\]

在平衡,当\(t \rightarrow \infty\)时,可以丢掉\(\xi_0 e^{-\gamma t}\)。而且,通过设\(\tau = t - t'\),我们可以将解写为

\[\xi(t) = \int_0^{\infty}e^{-\gamma(t-t')}\Gamma(t')dt' = \int_0^{\infty}e^{-\gamma\tau}\Gamma(t-\tau)d\tau. \]

概率密度函数p(ξ)可以通过对特征函数进行傅里叶逆变换来确定。回想一下,随机变量v(t)的特征函数是 \[C(u) = E[exp{iu\cdot\xi(t)}] = 1 + \sum_{n=1}^{\infty}\frac{(iu)^n}{n!}E[\xi(t)^n].\]

因此,要找到 C(u),我们需要确定矩\(E[\xi(t)^n]\)。使用Risken中的结果(第3章方程式3.26和3.27),我们可以证明

\[E[\xi(t)^{2n+1}] = 0\]

\begin{align} E[\xi(t)^{2n}] &= \frac{(2n)!}{2^nn!}[\int_0^{\infty}\int_0^{\infty}e^{-\gamma(\tau_1 + \tau_2)}q\delta(\tau_1-\tau_2)d\tau_1 d\tau_2]^n \tag{5.12}\\ &= \frac{(2n)!}{2^n n!}[q\int_0^{\infty}e^{-2\gamma\tau_2}d\tau_2]^n = \frac{(2n)!}{2^n n!}[\frac{q}{2\gamma}]^n. \tag{5.13} \end{align}

将其带入特征函数,将得到 \begin{align} C(u) &= 1 + 0 + \frac{2!}{2}[\frac{q}{2\gamma}] + 0 + \frac{(2\cdot 2)!}{2^2 2!}[\frac{q}{2\gamma}]^2 + ... \\ &= \sum_{n=0}^{\infty}\frac{(iu)^{2n}E[\xi(t)^{2n}]}{(2n)!}\\ &= \sum_{n=0}^{\infty}\frac{(iu)^{2n}}{(2n)!}\cdot \frac{(2n)!}{2^n n!}[\frac{q}{2\gamma}]^n\\ &= \sum_{n=0}^{\infty}\frac{1}{n!}(-\frac{u^2 q}{4\gamma})^n = e^{-\frac{u^2q}{4\gamma}}. \tag{5.14} \end{align}


\[{\color{red}{注:最后一个等式,等式左侧是e^x的泰勒级数展开(e^x = \sum_{n=0}^{\infty}\frac{x^n}{n!}),其中x = -\frac{u^2 q}{4\gamma},\\在满足4\gamma \ne 0 的条件下,该级数绝对收敛,故等式成立。}}\]

认识到这是高斯分布的特征函数,我们可以使用逆傅里叶变换来取得概率密度函数 \[p(x) = \sqrt{\frac{\gamma}{\pi q}}e^{-\frac{\gamma x^2}{q}}.\]

示例 5.3 (均衡状态下的正向DDPM分布)让我们通过将结果应用到前向 DDPM 方程来进行健全性检查,看看在平衡状态下我们会得到什么样的概率分布。 为简单起见,让我们假设DDPM方程的学习率恒定 \[dx = -\frac{\beta}{2} x dt + \sqrt{\beta}dw.\] 相关的朗之万方程为 \[\dot{\xi}(t) + \frac{\beta}{2}\xi(t) = \sqrt{\beta}\Gamma(t).\] 当\(t\rightarrow\infty\),我们上面的定理表明 \[p(x) = \sqrt{\frac{\gamma}{\pi q}}e^{-\frac{\gamma x^2}{q}} = \frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}},\] 其中,我们替换\(\gamma = \beta/2\),以及\(q = \sqrt{\beta}^2 = \beta\)。因此,当\(t\rightarrow\infty\),\(\xi(t)\)的概率分布是\(N(0,1)\)。这与我们预期的一致。

维纳过程 在γ=0的特殊情况下,线性朗之万方程简化为 \[\dot{\xi} = \Gamma(t).\]

通过在方程(5.11)中设 \(\gamma = 0\),我们可以证明 \[\xi(t) = \xi_0 + \int_0^t\Gamma(t')dt',\] 这也被称为维纳过程。维纳过程解的概率分布可以如下推导。

定理 5.4 维纳过程。考虑维纳过程 \[\dot{\xi} = \Gamma(t), \tag{5.15}\] 其中, \(\Gamma(t)\)是高斯白噪声,具有\(E[\Gamma(t)] = 0\) 以及 \(E[\Gamma(t)\Gamma(t')] = q\delta(t-t')\)。解\(\xi(t)\),其中, \(\xi(t)=x\),的概率分布p(x,t)为 \[p(x,t) = \frac{1}{\sqrt{2\pi q t}}e^{-\frac{(x-\xi_0)^2}{2qt}}. \tag{5.16}\]

证明 这个结果与定理5.3的主要区别在于,这里我们感兴趣的是任何时间t的分布。为此,我们注意到 \(\xi(t) = \xi_0 + \int_0^t\Gamma(t')dt'\)。因此,为了消除非零均值,我们可以考虑\(\xi(t)-\xi_0\)。将其带入方程(5.13),我们可以证明 \[E[(\xi(t) - \xi_0)^{2n+1}] = 0\]

\[E[(\xi(t) = \xi_0)^{2n}] = \frac{(2n)!}{2^n n!}[q\int_0^t e^0 d\tau_2]^n = \frac{(2n)!}{2^n n!}(qt)^n.\]

这意味着\(\xi(t)-\xi_0\)的特征函数为 \[C(u) = \sum_{n=0}^{\infty}\frac{1}{n!}(-\frac{u^2 qt}{2})^n = e^{-\frac{u^2 qt}{2}}. \tag{5.17}\]

取逆傅里叶变换,将得到\(\xi(t)\)的概率分布: \[p(x,t) = \frac{1}{\sqrt{2\pi qt}}e^{-\frac{(x-\xi_0)^2}{2qt}}. \tag{5.18}\]

为了深入了解这个方程,让我们假设\(\xi_0=0\),以及对于某个常数k,q=2k。将得到 \[p(x,t) = \frac{1}{\sqrt{4\pi kt}}e^{-\frac{x^2}{4kt}}.\]

对这一结果的一个有趣观察可以在许多热力学教科书中找到,即上面推导出的概率分布\(p(x,t)\)实际上是热方程的解: \[\frac{\partial}{\partial t}p(x,t) = k\frac{\partial^2}{\partial x^2}p(x,t), \tag{5.19}\]

假设初始条件为\(p(x,0)=\delta(x)\)。为此,我们仅需要将概率分布带入到热方程。然后我们可以看到 \[\frac{\partial}{\partial t}p(x,t) = \frac{1}{2t}\cdot (\frac{x^2}{2kt} - 1)\cdot \frac{1}{\sqrt{4\pi kt}}e^{-\frac{x^2}{4kt}}\] \[\frac{\partial^2}{\partial x^2}p(x,t) = \frac{1}{2kt}\cdot(\frac{x^2}{2kt}-1)\cdot\frac{1}{\sqrt{4\pi kt}}e^{-\frac{x^2}{4kt}}.\]

热方程的解表现得像一个高斯分布,它从原点开始,随着时间的增加向外扩展。这一结果的意义在于,虽然我们很难确切知道朗之万方程定义的随机过程ξ(t)的轨迹,但热方程却能完整地展现概率分布

对于更复杂的朗之万方程(涉及非线性项),似乎很自然地期望有一个类似的偏方程来表征概率分布。更具体地说,我们可以合理地预期,在等式的一边,我们将有\(\partial/\partial t\)。在等式的另一边,我们将得到\(\partial^2/\partial x^2\)。正如我们稍后将展示的那样,福克-普朗克方程将具有与此类似的形式。事实上,人们可以从福克-普朗克方程中推导出热方程。

备注:对于形式为以下的齐次微分方程系统 \[\dot{\xi_i} + \sum_{j=1}^{N}\gamma_{ij}\xi_j = \Gamma_i(t), \quad\quad\quad i = 1,\dots,N, \]

具有 \(E[\Gamma_i(t)] = 0\) 和 \(E[\Gamma_i(t)\Gamma_j(t)] = q_{ij}\delta(t-t')\),以及\(q_{ij}=q_{ji}\),相应的随机过程称为奥恩斯坦-乌伦贝克过程。