📚 线性代数速览:从标量到张量,为深度学习打基础

“没有线性代数,就没有现代深度学习。”
本文用最直观的方式,带你快速掌握深度学习中必备的线性代数核心概念。


🔢 1. 基本数学对象:标量 → 向量 → 矩阵 → 张量

类型 数学表示 形状(shape) 例子
标量 $x \in \mathbb{R}$ 0 维 3.0, -2
向量 $\mathbf{x} \in \mathbb{R}^n$ 1 维(长度 = $n$) [1, 2, 3, 4]
矩阵 $\mathbf{A} \in \mathbb{R}^{m \times n}$ 2 维($m$ 行 × $n$ 列) [[1,2],[3,4]]
张量 $\mathsf{X}$ ≥3 维(如图像:H×W×C) (2,3,4) 的三维数组

关键点

  • 标量是“单个数字”;
  • 向量是“一串数字”,默认是列向量;
  • 矩阵是“表格”,行×列;
  • 张量是高维推广——深度学习中图像、批量数据都用它表示

🧮 2. 常见运算(附代码)

✅ 按元素运算(Element-wise)

两个同形状张量可直接加减乘除(广播也支持):

1
2
3
4
A = np.array([[1, 2], [3, 4]])
B = A.copy()
A + B # [[2, 4], [6, 8]]
A * B # Hadamard 积:[[1, 4], [9, 16]]

✅ 求和与均值(降维)

1
2
3
4
5
6
7
x = np.arange(4)        # [0, 1, 2, 3]
x.sum() # 6
x.mean() # 1.5

A = np.arange(20).reshape(5, 4)
A.sum(axis=0) # 按列求和 → shape (4,)
A.sum(axis=1) # 按行求和 → shape (5,)

keepdims=True 可保留轴(方便后续广播计算)。

✅ 点积(Dot Product)

两个向量的加权和:

1
2
3
4
x, y = np.array([1, 2, 3]), np.ones(3)
np.dot(x, y) # 6 == 1+2+3
# 等价于:
np.sum(x * y) # 6

✅ 矩阵-向量积

将矩阵看作“一组行向量”,每行与向量做点积:

1
2
3
A.shape  # (5, 4)
x.shape # (4,)
np.dot(A, x) # → shape (5,) 向量

✅ 矩阵-矩阵乘法

⚠️ 注意:不是按元素乘!而是经典线性代数乘法:

1
2
3
A = np.arange(20).reshape(5, 4)   # (5,4)
B = np.ones((4, 3)) # (4,3)
C = np.dot(A, B) # (5,3)

这是神经网络前向传播的核心操作!


📏 3. 范数(Norms):衡量“大小”的工具

范数是向量/矩阵的“长度”度量,在优化目标中至关重要。

范数 公式 特点
$L_1$ $\sum \lvert x_i \rvert$ 对异常值鲁棒(稀疏性诱导)
$L_2$ $\sqrt{\sum x_i^2}$ 欧氏距离;最常用
Frobenius(矩阵) $\sqrt{\sum_{i,j} x_{ij}^2}$ 矩阵的“欧氏长度”
1
2
3
4
u = np.array([3, -4])
np.linalg.norm(u) # L2: 5.0
np.abs(u).sum() # L1: 7.0
np.linalg.norm(np.ones((4,9))) # Frobenius: sqrt(36) = 6.0

💡 深度学习中常最小化 $L_2$ 范数平方(避免开方,梯度更友好)。


🔄 4. 转置与对称性

  • 转置:行 ↔ 列
    A.Ttf.transpose(A)
  • 对称矩阵:$\mathbf{A} = \mathbf{A}^\top$
    1
    2
    B = np.array([[1,2,3],[2,0,4],[3,4,5]])
    np.allclose(B, B.T) # True → 是对称矩阵

✅ 小练习:

  • $(\mathbf{A}^\top)^\top = \mathbf{A}$? ✔️
  • $(\mathbf{A}+\mathbf{B})^\top = \mathbf{A}^\top + \mathbf{B}^\top$? ✔️
  • $\mathbf{A} + \mathbf{A}^\top$ 总是对称? ✔️(因为转置后不变)

🧠 为什么这很重要?

  • 数据表示:每个样本 = 向量;一批样本 = 矩阵;图像 = 3D张量。
  • 模型计算:全连接层 = 矩阵-向量积;卷积本质也是张量运算。
  • 损失函数:MSE = $L_2$ 范数平方;L1正则 = $L_1$ 范数。
  • 优化基础:梯度下降依赖向量空间中的方向与距离。

📌 小结

概念 关键词
标量 0维,单个数
向量 1维,列表/列
矩阵 2维,表格;乘法 ≠ Hadamard
张量 N维,通用容器
范数 衡量大小;$L_1$, $L_2$, Frobenius
转置 行列互换;对称矩阵自等于其转置

推荐视频

线性代数的本质 - 系列合集

本文部分内容参考动手学深度学习,遵循 Apache 2.0 协议。