Skip to content

函数变化:梯度、雅可比和海塞矩阵

三者递进关系体现在:海塞矩阵是梯度的雅可比矩阵。即先对函数求一阶得梯度,再将梯度视为新的向量函数求一阶雅可比,自然就得到了二阶海塞。从这个角度看,雅可比是求导算子的矩阵化,而海塞是这一过程的二次应用。

在多元微积分与机器学习理论中,我们时常需要刻画一个函数在某一点附近如何随自变量的微小扰动而变化。当函数的定义域与值域维数超过一,标量微积分中"导数"这一单一概念便不再足够,需要被推广为一系列具有不同结构的对象:梯度(gradient)、雅可比矩阵(Jacobian matrix)与海塞矩阵(Hessian matrix)。这三者并非孤立的定义,而是在同一套微分框架下按维度与阶数递进衍生出来的结构。

梯度

标量值函数与偏导数

f:RnRf: \mathbb{R}^n \to \mathbb{R} 是一个定义在开集 URnU \subseteq \mathbb{R}^n 上的标量值函数,自变量记为 x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \dots, x_n)^\top。若 ff 关于第 ii 个分量的偏导数

fxi(x)=limh0f(x+hei)f(x)h\frac{\partial f}{\partial x_i}(\mathbf{x}) = \lim_{h \to 0} \frac{f(\mathbf{x} + h\mathbf{e}_i) - f(\mathbf{x})}{h}

在点 x\mathbf{x} 处存在,其中 ei\mathbf{e}_i 为第 ii 个标准基向量,则称 ff 在该方向上可偏导。

定义

定义 1.1(梯度)ffx\mathbf{x} 处所有偏导数均存在,则将这些偏导数按顺序排列成的列向量

f(x)=(fx1,fx2,,fxn)Rn\nabla f(\mathbf{x}) = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right)^\top \in \mathbb{R}^n

称为 ffx\mathbf{x} 处的梯度

梯度本质上是标量值函数导数概念在多维定义域上的自然延拓:它把"函数关于每个自变量分量的变化率"打包为一个向量,方向与大小共同编码了函数局部变化的完整一阶信息。

全微分、方向导数

定理 1.1(一阶泰勒近似)ffx\mathbf{x} 处可微,则对充分小的扰动 hRn\mathbf{h} \in \mathbb{R}^n,有

f(x+h)=f(x)+f(x)h+o(h).f(\mathbf{x} + \mathbf{h}) = f(\mathbf{x}) + \nabla f(\mathbf{x})^\top \mathbf{h} + o(\|\mathbf{h}\|).

这一定理表明,梯度与扰动向量的内积给出了函数值变化的最佳线性近似,梯度因此可被理解为将"方向"映射为"变化率"的线性泛函在标准基下的坐标表示。

定理 1.2(最速上升方向)u=1\|\mathbf{u}\| = 1,则方向导数

Duf(x)=f(x)uD_{\mathbf{u}} f(\mathbf{x}) = \nabla f(\mathbf{x})^\top \mathbf{u}

u=f(x)f(x)\mathbf{u} = \dfrac{\nabla f(\mathbf{x})}{\|\nabla f(\mathbf{x})\|} 时取得最大值 f(x)\|\nabla f(\mathbf{x})\|

证明思路: 由柯西–施瓦茨不等式,f(x)uf(x)u\nabla f(\mathbf{x})^\top \mathbf{u} \le \|\nabla f(\mathbf{x})\| \|\mathbf{u}\|,等号当且仅当 u\mathbf{u}f(x)\nabla f(\mathbf{x}) 同向时成立。

这一性质赋予梯度明确的几何意义:梯度方向指向函数值增长最快的方向,其模长表示该方向上的最大变化率;梯度的负方向则是函数值下降最快的方向,这正是梯度下降法的理论基石。此外,梯度处处与函数的等值面(水平集)正交,这一事实在约束优化中的拉格朗日乘子法里起着核心作用。

机器学习

在机器学习中,绝大多数模型的训练问题都可归结为最小化某个标量损失函数 L(θ)L(\theta),其中 θRp\theta \in \mathbb{R}^p 为模型参数。梯度下降法(gradient descent)利用梯度的最速下降性质,通过迭代

θt+1=θtηL(θt)\theta_{t+1} = \theta_t - \eta \, \nabla L(\theta_t)

不断沿负梯度方向更新参数,其中 η\eta 为学习率。随机梯度下降(SGD)、动量法、Adam 等现代优化器均是在此基础上对梯度信息的进一步加工与修正。

在深度神经网络中,参数量往往达到百万甚至千亿级别,逐分量手工推导偏导数并不可行,反向传播算法(backpropagation)正是利用链式法则高效计算梯度的系统性方法——其本质是对下文将要讨论的雅可比矩阵的链式复合。

雅可比矩阵

标量到向量值函数

当函数不再是标量值,而是 f:RnRm\mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m,即

f(x)=(f1(x),f2(x),,fm(x)),\mathbf{f}(\mathbf{x}) = \big(f_1(\mathbf{x}), f_2(\mathbf{x}), \dots, f_m(\mathbf{x})\big)^\top,

每一个分量函数 fi:RnRf_i: \mathbb{R}^n \to \mathbb{R} 都各自拥有一个梯度 fi(x)Rn\nabla f_i(\mathbf{x}) \in \mathbb{R}^n。将这 mm 个梯度向量按行排列,便得到雅可比矩阵。

定义

定义 2.1(雅可比矩阵)f\mathbf{f} 的每个分量在 x\mathbf{x} 处均可偏导,则 m×nm \times n 矩阵

Jf(x)=(f1x1f1xnfmx1fmxn)=(f1(x)fm(x))J_{\mathbf{f}}(\mathbf{x}) = \begin{pmatrix} \dfrac{\partial f_1}{\partial x_1} & \cdots & \dfrac{\partial f_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \dfrac{\partial f_m}{\partial x_1} & \cdots & \dfrac{\partial f_m}{\partial x_n} \end{pmatrix} = \begin{pmatrix} \nabla f_1(\mathbf{x})^\top \\ \vdots \\ \nabla f_m(\mathbf{x})^\top \end{pmatrix}

称为 f\mathbf{f}x\mathbf{x} 处的雅可比矩阵,记作 Jf(x)J_{\mathbf{f}}(\mathbf{x})fx\dfrac{\partial \mathbf{f}}{\partial \mathbf{x}}

由此可见,梯度是雅可比矩阵在 m=1m=1 时的特例(此时雅可比退化为一个行向量,其转置即为梯度)。

线性算子

定理 2.1(多元一阶泰勒近似)f\mathbf{f}x\mathbf{x} 处可微,则

f(x+h)=f(x)+Jf(x)h+o(h).\mathbf{f}(\mathbf{x} + \mathbf{h}) = \mathbf{f}(\mathbf{x}) + J_{\mathbf{f}}(\mathbf{x}) \, \mathbf{h} + o(\|\mathbf{h}\|).

雅可比矩阵因此扮演着"局部最佳线性映射"的角色:它是全导数(Fréchet 导数)在标准基下的矩阵表示,将输入空间的扰动方向线性地映射为输出空间的扰动方向。

链式法则

定理 2.2(链式法则的矩阵形式)g:RnRm\mathbf{g}: \mathbb{R}^n \to \mathbb{R}^mf:RmRk\mathbf{f}: \mathbb{R}^m \to \mathbb{R}^k,复合函数 h=fg:RnRk\mathbf{h} = \mathbf{f} \circ \mathbf{g}: \mathbb{R}^n \to \mathbb{R}^k,则

Jh(x)=Jf(g(x))Jg(x).J_{\mathbf{h}}(\mathbf{x}) = J_{\mathbf{f}}\big(\mathbf{g}(\mathbf{x})\big) \, J_{\mathbf{g}}(\mathbf{x}).

即复合函数的雅可比矩阵等于各层雅可比矩阵按复合顺序的矩阵乘积。这一定理是整个深度学习自动微分体系的数学基础。

机器学习

  • 反向传播的本质:一个 LL 层神经网络可视为逐层复合的向量值函数 fLf1\mathbf{f}_L \circ \cdots \circ \mathbf{f}_1,损失函数关于参数的梯度即通过定理 2.2 反复应用链式法则、将各层雅可比矩阵逐层左乘而得。自动微分框架(如 PyTorch、TensorFlow 的计算图)本质上是在高效地计算并组合一系列雅可比–向量积(Jacobian-vector product, JVP)与向量–雅可比积(vector-Jacobian product, VJP),而无需显式构造完整的雅可比矩阵。
  • 归一化流(Normalizing Flows):在生成模型中,通过可逆变换 z=f(x)\mathbf{z} = \mathbf{f}(\mathbf{x}) 建模概率密度时,变量替换公式
pX(x)=pZ(f(x))detJf(x)p_X(\mathbf{x}) = p_Z\big(\mathbf{f}(\mathbf{x})\big) \left| \det J_{\mathbf{f}}(\mathbf{x}) \right|

直接依赖雅可比行列式,这要求所设计的变换族拥有易于计算的雅可比矩阵(如三角结构)。

  • 对抗鲁棒性与敏感性分析:输出关于输入的雅可比矩阵刻画了模型对输入扰动的敏感程度,是对抗样本生成(如 FGSM)与鲁棒性正则化方法(雅可比范数正则化)的理论工具。
  • 多任务学习与雅可比冲突:当模型同时输出多个预测目标时,各任务梯度构成的雅可比矩阵的行与行之间可能存在方向冲突,这催生了如 PCGrad 等专门处理"梯度冲突"的多任务优化方法。

海塞矩阵

对梯度再求导

海塞矩阵刻画的是标量值函数 f:RnRf: \mathbb{R}^n \to \mathbb{R}二阶变化信息。其构造方式恰好揭示了本文的核心论点:既然梯度 f:RnRn\nabla f: \mathbb{R}^n \to \mathbb{R}^n 本身是一个向量值函数(输入维度 nn,输出维度也是 nn),那么按照 2.2 节的定义,我们完全可以对它求雅可比矩阵。

定义

定义 3.1(海塞矩阵)f:RnRf: \mathbb{R}^n \to \mathbb{R} 二阶可偏导,则 n×nn \times n 矩阵

Hf(x)=Jf(x)=(2fx122fx1xn2fxnx12fxn2)H_f(\mathbf{x}) = J_{\nabla f}(\mathbf{x}) = \begin{pmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \cdots & \dfrac{\partial^2 f}{\partial x_1 \partial x_n} \\ \vdots & \ddots & \vdots \\ \dfrac{\partial^2 f}{\partial x_n \partial x_1} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2} \end{pmatrix}

称为 ffx\mathbf{x} 处的海塞矩阵

命题 3.1 海塞矩阵恰为梯度向量场 f:RnRn\nabla f: \mathbb{R}^n \to \mathbb{R}^n 的雅可比矩阵,即 Hf(x)=Jf(x)H_f(\mathbf{x}) = J_{\nabla f}(\mathbf{x})

这一命题并非巧合,而是定义使然:它精确地表述了本文开篇提出的递进关系——梯度是一阶导数算子作用于标量函数的结果,而海塞矩阵是该导数算子的二次复合,或者说,是"对雅可比矩阵这一构造方法本身再应用一次"的产物。

对称性

定理 3.1(施瓦茨定理 / 克莱罗定理)ffx\mathbf{x} 的某邻域内二阶偏导数连续(即 fC2f \in C^2),则混合偏导数与求导顺序无关:

2fxixj=2fxjxi,i,j.\frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i}, \quad \forall i, j.

推论 3.1 在上述条件下,海塞矩阵是对称矩阵,即 Hf(x)=Hf(x)H_f(\mathbf{x}) = H_f(\mathbf{x})^\top

对称性使得海塞矩阵拥有实特征值与正交特征向量分解,这是后续凸性判定与优化算法设计的关键代数基础。

二阶泰勒展开与凸性判定

定理 3.2(二阶泰勒近似)fC2f \in C^2,则

f(x+h)=f(x)+f(x)h+12hHf(x)h+o(h2).f(\mathbf{x} + \mathbf{h}) = f(\mathbf{x}) + \nabla f(\mathbf{x})^\top \mathbf{h} + \frac{1}{2} \mathbf{h}^\top H_f(\mathbf{x}) \, \mathbf{h} + o(\|\mathbf{h}\|^2).

海塞矩阵通过二次型 hHfh\mathbf{h}^\top H_f \mathbf{h} 描述了函数偏离其切平面的"弯曲程度",也即局部凸凹性。

定理 3.3(二阶最优性判据)x\mathbf{x}^*ff 的驻点(即 f(x)=0\nabla f(\mathbf{x}^*) = \mathbf{0})。

  1. Hf(x)H_f(\mathbf{x}^*) 正定,则 x\mathbf{x}^* 是严格局部极小点;
  2. Hf(x)H_f(\mathbf{x}^*) 负定,则 x\mathbf{x}^* 是严格局部极大点;
  3. Hf(x)H_f(\mathbf{x}^*) 不定(既有正特征值又有负特征值),则 x\mathbf{x}^*鞍点(saddle point)。

定理 3.4(凸性的二阶判据) 函数 ff 在凸集 UU 上为凸函数,当且仅当 Hf(x)0H_f(\mathbf{x}) \succeq 0(半正定)对所有 xU\mathbf{x} \in U 成立。

机器学习

  • 牛顿法与二阶优化:相较于仅利用一阶信息的梯度下降,牛顿法利用海塞矩阵构造局部二次模型并直接求其极小点:
θt+1=θtHf(θt)1f(θt).\theta_{t+1} = \theta_t - H_f(\theta_t)^{-1} \nabla f(\theta_t).

牛顿法在二次逼近良好的区域内具有二阶收敛速度,但对于深度学习中动辄百万级参数的模型,显式求逆 Hf1H_f^{-1} 的计算与存储代价高达 O(p3)O(p^3)O(p2)O(p^2),因而催生了拟牛顿法(如 BFGS、L-BFGS)与仅利用海塞矩阵–向量积(Hessian-vector product)而不显式构造海塞矩阵的Hessian-free 优化方法。

  • 损失曲面的几何分析:深度网络损失函数高度非凸,海塞矩阵的特征值谱是分析损失曲面局部几何(尖锐极小值 vs. 平坦极小值、鞍点密度)的重要工具,这与模型的泛化能力密切相关——经验研究表明,位于"平坦极小值"(海塞矩阵特征值普遍较小)附近的解通常具有更好的泛化性能。
  • 自然梯度法与费舍尔信息矩阵:在概率模型中,损失函数关于参数的费舍尔信息矩阵(Fisher Information Matrix)在特定条件下与负对数似然的海塞矩阵的期望相一致,自然梯度法利用该矩阵对参数空间做黎曼度量下的校正,从而获得优化路径的参数化不变性。
  • 二阶正则化与鲁棒性:对海塞矩阵特征值谱施加正则化(如惩罚最大特征值)已被用于提升模型抗对抗攻击的鲁棒性与训练稳定性,因为较小的海塞矩阵范数意味着损失函数在参数空间中变化更为平缓。

统一视角

综合前三部分的讨论,可以将梯度、雅可比矩阵与海塞矩阵纳入同一个求导算子递进作用的框架中:

概念作用对象结果类型与雅可比的关系
梯度 f\nabla ff:RnRf: \mathbb{R}^n \to \mathbb{R}向量 Rn\in \mathbb{R}^nm=1m=1 情形下雅可比矩阵的转置
雅可比矩阵 JfJ_{\mathbf{f}}f:RnRm\mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m矩阵 Rm×n\in \mathbb{R}^{m \times n}一般情形,本身即为定义
海塞矩阵 HfH_ff:RnRn\nabla f: \mathbb{R}^n \to \mathbb{R}^n矩阵 Rn×n\in \mathbb{R}^{n \times n}梯度这一向量值函数的雅可比矩阵

命题 4.1(算子复合观点)DD 为将函数映射到其(全)导数的算子。对标量函数 ff,一阶应用 DD 得到梯度 f\nabla f(一个向量值函数);将 DD 再次作用于这一向量值函数,即得到海塞矩阵 Hf=D(f)=JfH_f = D(\nabla f) = J_{\nabla f}。因此海塞矩阵可视为算子 DD 的二次幂 D2D^2 在标量函数上的矩阵化表示。

这一视角同时揭示了为何海塞矩阵天然对称(由施瓦茨定理保证),而一般的雅可比矩阵未必是方阵、更谈不上对称——对称性正是"对同一个梯度向量场求导"这一特殊结构所赋予的额外代数性质。

在实际的机器学习系统实现中,这一递进关系也直接体现在自动微分框架的设计上:一阶自动微分(计算梯度或雅可比–向量积)是绝大多数训练流程的标准配置;而计算海塞矩阵或海塞–向量积,则通常通过对一阶自动微分的计算图再套一层自动微分来实现(即所谓的"双重反向传播",double backpropagation),这与命题 4.1 中对梯度再求雅可比的数学结构完全对应。

梯度、雅可比矩阵与海塞矩阵是同一套微分学思想在不同阶数与不同维度组合下的具体呈现在机器学习的实践中,从梯度下降到反向传播,从鞍点分析到二阶优化与自然梯度,三者共同构成了理解模型训练动力学与损失曲面几何结构的数学骨架。

陕西西安