数学基础一:线性代数核心 —— 向量、矩阵与张量运算
数学基础一:线性代数核心 —— 向量、矩阵与张量运算
3.1 为什么深度学习离不开线性代数
深度学习底层几乎所有运算都可以抽象为张量运算,而张量是向量、矩阵的延伸。神经网络前向传播、反向传播、梯度计算、Transformer 注意力机制、大模型预训练,全部建立在线性代数之上。 很多初学者跳过数学直接上手框架,只会调用 API,遇到模型不收敛、调参失效、维度报错时无从排查。掌握基础线性代数,目标不是钻研数学证明,而是看懂网络运算逻辑、理解维度变换、读懂梯度推导。
3.2 向量(Vector)
3.2.1 向量定义
向量可以理解为一组有序排列的数字。
- 列向量:
\(\boldsymbol{x}= \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix}\)
- 行向量:\(\boldsymbol{x}^T = \begin{bmatrix}x_1 & x_2 & x_3\end{bmatrix}\) 上标T代表转置。
在机器学习中:
- 一条样本特征通常表示为一个向量;
- 词嵌入(Embedding)本质就是高维向量。
3.2.2 向量基础运算
- 向量加法:对应元素相加,要求维度完全一致
\(\begin{bmatrix}1\\2\end{bmatrix}+\begin{bmatrix}3\\4\end{bmatrix}=\begin{bmatrix}4\\6\end{bmatrix}\)
- 数乘:常数乘以向量每一个元素
\(k\begin{bmatrix}x_1\\x_2\end{bmatrix}= \begin{bmatrix}kx_1\\kx_2\end{bmatrix}\)
- 点积(内积)
\(\boldsymbol{a}\cdot\boldsymbol{b}=\boldsymbol{a}^T\boldsymbol{b}=a_1b_1+a_2b_2+...+a_nb_n\)
几何意义:\(\boldsymbol{a}\cdot\boldsymbol{b}=\|\boldsymbol{a}\|\|\boldsymbol{b}\|\cos\theta\) 大模型自注意力机制核心打分计算,大量使用向量点积。
3.2.3 向量范数
范数用来衡量向量长度。 \(L_2\)范数(欧几里得范数):
\(\|\boldsymbol{x}\|_2=\sqrt{x_1^2+x_2^2+...+x_n^2}\)
常用于归一化、权重衰减。 \(L_1\)范数:$ \|\boldsymbol {x}\|_1=|x_1|+|x_2|+...+|x_n|$,常用于稀疏化。
3.3 矩阵(Matrix)
3.3.1 矩阵定义
矩阵是二维数字阵列。\(\boldsymbol{A}_{m\times n}\)代表 m 行 n 列矩阵。
\(\boldsymbol{A}= \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix}\)
神经网络的权重(Weight)全部以矩阵形式存储。
3.3.2 矩阵运算
- 矩阵加减:同维度矩阵,对应元素运算
- 矩阵数乘:常数乘所有元素
- 矩阵乘法(重点)若\(\boldsymbol{A}\in\mathbb{R}^{m\times k}\),\(\boldsymbol{B}\in\mathbb{R}^{k\times n}\),乘积\(\boldsymbol{C}=\boldsymbol{A}\boldsymbol{B}\in\mathbb{R}^{m\times n}\)
\(c_{ij}=\sum_{t=1}^k a_{it}b_{tj}\)
⚠️重要性质:
- \(\boldsymbol{A}\boldsymbol{B} \ne \boldsymbol{B}\boldsymbol{A}\),矩阵乘法不满足交换律;
- 第一个矩阵列数 = 第二个矩阵行数,才可相乘。
神经网络前向传播表达式:\(\boldsymbol{y}=\boldsymbol{W}\boldsymbol{x}+\boldsymbol{b}\),就是矩阵乘法。
3.3.3 矩阵转置
\((\boldsymbol{A}^T)_{ij}=A_{ji}\) 运算规则:
\((\boldsymbol{A}\boldsymbol{B})^T=\boldsymbol{B}^T\boldsymbol{A}^T\)
3.3.4 逆矩阵、单位矩阵
单位矩阵\(\boldsymbol{I}\):对角线全为 1,其余为 0。 满足 \(\boldsymbol{A}\boldsymbol{A}^{-1}=\boldsymbol{A}^{-1}\boldsymbol{A}=\boldsymbol{I}\) 的\(\boldsymbol{A}^{-1}\)称为逆矩阵。
注意:只有方阵且满秩时才有逆矩阵。深度学习极少直接求逆,计算上数值不稳定。
3.4 张量(Tensor)
3.4.1 张量层级
- 0 阶张量:标量(单个数字)
- 1 阶张量:向量
- 2 阶张量:矩阵
- 3 阶及以上:高阶张量
深度学习框架(PyTorch/TensorFlow)统一使用张量作为基础数据容器:
- 一批图片:\([batch, channel, height, width]\) 4 阶张量
- 文本序列:\([batch, seq_len, hidden\_dim]\) 3 阶张量
3.4.2 张量常用操作
- 维度变换:reshape /view
- 交换维度:permute /transpose
- 广播机制 (Broadcasting):不同维度张量合法运算自动扩展维度 广播是训练模型时最常见的维度处理手段,大量偏置相加、归一化操作依赖广播。
3.5 特征分解、奇异值分解(SVD)
简单理解:把矩阵拆解成若干简单矩阵相乘。 SVD 可以对任意形状矩阵分解,广泛用于降维、主成分分析 PCA、词向量压缩。
\(\boldsymbol{A}=\boldsymbol{U}\boldsymbol{\Sigma}\boldsymbol{V}^T\)
3.6 本章小结
- 向量代表特征,矩阵代表线性变换权重;
- 矩阵乘法、转置、点积是神经网络基础运算;
- 张量是向量、矩阵的泛化,深度学习通用数据结构;
- 所有网络前向传播本质:连续多层线性变换 + 激活函数。
下一章继续:微积分基础,梯度、导数、链式法则。