跳到主内容
快讯直播
AI智模界
AI 词典

海森矩阵与二阶信息:优化器到底「看见」多少曲率

一句话定义:海森矩阵(Hessian matrix)是一个多元函数所有二阶偏导数排成的方阵,它刻画的是函数在某一点的「弯曲程度」,也就是曲率。

先分清一阶和二阶。 梯度(gradient)是一阶信息,像山坡上的一支箭头:告诉你哪个方向最陡、往下走最快,但它不关心坡本身长什么样。海森矩阵是二阶信息,回答的是「坡在怎么变」——是像碗底那样越走越平,还是像刀刃那样稍偏一点就急剧上升。

打个比方。 你在浓雾里下山找谷底。只有梯度,你只能一步步试探:如果山谷是狭长的一条沟,陡的方向和缓的方向差了几十倍,你会沿着沟壁来回横跳,走出一串「之」字,收敛极慢。有了海森矩阵(或者说它给出的曲率),你等于提前知道了谷的形状:陡的方向小步挪,缓的方向大胆走。牛顿法(Newton's method)正是这么干的,它用 x ← x − H⁻¹g 直接跳到当前二次近似的最低点,理想情况下几步到位。

几个容易混的概念:

概念描述什么形状典型使用者
梯度一阶信息,最陡下降方向n 维向量SGD、Adam
雅可比矩阵(Jacobian)向量值函数的一阶导数m×n反向传播的链式法则
海森矩阵标量函数的二阶导数、曲率n×n牛顿法
费舍尔信息矩阵(Fisher)曲率的统计近似n×n自然梯度

注意梯度是向量、海森是矩阵,这个「升一维」就是它昂贵的原因。

为什么贵到几乎没人真用。 n 个参数要存 n×n 个数。今天的模型动辄上亿参数,n² 直接是天文数字,既存不下也算不动——更别说每次迭代还要解一个线性方程组。于是实践中全是「偷看一点曲率」的近似方案:L-BFGS 只保留最近若干步梯度差来估计曲率的逆;Adam 用梯度平方做逐维缩放,本质上是一种粗糙的对角近似(只取海森对角线);K-FAC 之类的自然梯度方法则用分块结构近似,工程复杂度很高,具体支持情况以各框架官方文档为准。这些统称拟牛顿法(quasi-Newton)——用一阶信息的便宜价格,买一部分二阶信息的收益。

对从业者的意义。 很多训练技巧都能从曲率角度读懂:损失面条件数差(各方向曲率悬殊)是训练不稳、学习率难调的根源;归一化层、学习率预热、Adam 相对 SGD 的优势,大多可以理解为在补偿或绕开曲率信息。下次调不动学习率时,想想你脚下的山谷是不是一条又窄又长的沟。

对普通人的意义。 做迭代决策时,「知道方向」和「知道方向会怎么变」是两码事。只按当前趋势往前冲,容易在接近目标时来回振荡;对变化率本身有感觉,才知道该减速,还是该加大步伐。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。