diffusion_tutorial

← 附录B 附录C 返回首页 →

附录C:信息几何与分数函数的力学解释

扩散模型的成功不仅是工程上的胜利,更是深刻数学原理的体现。本附录将从信息几何(Information Geometry)的角度重新审视扩散模型,揭示分数函数作为“力”的物理意义,并建立与能量优化的深刻联系。这种视角不仅提供了强大的理论洞察,也为设计新算法提供了直观的指导原则。

C.1 信息几何基础

信息几何将概率分布空间 P 视为一个具有内在几何结构的黎曼流形(Riemannian manifold),而不是一个平坦的欧几里得空间。

C.1.1 概率分布流形

\(I_{ij}( heta) = \mathbb{E}_{p(x;\theta)}\left[\frac{\partial \log p(x;\theta)}{\partial \theta_i} \frac{\partial \log p(x;\theta)}{\partial \theta_j}\right]\) 它衡量了当我们微小地改变参数 θ 时,概率分布 p(x; θ) 的变化有多大。信息矩阵的元素越大,表示分布对该方向的参数变化越敏感。

C.1.2 自然梯度 (Natural Gradient)

在优化概率模型时,普通的梯度下降是在平坦的欧几里得空间中寻找最速下降方向。然而,在弯曲的概率流形上,真正的最速下降方向由自然梯度给出。

定义 C.2 (自然梯度)L(θ) 是关于参数 θ 的损失函数,普通梯度为 g = ∇_θ L。自然梯度 g_nat 定义为:

\(\tilde{g} = I(\theta)^{-1} g\)

优化步骤变为:θ_{t+1} = θ_t - α * I(θ_t)^{-1} * g_t

💡 关键洞察:自然梯度下降具有参数化不变性。无论我们如何对模型进行重新参数化(例如,线性变换),其在概率流形上的优化路径都是相同的。而普通梯度下降的路径则会随参数化的改变而改变。这使得自然梯度在理论上是优化概率模型的更优选择。

实现挑战:计算完整的Fisher信息矩阵并求逆的代价非常高昂(O(N^2),N为参数量)。在实践中,通常使用其对角近似、K-FAC等方法来降低计算成本。Adam等自适应优化算法也可以被看作是对自然梯度的一种简化近似。

练习 C.1:Fisher信息计算 1. **计算**:对于一维高斯分布 `N(μ, σ^2)`,其参数为 `θ = (μ, σ)`。计算其2x2的Fisher信息矩阵 `I(μ, σ)`。 2. **分析**:从矩阵的形式分析:a) 为什么估计均值 `μ` 和估计标准差 `σ` 是解耦的?b) 为什么当 `σ` 很小时,Fisher信息会变大? 3. **开放探索**:自然梯度在训练扩散模型的分数网络 `s_θ` 时有何应用?`θ` 是网络权重,此时的Fisher信息矩阵该如何定义和计算? **解答思路**: 1. 写出对数似然 `log p(x; μ, σ)`,然后计算其对 `μ` 和 `σ` 的二阶偏导数的期望。你会发现非对角线项的期望为0,对角线项分别为 `1/σ^2` 和 `2/σ^2`。 2. a) 非对角线项为0意味着参数 `μ` 和 `σ` 在Fisher度量下是正交的。b) `σ` 越小,分布越集中,从样本中推断参数位置的信息就越多,因此Fisher信息越大。

C.2 分数函数的几何与力学解释

C.2.1 分数函数作为切向量

从信息几何的角度看,分数函数 s(x) = ∇_x log p(x) 不仅仅是一个梯度,它是在数据空间 x 中,定义了一个指向概率密度 p(x) 增长最快方向的向量场

C.2.2 Stein恒等式

Stein恒等式是连接分数函数与概率分布的桥梁,它构成了分数匹配的理论基础。

定理 C.3 (Stein恒等式) 对于一个足够光滑的测试函数 φ(x) 和概率密度 p(x),在一定边界条件下成立:

\[\mathbb{E}_{p(x)}[\nabla_x \cdot \phi(x) + \phi(x) \cdot \nabla_x \log p(x)] = 0\]

💡 关键洞察:这个恒等式只涉及分数 ∇log p(x)p(x) 的期望,而完全不依赖于 p(x) 本身及其归一化常数。这使得我们可以在只拥有 p(x) 的样本的情况下,通过最小化Stein恒等式的残差来学习其分数函数,这正是分数匹配的核心思想。

C.2.3 分数函数作为“力场”

我们可以从物理学的角度,为分数函数建立一个非常直观的力学类比。

定义 C.4 (能量函数与力) 给定一个概率分布 p(x),我们可以定义一个对应的能量函数(或势能):

\(E(x) = -\log p(x)\)

那么,分数函数就变成了作用在粒子上的

\[F(x) = -\nabla E(x) = \nabla \log p(x)\]

这是一个保守力场,因为它是一个标量势 E(x) 的梯度。

物理图像

C.2.4 Langevin动力学

Langevin动力学描述了粒子在这个力场中,同时受到随机热噪声影响时的运动轨迹。

定义 C.5 (Langevin SDE)

\(dX_t = \nabla \log p(X_t) dt + \sqrt{2} dW_t\)

🌟 核心联系:Langevin动力学的稳态分布恰好是 p(x)。这意味着,无论从什么初始状态开始,只要我们模拟这个SDE足够长的时间,最终得到的粒子分布就会收敛到我们想要的目标分布 p(x)。这为从概率分布中采样提供了一个基于物理模拟的强大方法。

扩散模型中的应用

综合练习:一维双势阱模型 考虑一个一维能量函数 `E(x) = (x^2 - 1)^2`,它在 `x=-1` 和 `x=1` 处有两个势阱。 1. **概率分布**:写出对应的概率分布 `p(x) ∝ exp(-E(x))` 的表达式。 2. **分数函数/力**:计算其分数函数 `s(x) = ∇log p(x)`。分析在 `x=0`(势垒)和 `x=-1, 1`(势阱)附近,这个“力”的方向和大小。 3. **Langevin动力学**:写出对应的Langevin SDE。如果一个粒子从 `x=0` 开始,它的长期行为会是怎样的? 4. **开放探索**:在扩散模型中,我们学习的是一个时变的分数函数 `s_θ(x, t)`。对于这个双势阱例子,`s_θ(x, t)` 在 `t` 接近 `T`(高噪声)和 `t` 接近 `0`(低噪声)时,其形状应该分别是什么样的? **解答思路**: 1. `p(x) = (1/Z) * exp(-(x^2 - 1)^2)`,`Z`是归一化常数。 2. `s(x) = -dE/dx = -2(x^2 - 1)(2x) = -4x(x^2 - 1)`。在 `x=0`,`s(0)=0`,但这是一个不稳定的平衡点。在 `x=-1, 1`,`s(x)=0`,是稳定的平衡点。在 `x` 略大于0时,`s(x)<0`,力指向左边;略小于0时,`s(x)>0`,力指向右边,因此粒子会被推离 `x=0`。 3. `dX_t = -4X_t(X_t^2 - 1)dt + sqrt(2)dW_t`。长期来看,粒子会在两个势阱 `x=-1` 和 `x=1` 之间来回跳跃,其最终分布会收敛到 `p(x)`。 4. 当 `t` 接近 `T` 时,能量景观被抚平,`s_θ(x, t)` 应该接近于一个单势阱(高斯分布)的分数函数,即 `s ≈ -x`。当 `t` 接近 `0` 时,`s_θ(x, t)` 应该精确地逼近我们计算出的 `s(x) = -4x(x^2 - 1)`,以恢复双峰结构。