前言

上一篇讲了向量。这一篇把向量"组织"起来——矩阵。矩阵是连接向量与线性变换的桥梁,也是神经网络里几乎所有计算(全连接层、注意力中的 $QK^\top$、反向传播的梯度回传)的载体。

读完本文,你会理解三件事:矩阵乘法到底在算什么、为什么神经网络一层是 $z = Wx + b$、以及 Jacobian 为什么能写成矩阵。

矩阵:数与表

矩阵是排成矩形的数表。一个 $m \times n$ 矩阵有 $m$ 行、$n$ 列:

$$ A = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix} $$

几个常用特例:

  • 单位阵 $I$:对角线上全为 1,其余为 0。作用类似乘法里的"1"($IA = AI = A$)。
  • 对角阵:非对角线全为 0。相当于对每个分量独立缩放。
  • 零矩阵:全为 0。
  • 转置 $A^\top$:把行列互换,$(A^\top)_{ij} = A_{ji}$。
  • 对称矩阵:$A = A^\top$。它很重要,在特征值篇会看到它有多好用。

矩阵乘法

两个矩阵 $A$($m \times k$)和 $B$($k \times n$)可以相乘,结果 $C = AB$ 是 $m \times n$ 矩阵,其中:

$$ C_{ij} = \sum_{l=1}^{k} A_{il} B_{lj} $$

也就是说,$C$ 的第 $i$ 行第 $j$ 列是 $A$ 的第 $i$ 行与 $B$ 的第 $j$ 列的点积(“一行乘一列”)。

:设 $A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}$,$B = \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix}$,则:

$$ AB = \begin{bmatrix} 1\times5+2\times7 & 1\times6+2\times8 \\ 3\times5+4\times7 & 3\times6+4\times8 \end{bmatrix} = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix} $$

三个值得记住的性质:

  1. 结合律:$(AB)C = A(BC)$。计算顺序不影响结果,这让我们可以自由给计算分组(对分布式计算很重要)。
  2. 分配律:$A(B + C) = AB + AC$。
  3. 不满足交换律:一般 $AB \ne BA$。上面的例子中 $BA = \begin{bmatrix} 23 & 34 \\ 31 & 46 \end{bmatrix} \ne AB$。顺序不能乱换。

还有一个对转置很有用的恒等式:

$$ (AB)^\top = B^\top A^\top $$

注意顺序颠倒了。这在反向传播的梯度推导里会直接出现。

线性变换

线性变换是保持"加法和数乘"结构的映射 $T$:

$$ T(u + v) = T(u) + T(v), \qquad T(cu) = cT(u) $$

关键结论:任何一个从 $\mathbb{R}^n$ 到 $\mathbb{R}^m$ 的线性变换都可以用矩阵乘法表示

$$ T(x) = Ax $$

反过来,任意矩阵 $A$ 都定义了一个线性变换。这建立了"几何变换"与"数表运算"之间的一一对应。

复合线性变换就是矩阵乘法:先做 $S$ 再做 $T$($T \circ S$),对应的矩阵是 $BA$(注意顺序,先作用的在右边)。

几何例子:二维旋转 $\theta$ 角对应矩阵

$$ R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} $$

它把向量绕原点旋转而不改变长度。缩放、剪切、投影也都有各自的矩阵表示。

衔接:神经网络的隐藏层 $z = Wx + b$ 就是一个线性变换 $Wx$ 加上平移 $b$。正因为线性变换是"直的"(保持直线和比例),只靠它网络永远是线性的,所以必须在每一层之间加非线性激活函数——这正是《正向传播与反向传播》里强调的。而注意力里的 $QK^\top$ 也是矩阵乘法,只是三个矩阵分别由输入投影而来。

逆矩阵与行列式

逆矩阵

如果方阵 $A$ 存在 $A^{-1}$ 使 $A^{-1}A = AA^{-1} = I$,则 $A$ 可逆。逆矩阵对应线性变换的"反向操作"。

$2 \times 2$ 矩阵的逆有简洁公式:

$$ \begin{bmatrix} a & b \\ c & d \end{bmatrix}^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} $$

分母 $ad - bc$ 正是行列式。

行列式

行列式是一个方阵对应的标量,记为 $\det(A)$ 或 $|A|$。$2 \times 2$ 时:

$$ \det\begin{bmatrix} a & b \\ c & d \end{bmatrix} = ad - bc $$

几何意义:行列式衡量线性变换对面积的缩放倍率。$3 \times 3$ 时对应体积缩放。这个直觉很重要——雅可比行列式(Jacobian 的行列式)就是"局部体积缩放因子"。

行列式的重要性质:

  • $\det(A) = 0 \iff A$ 不可逆(奇异矩阵);
  • $\det(A) = 0$ 意味着列(行)向量线性相关;
  • $\det(AB) = \det(A)\det(B)$。

可逆性的等价条件

对 $n \times n$ 方阵 $A$,以下说法等价:

  • $A$ 可逆;
  • $\det(A) \ne 0$;
  • $A$ 的列向量线性无关;
  • $A$ 满秩(见下一节);
  • 线性变换 $x \mapsto Ax$ 是双射(可逆变换)。

(rank)是矩阵最重要的"维度"指标。直观定义:矩阵的值域(所有 $Ax$ 能取到的向量构成的子空间)的维度,也等于列向量中最大线性无关组的个数。

两个关键事实:

  1. 行秩 = 列秩:不管按行看还是按列看,秩相同。
  2. 秩的界:$m \times n$ 矩阵的秩 $\le \min(m, n)$;等于 $\min(m, n)$ 时称为满秩

几何直觉:$m \times n$ 矩阵把 $\mathbb{R}^n$ 映射到 $\mathbb{R}^m$ 的一个子空间,秩就是这个子空间的维度。满秩意味着映射没有"压扁"空间;秩亏则意味着变换丢失了信息。

衔接:反向传播里,梯度从输出层传回输入层会乘上权重矩阵的转置,例如 $\frac{\partial L}{\partial z} = \left(\frac{\partial L}{\partial a}\right) W^\top$。转置的出现在矩阵微积分篇有严格的推导;秩则关系到参数更新能否"铺开"到所有方向。这些都在《矩阵微积分如何服务反向传播》里。

总结与进阶衔接

这一篇的核心链条:

  1. 矩阵是数表,乘法是"一行乘一列";
  2. 线性变换可被矩阵表示,复合就是乘法;
  3. 逆矩阵、行列式、秩从不同角度回答同一个问题:这个变换是否可逆、保持多少维数。

衔接清单:

  • 正向传播与反向传播:$z = Wx + b$ + 激活函数,就是神经网络一层;转置恒等式 $(AB)^\top = B^\top A^\top$ 出现在梯度推导中。
  • 矩阵微积分如何服务反向传播:Jacobian 是把非线性函数局部线性化的矩阵;链式法则变成矩阵连乘;$W^\top$ 的出现来自矩阵求导。
  • Softmax 与缩放点积的数学:注意力里的 $QK^\top$ 是矩阵乘法,缩放因子 $\sqrt{d_k}$ 控制的是这个矩阵乘积的尺度。

矩阵和向量建立联系后,就可以进入最后一篇《线性代数基础(三):特征值与分解》,从"矩阵能分解成什么"的角度更深入地理解变换。