0%

深度学习中常用的矩阵求导公式总结(含 Attention 反向传播例子)

在推导深度学习模型反向传播时,矩阵求导(Matrix Calculus)是最常见的数学工具之一。

很多复杂的梯度推导,本质上都依赖一些非常基础的矩阵微分公式。本文总结几个深度学习中最常见的公式,并通过 Attention 的反向传播展示这些公式如何实际使用。


一、常用矩阵求导公式

1 Frobenius 内积

含义

矩阵的 Frobenius 内积定义为:

等价写法:

为什么重要

在深度学习中:

梯度通常写成 Frobenius inner product 形式。

例如 loss 的微分可以写为

这样可以统一标量对矩阵的求导表达。


2 标量函数的矩阵微分

含义

如果

其中

  • $L$ 是标量
  • $X$ 是矩阵

那么微分展开为

用 Frobenius 内积表示就是

上式也可以自然推广到 多元变量的情况。如果损失函数依赖于多个矩阵变量,例如

那么它的全微分可以写为

也就是

这实际上就是多元微积分中全微分公式

在矩阵情形下的推广,其中内积由普通乘法推广为 Frobenius 内积。在深度学习的反向传播推导中,我们通常通过观察 $dL$ 中与某个 $dX_i$ 对应的项,直接读出对应变量的梯度 $\frac{\partial L}{\partial X_i}$。

作用

这是 反向传播链式法则的核心表达方式


3 Jacobian 线性近似

含义

如果

其中

则 Jacobian 定义为

于是微分关系为

在深度学习中的意义

在反向传播中:


4 矩阵乘法求导

含义

这是矩阵版本的 乘法求导法则(Product Rule)

对应标量:

使用场景

神经网络中最常见形式:


5 Trace 循环性质

含义

Trace 具有 循环不变性(cyclic property)

例如

但需要注意:

  • 只能循环
  • 不能改变矩阵顺序

为什么重要

在梯度推导中,经常需要将

变换为

这实际上利用了 trace 的循环性质。


二 Attention 反向传播例子

下面通过 Transformer Attention 展示这些公式如何使用。


1 Attention 前向传播

标准 Attention 计算:

其中


2 输出层梯度

假设

已知


Step 1 对 V 求导

因为

根据矩阵乘法求导

只看 $dV$ 项:

loss 微分:

代入

利用 trace 循环性质

得到


Step 2 对 P 求导

同样

loss 微分

使用 trace 循环

所以


Step 3 对 S 求导

因为

使用 Jacobian:

因此


Step 4 对 Q 和 K 求导

因为

根据矩阵乘法求导:


对 Q 求导

代入

使用 trace 循环

因此


对 K 求导

因为

得到


三 Attention 反向传播总结

最终梯度结果:


四 总结

深度学习中的复杂梯度推导,其实大量依赖几个简单规则:

核心四件套:

  1. Frobenius 内积
  2. trace 循环性质
  3. 矩阵乘法求导
  4. Jacobian

只要熟练掌握这些公式,像

  • Attention
  • Transformer
  • LayerNorm
  • BatchNorm

等模块的梯度推导都会变得非常清晰。