梯度、Jacobian 与 Hessian

多元函数 $f(\mathbf x)$ 的一阶信息是梯度 $\nabla f$(指向上升最快方向),二阶信息是 Hessian $H=\nabla^2 f$(对称矩阵)。向量值函数 $\mathbf f:\mathbb R^n\to\mathbb R^m$ 的导数是 Jacobian $J\in\mathbb R^{m\times n}$。

泰勒展开

在 $\mathbf x_0$ 附近二阶近似:
$f(\mathbf x)\approx f(\mathbf x_0)+\nabla f^\top(\mathbf x-\mathbf x_0)+\tfrac12(\mathbf x-\mathbf x_0)^\top H(\mathbf x-\mathbf x_0)$
一阶项是梯度下降的依据,二阶项是牛顿法的依据。

链式法则

复合函数求导逐层相乘,这是反向传播的数学内核。对 $L=g(f(\mathbf x))$:
$\frac{\partial L}{\partial \mathbf x}=\Big(\frac{\partial f}{\partial \mathbf x}\Big)^{!\top}\frac{\partial L}{\partial f}$

例题

 $f(x,y)=x^2+3xy+y^2$:$\nabla f=(2x+3y,,3x+2y)$,$H=\begin{pmatrix}2&3\3&2\end{pmatrix}$,特征值 $5,-1$ 异号,故 $(0,0)$ 是鞍点——这正是深度网络损失面的常见地形。

应用

梯度告诉参数“往哪改”,Hessian 描述损失面的曲率(病态时收敛慢)。自动微分(PyTorch 的 autograd)本质就是计算图上的链式法则,把人工推导梯度变成机器自动完成。