若尔当型、张量与深度学习
当矩阵不能对角化时(几何重数 < 代数重数),若尔当标准型是最接近对角化的形式。
任何复方阵 A 都可以写成 A = PJP⁻¹,其中 J 是若尔当矩阵 —— 由若尔当块组成的块对角矩阵。每个若尔当块对应一个特征值,块的大小反映了"广义特征向量"的链长。
A = [[1, 1], [0, 1]] 只有一个特征值 λ=1,但只有一个线性无关的特征向量。它的若尔当型就是自身 —— 一个 2×2 的若尔当块。
虽然不可对角化,但 A 可以写成 I + N,其中 N = [[0,1],[0,0]] 是幂零矩阵(N²=0)。这使得计算 Aⁿ 仍然简单:Aⁿ = (I+N)ⁿ = I + nN。
若尔当型告诉我们"不可对角化"究竟意味着什么:某些特征方向上有"链式"结构。在微分方程中,这对应于共振现象 —— 解中出现 t·e^(λt) 形式的项。
张量是向量和矩阵的高维推广。标量是 0 阶张量,向量是 1 阶张量,矩阵是 2 阶张量。
在工程和物理中,张量无处不在:应力张量(描述材料内部受力)、惯性张量(描述刚体转动)、黎曼曲率张量(描述时空弯曲)。
一幅 H×W 的彩色图像可以表示为 H×W×3 的三阶张量,第三维对应 RGB 三个通道。视频则是 H×W×3×T 的四阶张量。
张量分解:与矩阵的 SVD 类似,张量可以分解为秩-1 张量的和(CP 分解)或矩阵乘积的形式(Tucker 分解)。这在数据压缩和特征提取中有重要应用。
张量运算中,重复的指标表示求和。例如矩阵乘法 Cᵢⱼ = ∑ₖ AᵢₖBₖⱼ 可以简写为 Cᵢⱼ = AᵢₖBₖⱼ。这个约定极大地简化了张量方程的书写。
深度学习本质上是 大规模矩阵和张量运算。理解线性代数是理解神经网络的基础。
| 概念 | 深度学习中的对应 |
|---|---|
| 矩阵乘法 | 全连接层的前向传播 |
| 卷积 | 带权值共享的稀疏矩阵乘法 |
| 特征分解 | 注意力机制中的相似度计算 |
| SVD | 模型压缩、推荐系统 |
| 梯度 | 反向传播中的雅可比向量积 |
| 正交初始化 | 防止梯度消失/爆炸 |
注意力计算为 Attention(Q, K, V) = softmax(QKᵀ/√d)V。其中 QKᵀ 是矩阵乘法,softmax 是逐行非线性变换。整个 Transformer 就是由矩阵乘法、层归一化和激活函数堆叠而成。
模型并行:大型语言模型(如 GPT)的参数矩阵太大,无法放入单个 GPU。通过将矩阵按行或列切分,分布在多个 GPU 上并行计算,这就是线性代数在分布式系统中的直接应用。
线性代数是现代科学和工程的通用语言。从信号处理到计算机图形学,从机器学习到量子力学,线性代数的概念和工具无处不在。
掌握本教程的内容后,可以进一步学习:数值线性代数(迭代方法、预处理)、泛函分析(无限维空间)、表示论(群与线性映射)、代数几何(多项式与线性代数的交汇)。