文章目录

自然梯度法与Fisher信息矩阵的参数空间黎曼几何

发布于 2026-07-27 22:44:01 · 浏览 34 次 · 评论 0 条

自然梯度法与Fisher信息矩阵的参数空间黎曼几何

在机器学习优化中,传统的梯度下降法假设参数空间是平坦的、均匀的欧几里得空间。但实际情况并非如此——参数微小的变化在不同方向上造成的“信息”影响差异巨大。自然梯度法正是为了解决这一矛盾而诞生,它借用了Fisher信息矩阵来测量参数空间的局部曲率,从而让优化方向不依赖于模型参数的特定编码方式。


1. 理解参数空间的非欧特性

  • 识别欧几里得优化的缺陷:传统梯度下降法直接计算损失函数对参数的导数 $\nabla L(\theta)$,然后沿反方向更新参数。这种做法隐含了一个假设:参数空间中所有方向的距离度量是一致的。换句话说,改变参数 $\theta_1$ 0.1 与改变 $\theta_2$ 0.1 被认为具有相同程度的“变化”,但实际上,这种变化对模型输出的影响可能天差地别。
  • 建立黎曼几何视角:黎曼几何的关键思想是,空间中的每个点都有一个局部的度量(inner product),用于测量该点处切向量的长度和夹角。在参数空间 $\Theta$ 上,我们需要一个依赖于参数 $\theta$ 的度量张量 $G(\theta)$,使得两个相近参数之间的“距离”不再由简单的欧几里得距离 $\|\delta\theta\|$ 定义,而是由 $\sqrt{\delta\theta^T G(\theta) \delta\theta}$ 定义。这个度量张量能够捕捉参数变化对模型概率分布的实际影响。
  • 对比两种距离概念:欧几里得距离忽略参数取值的语义;而黎曼距离关注的是参数变化导致的概率分布之间的距离。自然梯度法的目标就是沿着黎曼距离意义下的最速下降方向更新参数。

2. 弄懂Fisher信息矩阵作为度量

  • 定义Fisher信息矩阵:对于一个以 $\theta$ 为参数的模型 $p(x|\theta)$,Fisher信息矩阵 $F(\theta)$ 是一个 $d \times d$ 的矩阵($d$ 是参数数量),其第 $i$ 行第 $j$ 列元素定义为:

$$ F_{ij}(\theta) = \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] $$

其中期望是对数据 $x$ 的分布 $p(x|\theta)$ 求取。Fisher信息矩阵测量的正是对数似然梯度的二阶矩。

  • 解释几何意义:Fisher信息矩阵 $F(\theta)$ 可以看作参数空间 $\Theta$ 上的黎曼度量张量。很直观地,如果某个参数方向上的微小改变会大幅改变对数似然(即梯度大),则Fisher信息矩阵在该方向上的分量也大,意味着该方向黎曼距离长,参数变化应更谨慎。反过来,对似然影响小的方向,黎曼距离短,可以更大步地移动。
  • 提供关键性质:Fisher信息矩阵始终是半正定的(对可识别模型是正定矩阵)。这一性质保证它可以作为有效的黎曼度量张量。另外,Fisher信息矩阵的变化与参数的不同重参数化方式相适应——它给出的黎曼度量是参数化不变的(即不依赖于具体的参数坐标)。这是自然梯度法最宝贵的特性。

3. 建立自然梯度法的定义

  • 回顾标准梯度更新:标准梯度下降法在欧几里得度量下沿损失函数的最速下降方向更新参数:

$$ \theta_{t+1} = \theta_t - \eta \nabla L(\theta_t) $$

其中 $\eta$ 是学习率,$\nabla L(\theta_t)$ 是损失关于参数的梯度。

  • 推导自然梯度方向:在黎曼几何中,最速下降方向受限于黎曼距离。要最小化损失 $L(\theta)$ 在参数空间中的变化,同时约束每一步的黎曼距离为一个固定小量 $\epsilon$。求解该约束优化问题,得到自然梯度方向是逆Fisher信息矩阵乘以标准梯度

$$ \tilde{\nabla} L(\theta) = F(\theta)^{-1} \nabla L(\theta) $$

可以这样理解:Fisher信息矩阵的逆矩阵“修正”了标准梯度的方向,使之适应参数空间的局部弯曲。在曲率大的方向(Fisher信息矩阵分量大),$F^{-1}$ 的分量小,自然梯度的相应分量被缩小;在曲率小的方向,自然梯度的分量相对放大。

  • 给出自然梯度更新规则:自然梯度下降法的更新公式为:

$$ \theta_{t+1} = \theta_t - \eta \, F(\theta_t)^{-1} \nabla L(\theta_t) $$

这个更新规则不再受参数具体编码方式的影响——无论你怎么重新参数化模型,自然梯度的方向不会改变,每次移动的黎曼距离总是相同的。


4. 理解参数化不变性的深层原因

  • 回顾参数化变换时的行为:假设对参数进行可逆变换 $\phi = f(\theta)$,那么损失函数和Fisher信息矩阵都会发生相应变换。具体来说,在新参数 $\phi$ 下,梯度变为 $\nabla_\phi L = (J^T)^{-1} \nabla_\theta L$,其中 $J$ 是变换的雅可比矩阵($J_{ij} = \partial \phi_i / \partial \theta_j$)。同时,Fisher信息矩阵变换为 $F(\phi) = J^{-T} F(\theta) J^{-1}$
  • 验证不变性:将以上变换代入自然梯度公式 $F(\phi)^{-1} \nabla_\phi L$$F(\phi)^{-1} = J F(\theta)^{-1} J^T$,乘以 $\nabla_\phi L = (J^T)^{-1} \nabla_\theta L$ 得到 $J F(\theta)^{-1} \nabla_\theta L$。而自然梯度对原参数是 $F(\theta)^{-1} \nabla_\theta L$,两者通过雅可比矩阵 $J$ 联系起来,恰好符合参数变换规则 $\delta \phi = J \delta \theta$。这意味着,只要在黎曼几何意义下,自然梯度的物理方向(即对模型参数空间的几何解释)不依赖于你用什么坐标来描述参数。
  • 得出结论:这种参数化不变性确保自然梯度法在任何参数化下都给出一致的最优更新方向。不论你怎么缩放、旋转参数,自然梯度法总能产生不偏不倚的步长与方向。

5. 对照标准梯度下降法的局限性

  • 识别学习率的问题:在标准梯度下降法中,学习率 $\eta$ 对所有参数分量一致。如果Fisher信息矩阵在不同方向上的分量相差悬殊(即存在曲率方向上的各向异性),同一个学习率可能在某些方向过大(导致震荡),而在某些方向过小(导致收敛极慢)。自然梯度法通过 $F^{-1}$ 自动为每个方向匹配各自的步长,有效缓解这一问题。
  • 对比收敛行为:在强曲率方向上,标准梯度下降法易于“绕着峡谷壁来回震荡”;自然梯度法则察觉此处黎曼距离长,从而自动缩小步长,稳定地沿谷底前进。在平坦方向上,标准梯度下降法步长不足,自然梯度法则放大步长,加快收敛。
  • 总结根本区别:标准梯度下降法依赖于欧几里得坐标的任意性(即参数编码方式的选择),而自然梯度法立足于概率分布空间的固有几何结构(由Fisher信息矩阵描述),因此更稳健、更高效。

6. 梳理自然梯度法的计算难点

  • 识别逆矩阵计算代价:Fisher信息矩阵是一个 $d \times d$ 的矩阵,对于深度神经网络($d$ 可能达到数百万),求逆 $F^{-1}$ 的计算复杂度和存储需求都是 O(d^3) — 完全不可行。
  • 考虑近似与迭代方案:实践中,并不直接求逆,而是采用若干近似技术:
    1. 使用Kronecker-factored Approximate Curvature(K-FAC):将Fisher信息矩阵近似为块对角矩阵,每块进一步用Kronecker乘积分解,大幅简化求逆。
    2. Conjugate Gradient(共轭梯度)求解器:将计算 $F^{-1} \nabla L$ 转化为求解一组线性方程组 $F z = \nabla L$,避免显式求逆。
    3. 迭代近似:使用一系列矩阵向量乘法来逼近逆作用。
  • 权衡精度与效率:上述近似方法虽然牺牲了一定精度,但能以可接受的运算成本保留自然梯度的大部分好处——尤其是在优化深度网络时,显著减少收敛所需的步数。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文