Jacobian

分类: 深度学习基础

Jacobian

定义

雅可比矩阵(Jacobian Matrix)是一个向量值函数 f:RnRmf: \mathbb{R}^n \to \mathbb{R}^m 的所有一阶偏导数组成的矩阵。在深度学习中,网络每一层的输入到输出映射都对应一个 Jacobian,反向传播的链式法则本质上是逐层 Jacobian 的矩阵乘法(实践中以更高效的 VJP 形式实现)。

数学形式

J=fx=[f1x1f1xnfmx1fmxn]Rm×nJ = \frac{\partial f}{\partial x} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix} \in \mathbb{R}^{m \times n}

链式法则:Lx=LfJ\frac{\partial L}{\partial x} = \frac{\partial L}{\partial f} \cdot J(vector-Jacobian product, VJP)

核心要点

反向传播的数学基础:整个网络的梯度是各层 Jacobian 的链式乘积 JLJL1J1J_L \cdot J_{L-1} \cdots J_1,理解 Jacobian 就理解了梯度传播

梯度消失/爆炸的根源:如果各层 Jacobian 的谱范数(最大奇异值)持续 <1<1>1>1,连乘后梯度将指数衰减或指数增长

VJP vs JVP:反向传播使用 VJP(从输出到输入),前向模式自动微分使用 JVP(从输入到输出)。VJP 对多参数、单输出的场景更高效

正交初始化:将权重矩阵初始化为正交矩阵可使 Jacobian 的奇异值接近 1,有效缓解梯度消失/爆炸(常用于 RNN)

Fisher 信息矩阵的联系:Fisher 矩阵 F=E[JJ]F = \mathbb{E}[J^\top J] 是 Jacobian 的外积期望,用于自然梯度下降等二阶优化方法

代表工作

Rumelhart et al. (1986): Learning representations by back-propagating errors

Saxe et al. (2014): Exact solutions to the nonlinear dynamics of learning in deep linear networks(分析 Jacobian 谱与训练动态)

相关概念

Computation Graph

Vanishing Gradient

Gradient Clipping

残差连接