Skip to content

矩阵微积分

本章系统整理矩阵微积分的核心公式,主要参考 The Matrix Cookbook(Petersen & Pedersen, 2012)——这是机器学习和信号处理领域最权威的矩阵公式手册,汇集了大量实用的矩阵导数、迹导数、行列式导数等结果。本章从中提取最常用的部分,略去过于复杂或应用场景极少的公式,以便快速查阅和学习。

1. 符号约定

本章采用分母布局(denominator layout)约定,这与大多数机器学习教材(如 Matrix Cookbook)一致:

记法含义结果形状
yx标量对列向量求导列向量(与 x 形状相同)
yx列向量对标量求导列向量(与 y 形状相同)
yx列向量对列向量求导矩阵(Jacobian)
yA标量对矩阵求导矩阵(与 A 形状相同)

2. 基本微分法则

微分(differential)是导数推导的系统工具。对矩阵 X,以下规则成立:

法则公式
常数法则d(A)=0A 为常数矩阵)
线性法则d(αX)=αdX
加法法则d(X+Y)=dX+dY
乘积法则d(XY)=(dX)Y+X(dY)
转置法则d(X)=(dX)
迹法则d(tr(X))=tr(dX)
逆矩阵法则d(X1)=X1(dX)X1
行列式法则d(det(X))=det(X)tr(X1dX)
对数行列式法则d(lndet(X))=tr(X1dX)

核心技巧:利用恒等式

df=tr((fX)dX)

可以从 df 的表达式中直接读出 fX,避免逐元素计算。

3. 梯度(Gradient)

3.1 标量对向量求导

f:RnRxRnf 关于 x梯度(gradient):

xf=fx=[fx1fx2fxn]Rn

几何意义:梯度指向函数值增长最快的方向,其大小为该方向上的变化率。

3.2 向量/矩阵形式的一阶导数

以下 a,b 为常数向量,A,B 为常数矩阵,x 为变量向量,X 为变量矩阵。

向量导数

函数 f(x)梯度 fx
axa
xaa
xx=|x|22x
xAxA 对称)2Ax
xAxA 一般)(A+A)x
|yAx|22A(yAx)
aXb(对 x 中某分量)

矩阵导数(标量函数对矩阵)

函数 f(X)导数 fX
aXbab
aXbba
|yXx|22(yXx)x
|X|F2=tr(XX)2X
xAx(对称 A,对 x2Ax

4. Jacobian 矩阵

4.1 定义

f:RnRm,输出为 f(x)=(f1(x),,fm(x))Jacobian 矩阵(Jacobian matrix)是所有偏导数组成的矩阵:

J=fx=[f1x1f1xnfmx1fmxn]Rm×n

直觉:Jacobian 描述了输出空间中每个方向如何随输入变化,是线性近似 f(x+δ)f(x)+Jδ 的系数矩阵。

4.2 常用 Jacobian

映射 f(x)Jacobian J
AxARm×n 固定)A
σ(x)(逐元素激活)diag(σ(x))
softmax(x)diag(p)ppp=softmax(x)
|x|2ei2 归一化)1|x|(Ix^x^)

5. Hessian 矩阵

5.1 定义

f:RnRHessian 矩阵f 的所有二阶偏导数组成的矩阵:

H=2f=2fx2=[2fx122fx1xn2fxnx12fxn2]Rn×n

H 是对称矩阵(若 f 二阶连续可微)。

5.2 Hessian 与优化

Hessian 性质对应几何/优化含义
H0(正定)严格局部最小值,损失函数局部凸
H0(负半定)局部最大值或鞍点方向
H 不定(有正有负特征值)鞍点(Saddle point)
κ(H)1(条件数大)loss 曲面狭长,梯度下降收敛慢

二阶 Taylor 展开

f(x+δ)f(x)+f(x)δ+12δHδ

6. 迹导数(Trace Derivatives)

迹导数在推导矩阵运算的梯度时极为常用。以下 A,B 为常数矩阵,X 为变量矩阵。

函数 f(X)导数 fX
tr(X)I
tr(XA)A
tr(AX)A
tr(AXB)AB
tr(AXB)BA
tr(X2)2X
tr(XX)2X
tr(XBX)(B+B)X
tr(XBX)X(B+B)
tr(AXBX)AXB+AXB
tr(Xk)k(Xk1)
tr(AX1B)(X1BAX1)

推导方法:对 f=tr(g(X)) 先写出 df,利用迹的循环置换不变性 tr(ABC)=tr(CAB)=tr(BCA),再对比恒等式 df=tr((fX)dX) 读出导数。

7. 行列式与逆矩阵导数

7.1 行列式的导数

det(X)X=det(X)(X1)=det(X)Xln|det(X)|X=(X1)=X

X 对称正定,则 X=X1,上式化简为 X1(常见于高斯分布的对数似然推导)。

7.2 逆矩阵的导数

(X1)ijXkl=(X1)ik(X1)lj

对标量参数 x,若 Y=Y(x),则:

Y1x=Y1YxY1

对向量形式:

(aX1b)X=XabX

8. 范数导数

8.1 向量范数

x22x=2xx2x=xx2(x0)xa2x=xaxa2

8.2 矩阵范数

XF2X=tr(XX)X=2XAXBF2X=2A(AXB)XABF2X=2(XAB)A

9. 链式法则(Chain Rule)

9.1 标量情形

y=f(g(x)),则:

dydxi=dydgdgdxi

9.2 向量情形

z=g(x)Rky=f(z)R,则:

yx=Jgyz

其中 Jg=zxRk×ng 的 Jacobian,yzRkf 对中间量的梯度。

9.3 计算图与链式法则

神经网络的前向传播定义了一个计算图(computation graph),反向传播正是在图上从输出到输入逐层应用链式法则:

输入 x
  → 线性变换: z = Wx + b
  → 激活函数: a = σ(z)
  → 线性变换: o = Va + c
  → 损失: L = loss(o, y)

反向传播(梯度从右向左流动):
  ∂L/∂o  →  ∂L/∂V = (∂L/∂o) · aᵀ  , ∂L/∂a = Vᵀ · (∂L/∂o)
         →  ∂L/∂z = diag(σ'(z)) · ∂L/∂a
         →  ∂L/∂W = (∂L/∂z) · xᵀ  , ∂L/∂x = Wᵀ · (∂L/∂z)

10. 反向传播(Backpropagation)

10.1 本质

反向传播是链式法则在计算图上的高效实现,避免了重复计算:

  1. 前向传播:计算每个节点的值并缓存(供反向时使用);
  2. 反向传播:从损失节点出发,依链式法则逆向计算每个参数的梯度。

10.2 线性层的梯度

对层 y=Wx+b,设上游梯度为 Ly=δ,则:

LW=δx,Lb=δ,Lx=Wδ

对批量数据 Y=XW+1bXRB×dinWRdout×din):

LW=ΔX,Lb=Δ1,LX=ΔW

其中 Δ=LYRB×dout

10.3 Softmax + Cross-Entropy 的梯度

p=softmax(z)L=kyklogpk(交叉熵),则:

Lz=py

这一简洁的结果是 softmax 与交叉熵组合时 Jacobian 化简的结果。

11. 常用矩阵恒等式

在推导梯度时,矩阵求逆恒等式可以大幅简化计算,尤其在高斯过程、卡尔曼滤波和稀疏注意力中频繁出现。

11.1 Woodbury 矩阵恒等式

(A+UBV)1=A1A1U(B1+VA1U)1VA1

其中 ARn×nURn×kBRk×kVRk×n

意义:将一个 n×n 矩阵的求逆问题转化为一个 k×k 矩阵的求逆(kn 时高效)。

11.2 Sherman-Morrison 公式

Woodbury 恒等式在 U=bV=cB=1 时退化为:

(A+bc)1=A1A1bcA11+cA1b

意义:已知 A1,对 A 做秩-1 更新后高效更新逆矩阵,无需重新求逆。

11.3 矩阵求逆引理(Push-through identity)

A(I+BA)1=(I+AB)1A(I+AB)1A=A(I+BA)1

12. 常见梯度公式速查

12.1 对向量的梯度

x(ax)=ax(xAx)=(A+A)x=2Ax(A 对称)xxb2=2(xb)

12.2 对矩阵的梯度

WXWYF2=2X(XWY)Wtr(WAW)=(A+A)W=2AW(A 对称)Σlogdet(Σ)=Σ=Σ1(Σ 对称正定)

在 AI 中的应用

概念AI/ML 中的体现
梯度 θL参数更新方向;SGD、Adam 的输入
Jacobian每层的"敏感度矩阵";反向传播中梯度的"转发矩阵"
Hessian二阶优化(Newton、K-FAC);loss 曲面曲率分析;学习率选择
迹导数 tr(AB)/A推导 LayerNorm、Attention 的参数梯度
lndet(Σ)/Σ=Σ1高斯分布对数似然对协方差矩阵的梯度
Woodbury 恒等式稀疏/低秩注意力计算;线性时间 Transformer;高斯过程推断
Sherman-Morrison在线学习中的秩-1 更新;BFGS 拟牛顿法
L/z=py(softmax+CE)分类模型的最终梯度,推动参数更新

以知识图谱方式组织 AI 学习路径。