前言
上一篇讲了向量。这一篇把向量"组织"起来——矩阵。矩阵是连接向量与线性变换的桥梁,也是神经网络里几乎所有计算(全连接层、注意力中的 $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} $$三个值得记住的性质:
- 结合律:$(AB)C = A(BC)$。计算顺序不影响结果,这让我们可以自由给计算分组(对分布式计算很重要)。
- 分配律:$A(B + C) = AB + AC$。
- 不满足交换律:一般 $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$ 能取到的向量构成的子空间)的维度,也等于列向量中最大线性无关组的个数。
两个关键事实:
- 行秩 = 列秩:不管按行看还是按列看,秩相同。
- 秩的界:$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$。转置的出现在矩阵微积分篇有严格的推导;秩则关系到参数更新能否"铺开"到所有方向。这些都在《矩阵微积分如何服务反向传播》里。
总结与进阶衔接
这一篇的核心链条:
- 矩阵是数表,乘法是"一行乘一列";
- 线性变换可被矩阵表示,复合就是乘法;
- 逆矩阵、行列式、秩从不同角度回答同一个问题:这个变换是否可逆、保持多少维数。
衔接清单:
- 《正向传播与反向传播》:$z = Wx + b$ + 激活函数,就是神经网络一层;转置恒等式 $(AB)^\top = B^\top A^\top$ 出现在梯度推导中。
- 《矩阵微积分如何服务反向传播》:Jacobian 是把非线性函数局部线性化的矩阵;链式法则变成矩阵连乘;$W^\top$ 的出现来自矩阵求导。
- 《Softmax 与缩放点积的数学》:注意力里的 $QK^\top$ 是矩阵乘法,缩放因子 $\sqrt{d_k}$ 控制的是这个矩阵乘积的尺度。
矩阵和向量建立联系后,就可以进入最后一篇《线性代数基础(三):特征值与分解》,从"矩阵能分解成什么"的角度更深入地理解变换。