大模型预训练(五):Hessian矩阵

想象我们正站在一片风景中,不是草地和山丘,而是“损失函数风景”。每个点都是模型可能拥有的一组权重,高度代表模型在那里的“错误”程度。

低谷=好,高峰=坏。

Hessain矩阵?如果说坡度(斜率)告诉你哪条路是下坡,那么 Hessian 矩阵则告诉你坡度本身是如何变化的(曲率):

- 山谷是陡峭的还是平坦的?
- 只有一个碗状结构,还是有很多小凹陷?
- 如果你迈出一步,你会快速跌倒还是缓慢地漂移?

你手中握着的不是一根拐杖,而是一个二阶偏导数矩阵。如果你处在一个陡峭的山谷中,曲率很高,即使是很小的一步也会对损失产生很大的影响。如果你处在一个宽阔的盆地中,曲率很低,你可以四处走动,损失几乎不会改变。

这样,权重的微小变化(来自噪声、量化或不同的训练批次)不会对性能造成太大影响。模型泛化能力更强,它没有记住一个完美的位置;它找到了一个连贯解的区域。

大型模型(例如 Transformer)往往会自然地落入这些宽阔的盆地,因为参数空间巨大,近似等效配置的数量呈指数级增长,而使用噪声梯度的优化会倾向于最宽阔、最宽容的谷底。


矩阵可以是导数吗?是的,但不是单个数字的导数。你可以想得更远一些。假设你有一个函数,它不只有一个变量  x ,而是多个变量:

f(x_1, x_2, …, x_n)

它的梯度是一个一阶导数向量:

\nabla f = \left[ \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots \right]

它指向地形图中的“下坡”。现在……Hessian就是梯度的导数,所以它是一个二阶偏导数矩阵:

&n

posted @ 2025-10-11 22:02  CathyBryant  阅读(79)  评论(0)    收藏  举报  来源