Skip to content

矩阵微积分 ​

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

1. 符号约定 ​

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

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

2. 基本微分法则 ​

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

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

核心技巧:利用恒等式

df=tr((∂f∂X)⊤dX)

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

3. 梯度(Gradient) ​

3.1 标量对向量求导 ​

设 f:Rn→R,x∈Rn。f 关于 x 的梯度(gradient):

∇xf=∂f∂x=[∂f∂x1∂f∂x2⋮∂f∂xn]∈Rn

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

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

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

向量导数

函数 f(x)梯度 ∂f∂x
a⊤xa
x⊤aa
x⊤x=|x|22x
x⊤Ax(A 对称)2Ax
x⊤Ax(A 一般)(A+A⊤)x
|y−Ax|2−2A⊤(y−Ax)
a⊤Xb(对 x 中某分量)—

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

函数 f(X)导数 ∂f∂X
a⊤Xbab⊤
a⊤X⊤bba⊤
|y−Xx|2−2(y−Xx)x⊤
|X|F2=tr(X⊤X)2X
x⊤Ax(对称 A,对 x)2Ax

4. Jacobian 矩阵 ​

4.1 定义 ​

设 f:Rn→Rm,输出为 f(x)=(f1(x),…,fm(x))⊤。Jacobian 矩阵(Jacobian matrix)是所有偏导数组成的矩阵:

J=∂f∂x=[∂f1∂x1⋯∂f1∂xn⋮⋱⋮∂fm∂x1⋯∂fm∂xn]∈Rm×n

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

4.2 常用 Jacobian ​

映射 f(x)Jacobian J
Ax(A∈Rm×n 固定)A
σ(x)(逐元素激活)diag(σ′(x))
softmax(x)diag(p)−pp⊤(p=softmax(x))
|x|2⋅ei(ℓ2 归一化)1|x|(I−x^x^⊤)

5. Hessian 矩阵 ​

5.1 定义 ​

设 f:Rn→R。Hessian 矩阵是 f 的所有二阶偏导数组成的矩阵:

H=∇2f=∂2f∂x2=[∂2f∂x12⋯∂2f∂x1∂xn⋮⋱⋮∂2f∂xn∂x1⋯∂2f∂xn2]∈Rn×n

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

5.2 Hessian 与优化 ​

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

二阶 Taylor 展开:

f(x+δ)≈f(x)+∇f(x)⊤δ+12δ⊤Hδ

6. 迹导数(Trace Derivatives) ​

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

函数 f(X)导数 ∂f∂X
tr(X)I
tr(XA)A⊤
tr(AX)A⊤
tr(AXB)A⊤B⊤
tr(AX⊤B)BA
tr(X2)2X⊤
tr(X⊤X)2X
tr(X⊤BX)(B+B⊤)X
tr(XBX⊤)X(B+B⊤)
tr(AXBX⊤)A⊤XB⊤+AXB
tr(Xk)k(Xk−1)⊤
tr(AX−1B)−(X−1BAX−1)⊤

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

7. 行列式与逆矩阵导数 ​

7.1 行列式的导数 ​

∂det(X)∂X=det(X)⋅(X−1)⊤=det(X)⋅X−⊤∂ln⁡|det(X)|∂X=(X−1)⊤=X−⊤

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

7.2 逆矩阵的导数 ​

∂(X−1)ij∂Xkl=−(X−1)ik(X−1)lj

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

∂Y−1∂x=−Y−1∂Y∂xY−1

对向量形式:

∂(a⊤X−1b)∂X=−X−⊤ab⊤X−⊤

8. 范数导数 ​

8.1 向量范数 ​

∂∥x∥22∂x=2x∂∥x∥2∂x=x∥x∥2(x≠0)∂∥x−a∥2∂x=x−a∥x−a∥2

8.2 矩阵范数 ​

∂∥X∥F2∂X=∂tr(X⊤X)∂X=2X∂∥AX−B∥F2∂X=2A⊤(AX−B)∂∥XA−B∥F2∂X=2(XA−B)A⊤

9. 链式法则(Chain Rule) ​

9.1 标量情形 ​

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

dydxi=dydg⋅dgdxi

9.2 向量情形 ​

设 z=g(x)∈Rk,y=f(z)∈R,则:

∂y∂x=Jg⊤∂y∂z

其中 Jg=∂z∂x∈Rk×n 是 g 的 Jacobian,∂y∂z∈Rk 是 f 对中间量的梯度。

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,设上游梯度为 ∂L∂y=δ,则:

∂L∂W=δx⊤,∂L∂b=δ,∂L∂x=W⊤δ

对批量数据 Y=XW⊤+1b⊤(X∈RB×din,W∈Rdout×din):

∂L∂W=Δ⊤X,∂L∂b=Δ⊤1,∂L∂X=ΔW

其中 Δ=∂L∂Y∈RB×dout。

10.3 Softmax + Cross-Entropy 的梯度 ​

设 p=softmax(z),L=−∑kyklog⁡pk(交叉熵),则:

∂L∂z=p−y

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

11. 常用矩阵恒等式 ​

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

11.1 Woodbury 矩阵恒等式 ​

(A+UBV)−1=A−1−A−1U(B−1+VA−1U)−1VA−1

其中 A∈Rn×n,U∈Rn×k,B∈Rk×k,V∈Rk×n。

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

11.2 Sherman-Morrison 公式 ​

Woodbury 恒等式在 U=b,V=c⊤,B=1 时退化为:

(A+bc⊤)−1=A−1−A−1bc⊤A−11+c⊤A−1b

意义:已知 A−1,对 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(a⊤x)=a∇x(x⊤Ax)=(A+A⊤)x=2Ax(A 对称)∇x∥x−b∥2=2(x−b)

12.2 对矩阵的梯度 ​

∂∂W∥XW−Y∥F2=2X⊤(XW−Y)∂∂Wtr(W⊤AW)=(A+A⊤)W=2AW(A 对称)∂∂Σlog⁡det(Σ)=Σ−⊤=Σ−1(Σ 对称正定)

在 AI 中的应用 ​

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

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