线性代数:现代科学计算的通用语言

引言

在高等数学、概率论与数理统计、线性代数这三门大学数学核心课程之间,存在一条隐秘而深刻的内在联系。表面上看,它们各自独立——微积分研究连续变化,概率统计处理随机现象,线性代数则探讨向量空间中的线性变换。然而,当我们把目光从理论推导转向实际计算时,一个令人震撼的事实浮现出来:线性代数正在成为所有科学计算的终极“物理层”语言

本文试图打通这三座数学山峰之间的隧道,从微积分离散化到概率统计推断,从量子力学的概率幅到深度学习的张量运算,展示线性代数如何以统一的方式“计算”几乎一切。


第一部分:微积分——被离散化的连续世界

1.1 计算机无法理解“无穷小”

微积分的核心工具——导数和积分——建立在极限概念之上。无穷小量 d x dx dx 是数学家的优雅创造,但计算机只能处理有限精度的浮点数。当我们将连续问题交给计算机时,必须经历一个关键步骤:离散化

以导数为例,微积分给出精确表达式:
f ′ ( x ) = lim ⁡ h → 0 f ( x + h ) − f ( x ) h f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} f(x)=h0limhf(x+h)f(x)

计算机无法取极限,只能用足够小的 h h h 近似:
f ′ ( x ) ≈ f ( x + h ) − f ( x − h ) 2 h f'(x) \approx \frac{f(x+h) - f(x-h)}{2h} f(x)2hf(x+h)f(xh)

关键洞察在于:当我们在 N N N 个离散点上计算所有导数值时,这个操作等价于一个矩阵乘法。定义函数值向量 f = [ f 0 , f 1 , . . . , f N − 1 ] T \mathbf{f} = [f_0, f_1, ..., f_{N-1}]^T f=[f0,f1,...,fN1]T,一阶导数向量 f ′ \mathbf{f'} f 可以写成:

f ′ = D 1 f \mathbf{f'} = D_1 \mathbf{f} f=D1f

其中 D 1 D_1 D1 是一个三对角矩阵(或更复杂的差分矩阵),其非零元素由步长 h h h 决定。

1.2 二阶导数与拉普拉斯矩阵

二阶导数的离散化更为优美。微积分中的二阶导数:
f ′ ′ ( x ) ≈ f ( x + h ) − 2 f ( x ) + f ( x − h ) h 2 f''(x) \approx \frac{f(x+h) - 2f(x) + f(x-h)}{h^2} f′′(x)h2f(x+h)2f(x)+f(xh)

对应的离散矩阵 D 2 D_2 D2 在主对角线为 − 2 / h 2 -2/h^2 2/h2,上下次对角线为 1 / h 2 1/h^2 1/h2。这个矩阵在物理学中有一个响亮的名字:拉普拉斯矩阵(离散版)。

偏微分方程,如热传导方程 ∂ u / ∂ t = α ∂ 2 u / ∂ x 2 \partial u/\partial t = \alpha \partial^2 u/\partial x^2 u/t=α2u/x2,在空间离散化后变为:
d u d t = α D 2 u \frac{d\mathbf{u}}{dt} = \alpha D_2 \mathbf{u} dtdu=αD2u

进一步时间离散化,得到计算机实际执行的迭代公式:
u n + 1 = ( I + α Δ t D 2 ) u n \mathbf{u}^{n+1} = (I + \alpha \Delta t D_2) \mathbf{u}^n un+1=(I+αΔtD2)un

这就是计算的本质:复杂的偏微分方程,变成了一个稀疏矩阵与向量的反复乘法。

1.3 从多元微积分到矩阵微积分

在多元微积分中,函数的局部行为由雅可比矩阵(一阶偏导)和海森矩阵(二阶偏导)描述。这些本身就是线性代数的对象。雅可比矩阵将非线性映射在局部线性化,使复杂的多元函数优化问题转化为迭代求解线性方程组。

结论:微积分提供连续世界的数学模型,线性代数提供计算机实现这些模型的“执行引擎”。


第二部分:概率统计——被矩阵化的数据海洋

2.1 数据本身就是矩阵

概率论处理随机变量,数理统计处理大量观测数据。当数据规模达到百万、亿级时,唯一的组织方式就是矩阵

假设我们有 m m m 个样本、 n n n 个特征,数据矩阵 X ∈ R m × n X \in \mathbb{R}^{m \times n} XRm×n。几乎所有的统计计算都可以用矩阵运算表达:

  • 均值向量:各列求平均,得到 x ˉ ∈ R n \bar{x} \in \mathbb{R}^n xˉRn
  • 协方差矩阵:中心化后 Σ = 1 m X T X \Sigma = \frac{1}{m} X^T X Σ=m1XTX,包含了所有特征间的相关性
  • 多元正态分布密度
    f ( x ) = 1 ( 2 π ) n / 2 ∣ Σ ∣ exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) f(x) = \frac{1}{(2\pi)^{n/2}\sqrt{|\Sigma|}} \exp\left(-\frac{1}{2}(x-\mu)^T \Sigma^{-1} (x-\mu)\right) f(x)=(2π)n/2∣Σ∣ 1exp(21(xμ)TΣ1(xμ))
    这个公式中,矩阵求逆、矩阵乘法、行列式计算构成了全部运算。

2.2 主成分分析:特征分解的统计诠释

统计学中最重要的降维方法——主成分分析(PCA)——本质上是协方差矩阵的特征分解。

协方差矩阵 Σ \Sigma Σ 的特征向量指向数据方差最大的方向,特征值大小衡量该方向上的方差。PCA的核心计算就是求解特征值问题:
Σ v = λ v \Sigma v = \lambda v Σv=λv

一个纯粹的线性代数操作,赋予了深刻的统计含义:数据的主要变化模式

2.3 马尔可夫链:转移矩阵的幂

在随机过程理论中,状态转移概率组成转移矩阵 P P P,其中 P i j P_{ij} Pij 表示从状态 i i i 转移到状态 j j j 的概率。未来 k k k 步后的状态分布为:
π k = π 0 P k \pi_k = \pi_0 P^k πk=π0Pk

平稳分布是满足 π = π P \pi = \pi P π=πP 的概率向量,也就是矩阵 P P P 的特征值 1 1 1 对应的左特征向量。

结论:概率分布的计算,本质上就是大规模矩阵的乘法和特征分解。


第三部分:三大学科的终极汇合——梯度下降法

3.1 线性回归的三种视角

考虑最简单的机器学习模型——线性回归。给定数据矩阵 X X X 和目标向量 y y y,寻找参数 β \beta β 使预测误差最小。

微积分视角:定义损失函数 L ( β ) = 1 2 ∥ y − X β ∥ 2 L(\beta) = \frac{1}{2}\|y - X\beta\|^2 L(β)=21yXβ2,求导并令其为零:
∇ L ( β ) = X T X β − X T y = 0 \nabla L(\beta) = X^T X \beta - X^T y = 0 L(β)=XTXβXTy=0

线性代数视角:得到正规方程 X T X β = X T y X^T X \beta = X^T y XTXβ=XTy,求解这个线性方程组即可。

概率统计视角:假设误差服从正态分布,则上述最小二乘解正是最大似然估计。

三种视角指向同一个数学对象,但计算机实际执行的是线性代数——解方程组或矩阵迭代。

3.2 梯度下降:当微积分遇到线性代数

当数据量极大时(如百万级样本、亿级参数),直接求解正规方程不可行。梯度下降法登场:
β n e w = β o l d − α ∇ L ( β o l d ) \beta_{new} = \beta_{old} - \alpha \nabla L(\beta_{old}) βnew=βoldαL(βold)

展开梯度公式:
β n e w = β o l d − α ( X T X β o l d − X T y ) \beta_{new} = \beta_{old} - \alpha (X^T X \beta_{old} - X^T y) βnew=βoldα(XTXβoldXTy)

看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。

3.3 随机梯度下降:统计采样 + 线代计算

X X X 大到无法一次性加载时,采用随机梯度下降(SGD):随机抽取一个小批量(mini-batch) X b a t c h X_{batch} Xbatch
β n e w = β o l d − α ( X b a t c h T X b a t c h β o l d − X b a t c h T y b a t c h ) \beta_{new} = \beta_{old} - \alpha (X_{batch}^T X_{batch} \beta_{old} - X_{batch}^T y_{batch}) βnew=βoldα(XbatchTXbatchβoldXbatchTybatch)

这里发生了精妙的协同:

  • 概率统计提供随机采样的策略和收敛性分析
  • 线性代数在每个小批量上执行快速矩阵运算
  • 微积分提供梯度方向和步长指导

统计引入的“噪声”反而帮助模型跳过局部极小值,这是现代深度学习的基石。


第四部分:不可逆矩阵的“作弊”——伪逆与岭回归

4.1 伪逆:选择性忽略

矩阵 A A A 不可逆,意味着求解 A x = b Ax = b Ax=b 时解不存在或无穷多。Moore-Penrose 伪逆 A + A^+ A+ 通过**奇异值分解(SVD)**强行构造“逆”:

A = U Σ V T A = U \Sigma V^T A=UΣVT
A + = V Σ + U T A^+ = V \Sigma^+ U^T A+=VΣ+UT

其中 Σ + \Sigma^+ Σ+ 将零奇异值的倒数设为 0,非零奇异值正常取倒数。这相当于说:“在矩阵有意义的那些方向上精确求解,在丢失信息的方向上假装无事发生。”

4.2 岭回归:软衰减

伪逆是硬截断(零奇异值直接抛弃),而岭回归采用软衰减
系数 = σ σ 2 + λ \text{系数} = \frac{\sigma}{\sigma^2 + \lambda} 系数=σ2+λσ

当奇异值 σ \sigma σ 很小时,系数被平滑压缩而非直接置零。这相当于在损失函数中添加惩罚项 λ ∥ β ∥ 2 \lambda \|\beta\|^2 λβ2,使解更稳定。

对比

  • 伪逆: 1 / σ 1/\sigma 1/σ → 对微小噪声极度敏感,易过拟合
  • 岭回归: σ / ( σ 2 + λ ) \sigma/(\sigma^2 + \lambda) σ/(σ2+λ) → 稳定但略有偏差(有偏估计)

工业应用中,稳定性优先于无偏性,这就是为什么岭回归比纯伪逆更常用。


第五部分:量子力学——概率的复数版本

5.1 概率幅:内积的模方

量子力学颠覆了经典概率的计算方式。系统的状态是复向量空间(希尔伯特空间)中的态矢量 ∣ ψ ⟩ |\psi\rangle ψ。测量得到某个本征态 ∣ ϕ ⟩ |\phi\rangle ϕ 的概率为:
P ( ϕ ) = ∣ ⟨ ϕ ∣ ψ ⟩ ∣ 2 P(\phi) = |\langle \phi | \psi \rangle|^2 P(ϕ)=ϕψ2

这里的 ⟨ ϕ ∣ ψ ⟩ \langle \phi | \psi \rangle ϕψ 是内积,称为概率幅——一个复数。概率是复数内积的模方,而非复数本身。

5.2 叠加与干涉

量子态可以叠加: ∣ ψ ⟩ = α ∣ ↑ ⟩ + β ∣ ↓ ⟩ |\psi\rangle = \alpha|\uparrow\rangle + \beta|\downarrow\rangle ψ=α+β。测量得到“向上”的概率是 ∣ α ∣ 2 |\alpha|^2 α2,“向下”是 ∣ β ∣ 2 |\beta|^2 β2

反直觉之处在于:当系统处于多个路径的叠加态时,最终概率不是概率相加,而是概率幅先相加再取模方
P = ∣ ⟨ t ∣ ψ 1 ⟩ + ⟨ t ∣ ψ 2 ⟩ ∣ 2 = ∣ ⟨ t ∣ ψ 1 ⟩ ∣ 2 + ∣ ⟨ t ∣ ψ 2 ⟩ ∣ 2 + 2 Re ( ⟨ t ∣ ψ 1 ⟩ ∗ ⟨ t ∣ ψ 2 ⟩ ) P = |\langle t|\psi_1\rangle + \langle t|\psi_2\rangle|^2 = |\langle t|\psi_1\rangle|^2 + |\langle t|\psi_2\rangle|^2 + 2\text{Re}(\langle t|\psi_1\rangle^*\langle t|\psi_2\rangle) P=tψ1+tψ22=tψ12+tψ22+2Re(⟨tψ1tψ2⟩)

交叉项 2 Re ( ⋯   ) 2\text{Re}(\cdots) 2Re() 就是量子干涉的数学来源,被线性代数优美地捕获。

5.3 测量:投影算符

测量过程用投影算符 P ϕ = ∣ ϕ ⟩ ⟨ ϕ ∣ P_\phi = |\phi\rangle\langle\phi| Pϕ=ϕϕ 描述,测量后的状态为:
∣ ψ ′ ⟩ = P ϕ ∣ ψ ⟩ ⟨ ψ ∣ P ϕ ∣ ψ ⟩ |\psi'\rangle = \frac{P_\phi |\psi\rangle}{\sqrt{\langle\psi|P_\phi|\psi\rangle}} ψ=ψPϕψ Pϕψ

分母是归一化因子,确保概率和为 1。整个量子力学的数学结构,就是复向量空间上的线性代数——这一事实在物理学家口中常被称为“量子力学的狄拉克记号”。


第六部分:从矩阵到张量——高维数据的挑战

6.1 张量:矩阵的自然推广

矩阵是二维表格,张量是更高维度的数据组织方式:

  • 彩色图像:高 × 宽 × 3(RGB通道)→ 3维张量
  • 视频:帧数 × 高 × 宽 × 3 → 4维张量
  • 批量训练:批次 × 帧数 × 高 × 宽 × 3 → 5维张量

高维带来的核心问题:矩阵乘法不再适用

6.2 爱因斯坦求和约定

深度学习框架(PyTorch、TensorFlow)使用**Einstein求和(Einsum)**处理高维运算。例如,将 3维张量 X X X(批次 × 高度 × 宽度)与权重矩阵 W W W 相乘:
Output b , h , w , o = ∑ i X b , h , w , i ⋅ W i , o \text{Output}_{b,h,w,o} = \sum_{i} X_{b,h,w,i} \cdot W_{i,o} Outputb,h,w,o=iXb,h,w,iWi,o

代码中写作 torch.einsum('bhwi,io->bhwo', X, W)。这条指令在GPU内部被拆解为成百上千个独立的矩阵乘法,并行执行。

6.3 自动微分:计算图上的链式法则

深度学习的反向传播是现代工程的最大成就。框架构建计算图——记录所有张量操作的有向无环图。调用 .backward() 时,从损失函数逆向遍历:

  • 每个节点预存局部梯度公式(如 Y = X W Y = XW Y=XW W W W 的梯度为 X T X^T XT
  • 沿途梯度相乘(链式法则)
  • 全部转化为矩阵乘法序列

整个复杂的微积分链式法则,在电脑内存里变成了一长串预先排好序的矩阵乘调用。这就是为什么GPU如此重要——它在矩阵乘法上比CPU快几十倍。

6.4 控制流的处理:动态图

代码中的 if/else 或循环并不直接出现在计算图中。框架根据当前输入数据的实际流向动态构建图:

  • 输入正值走 if 分支,该分支被记录,else 分支完全不产生梯度
  • 循环按实际迭代次数展开,每次迭代创建一个独立节点
  • 对于不可微操作(如 argmax),框架使用“直通估计器”——前向走离散逻辑,反向直接跳过该节点透传梯度

这完全违背了微积分的严谨性,但在实践中效果极好。工程有效优先于数学正确


第七部分:工业级极限——大模型训练的并行魔法

7.1 显存瓶颈

千亿参数的大模型,单块80GB显存的A100 GPU连模型本身都放不下。模型参数、梯度、优化器状态(如Adam中的动量和方差)三项合计可能超过1TB。

解决思路:拆分。不是把模型拆开(那是软件层面),而是把计算和存储切碎了分配给数千张GPU。

7.2 张量并行:切分矩阵

将单个矩阵乘法按行或列切分,分配给不同GPU。每张卡只存计算自己那部分,通过通信(All-Reduce)合并结果。

优点:有效降低单卡显存
缺点:通信开销巨大

7.3 流水线并行:切分层数

将模型的不同层分配到不同GPU。GPU 0负责前几层,GPU 1负责接下来的层,数据像流水线一样依次流过。

优化:将数据切分为“微批次”以填充流水线气泡,提升设备利用率。

优点:通信量相对较小
缺点:调度复杂,设备利用率可能不高

7.4 ZeRO:零冗余优化器

微软DeepSpeed框架的核心技术。既然每张卡存一份完整模型太浪费,不如把模型状态切成碎片分散存储

三阶段:

  • ZeRO-1:切分优化器状态
  • ZeRO-2:切分优化器状态 + 梯度
  • ZeRO-3:切分优化器状态 + 梯度 + 模型参数(终极形态,显存降为原来的 1/N)

甚至可以将暂时不用的数据卸载到CPU内存或NVMe固态硬盘,需要时再加载——显存不够,内存来凑。

7.5 通信优化

  • 环形全归约:GPU围成环传递累加梯度,避免中心节点瓶颈
  • 计算与通信重叠:计算当前批次时发送上一批次的梯度
  • 梯度压缩:只传输绝对值最大的前1%梯度,通信量减少90%

结语:一颗数学树的三个分支

回顾全文,我们可以用一个统一的框架理解这三门课程:

学科理论角色计算角色与线代的关系
高等数学(微积分)提供连续模型、变化率的数学描述离散步长→差分矩阵离散化后全转化为矩阵乘法
概率与数理统计处理随机性、推断数据规律协方差矩阵、特征分解、转移矩阵数据天然是矩阵,统计量全用线代表达
线性代数向量空间、线性变换的理论所有数值计算的最终执行器自身就是计算语言

微积分告诉计算机“往哪个方向走”,概率统计告诉计算机“数据里的噪声长什么样”,线性代数负责“具体迈出每一步”——在GPU的内部,这一切都被翻译成连续的浮点数矩阵乘加运算。

从求解偏微分方程的有限元方法,到训练千亿参数的大语言模型,从量子力学中概率幅的干涉,到推荐系统中的协同过滤,线性代数以其简洁而强大的数学结构,成为连接连续与离散、理论与工程、经典与量子世界的通用语言

这三门课程在大学里分开讲授,是因为人类需要分步理解;但在计算的终极层面,它们早已融为一体。


在这里插入图片描述

从微积分到量子力学:线性代数如何“统治”了整个科学计算?

前言

翻开任何一本理工科教材,高等数学、线性代数、概率论与数理统计永远是前三座大山。在大多数人的印象里,这三门课各司其职——微积分研究连续变化,线性代数处理向量与矩阵,概率统计应对随机现象。

但当你真正走进科学计算和工程应用的深处,一个令人震撼的事实会浮现出来:无论你是求解偏微分方程、训练神经网络,还是理解量子世界,最终落到计算机芯片上执行的,几乎全是线性代数运算。

这篇文章,我想带你系统性地打通这三门课程之间的“隧道”,看看线性代数到底是如何成为现代科学计算“通用语言”的。


一、微积分 × 线性代数:当连续世界被“离散化”

1.1 计算机不认识“无穷小”

微积分的核心——导数和积分——建立在极限概念之上。数学家喜欢写:

f ′ ( x ) = lim ⁡ h → 0 f ( x + h ) − f ( x ) h f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} f(x)=h0limhf(x+h)f(x)

但计算机是离散的,它不认识“无穷小”,只认识有限精度的浮点数。所以,所有连续问题交给计算机的第一步,必然是离散化

1.2 求导 = 矩阵乘法

假设我们在区间 [ 0 , 1 ] [0, 1] [0,1] 上取 N N N 个等距点,步长 h = 1 / ( N − 1 ) h = 1/(N-1) h=1/(N1)。把所有点的函数值排成一个列向量:

f = [ f 0 , f 1 , f 2 , . . . , f N − 1 ] T \mathbf{f} = [f_0, f_1, f_2, ..., f_{N-1}]^T f=[f0,f1,f2,...,fN1]T

中心差分近似一阶导数:

f ′ ( x i ) ≈ f ( x i + h ) − f ( x i − h ) 2 h f'(x_i) \approx \frac{f(x_i + h) - f(x_i - h)}{2h} f(xi)2hf(xi+h)f(xih)

你会发现,所有点的导数值可以一次性算完,只需要用一个差分矩阵去乘 f \mathbf{f} f

f ′ = D 1 f \mathbf{f'} = D_1 \mathbf{f} f=D1f

其中 D 1 D_1 D1 是一个三对角矩阵,非零元素由步长 h h h 决定。

二阶导数更经典:

f ′ ′ ( x i ) ≈ f ( x i + h ) − 2 f ( x i ) + f ( x i − h ) h 2 f''(x_i) \approx \frac{f(x_i + h) - 2f(x_i) + f(x_i - h)}{h^2} f′′(xi)h2f(xi+h)2f(xi)+f(xih)

对应的矩阵 D 2 D_2 D2 主对角线为 − 2 / h 2 -2/h^2 2/h2,上下次对角线为 1 / h 2 1/h^2 1/h2。这个矩阵在物理学里有一个赫赫有名的名字——拉普拉斯矩阵(离散版)。

1.3 偏微分方程 = 矩阵迭代

拿热传导方程举例:

∂ u ∂ t = α ∂ 2 u ∂ x 2 \frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2} tu=αx22u

空间离散化后变成:

d u d t = α D 2 u \frac{d\mathbf{u}}{dt} = \alpha D_2 \mathbf{u} dtdu=αD2u

再用前向欧拉法离散时间:

u n + 1 = u n + α Δ t ⋅ D 2 u n \mathbf{u}^{n+1} = \mathbf{u}^n + \alpha \Delta t \cdot D_2 \mathbf{u}^n un+1=un+αΔtD2un

提取公因式:

u n + 1 = ( I + α Δ t D 2 ) u n \mathbf{u}^{n+1} = (I + \alpha \Delta t D_2) \mathbf{u}^n un+1=(I+αΔtD2)un

看明白了吗? 一个复杂的偏微分方程,最终变成了一个稀疏矩阵反复乘以一个向量。电脑不认识偏微分,电脑只认识矩阵乘法。

1.4 矩阵微积分

在多元微积分中,函数的局部行为由雅可比矩阵(一阶偏导)和海森矩阵(二阶偏导)描述。雅可比矩阵将一个非线性映射在局部线性化,把复杂的多元函数优化问题转化为迭代求解线性方程组

一句话总结:微积分提供连续世界的数学模型,线性代数提供计算机实现这些模型的“执行引擎”。


二、概率统计 × 线性代数:数据本身就是矩阵

2.1 数据 = 矩阵

概率论处理随机变量,数理统计处理大量观测数据。当数据规模达到百万、亿级时,唯一的组织方式就是矩阵

假设我们有 m m m 个样本、 n n n 个特征,数据矩阵 X ∈ R m × n X \in \mathbb{R}^{m \times n} XRm×n。几乎所有统计计算都可以用矩阵运算表达:

  • 均值向量:各列求平均
  • 协方差矩阵:中心化后 Σ = 1 m X T X \Sigma = \frac{1}{m} X^T X Σ=m1XTX
  • 多元正态分布密度

f ( x ) = 1 ( 2 π ) n / 2 ∣ Σ ∣ exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) f(x) = \frac{1}{(2\pi)^{n/2}\sqrt{|\Sigma|}} \exp\left(-\frac{1}{2}(x-\mu)^T \Sigma^{-1} (x-\mu)\right) f(x)=(2π)n/2∣Σ∣ 1exp(21(xμ)TΣ1(xμ))

这个公式里,矩阵求逆、矩阵乘法、行列式计算构成了全部运算。

2.2 PCA = 特征分解

主成分分析(PCA)是统计学中最重要的降维方法。它的核心计算就是求解协方差矩阵的特征值问题:

Σ v = λ v \Sigma v = \lambda v Σv=λv

协方差矩阵的特征向量指向数据方差最大的方向,特征值衡量该方向上的方差大小。一个纯粹的线性代数操作,被赋予了深刻的统计含义

2.3 马尔可夫链 = 矩阵幂

在随机过程理论中,状态转移概率组成转移矩阵 P P P。未来 k k k 步后的状态分布为:

π k = π 0 P k \pi_k = \pi_0 P^k πk=π0Pk

平稳分布就是矩阵 P P P 特征值为 1 对应的特征向量。

一句话总结:概率分布的计算,本质上就是大规模矩阵的乘法和特征分解。


三、三大学科的终极汇合:梯度下降法

3.1 线性回归的“三体问题”

线性回归是最简单的机器学习模型。给定数据矩阵 X X X 和目标向量 y y y,寻找参数 β \beta β 使预测误差最小。

微积分视角:定义损失函数 L ( β ) = 1 2 ∥ y − X β ∥ 2 L(\beta) = \frac{1}{2}\|y - X\beta\|^2 L(β)=21yXβ2,求导:

∇ L ( β ) = X T X β − X T y = 0 \nabla L(\beta) = X^T X \beta - X^T y = 0 L(β)=XTXβXTy=0

线性代数视角:得到正规方程 X T X β = X T y X^T X \beta = X^T y XTXβ=XTy,解线性方程组。

概率统计视角:假设误差服从正态分布,最小二乘解正是最大似然估计。

三种视角指向同一个数学对象,但计算机实际执行的,是线性代数——解方程组或矩阵迭代。

3.2 梯度下降:微积分算完,线代上场

当数据量极大时,直接求解正规方程不可行。梯度下降法登场:

β n e w = β o l d − α ∇ L ( β o l d ) \beta_{new} = \beta_{old} - \alpha \nabla L(\beta_{old}) βnew=βoldαL(βold)

展开:

β n e w = β o l d − α ( X T X β o l d − X T y ) \beta_{new} = \beta_{old} - \alpha (X^T X \beta_{old} - X^T y) βnew=βoldα(XTXβoldXTy)

看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。

3.3 随机梯度下降:统计采样 + 线代计算

当数据量大到无法一次性加载时,采用随机梯度下降(SGD):随机抽取一个小批量 X b a t c h X_{batch} Xbatch

β n e w = β o l d − α ( X b a t c h T X b a t c h β o l d − X b a t c h T y b a t c h ) \beta_{new} = \beta_{old} - \alpha (X_{batch}^T X_{batch} \beta_{old} - X_{batch}^T y_{batch}) βnew=βoldα(XbatchTXbatchβoldXbatchTybatch)

这里发生了精妙的协同:

  • 概率统计提供随机采样策略
  • 线性代数在每个小批量上执行快速矩阵运算
  • 微积分提供梯度方向

统计引入的“噪声”反而帮助模型跳过局部极小值——这是现代深度学习的基石。


四、矩阵不可逆怎么办?伪逆与岭回归的“作弊”艺术

4.1 伪逆:选择性忽略

矩阵 A A A 不可逆,意味着求解 A x = b Ax = b Ax=b 时要么无解,要么有无穷多解。Moore-Penrose 伪逆 A + A^+ A+ 通过**奇异值分解(SVD)**强行构造“逆”:

A = U Σ V T A = U \Sigma V^T A=UΣVT
A + = V Σ + U T A^+ = V \Sigma^+ U^T A+=VΣ+UT

其中 Σ + \Sigma^+ Σ+零奇异值的倒数设为 0,非零奇异值正常取倒数。

这相当于说:“在矩阵有意义的那些方向上精确求解,在丢失信息的方向上假装无事发生。”

4.2 岭回归:软衰减

伪逆是硬截断(零奇异值直接抛弃),而岭回归采用软衰减

系数 = σ σ 2 + λ \text{系数} = \frac{\sigma}{\sigma^2 + \lambda} 系数=σ2+λσ

当奇异值 σ \sigma σ 很小时,系数被平滑压缩而非直接置零。

方法处理方式特点
伪逆 1 / σ 1/\sigma 1/σ σ = 0 \sigma=0 σ=0 时置 0对微小噪声极度敏感,易过拟合
岭回归 σ / ( σ 2 + λ ) \sigma/(\sigma^2+\lambda) σ/(σ2+λ)稳定但有偏差(有偏估计)

工业应用中,稳定性优先于无偏性——这就是为什么岭回归比纯伪逆更常用。


五、量子力学:概率的“复数版本”

5.1 概率幅 = 内积的模方

量子力学颠覆了经典概率的计算方式。系统的状态是复向量空间(希尔伯特空间)中的态矢量 ∣ ψ ⟩ |\psi\rangle ψ。测量得到某个本征态 ∣ ϕ ⟩ |\phi\rangle ϕ 的概率为:

P ( ϕ ) = ∣ ⟨ ϕ ∣ ψ ⟩ ∣ 2 P(\phi) = |\langle \phi | \psi \rangle|^2 P(ϕ)=ϕψ2

这里的 ⟨ ϕ ∣ ψ ⟩ \langle \phi | \psi \rangle ϕψ 是内积,称为概率幅——一个复数。概率是复数内积的模方,而非复数本身

5.2 叠加与干涉:线性代数的“神之一手”

量子态可以叠加:

∣ ψ ⟩ = α ∣ ↑ ⟩ + β ∣ ↓ ⟩ |\psi\rangle = \alpha|\uparrow\rangle + \beta|\downarrow\rangle ψ=α+β

测量得到“向上”的概率是 ∣ α ∣ 2 |\alpha|^2 α2,“向下”是 ∣ β ∣ 2 |\beta|^2 β2

反直觉之处在于:当系统处于多个路径的叠加态时,最终概率不是概率相加,而是概率幅先相加再取模方

P = ∣ ⟨ t ∣ ψ 1 ⟩ + ⟨ t ∣ ψ 2 ⟩ ∣ 2 P = |\langle t|\psi_1\rangle + \langle t|\psi_2\rangle|^2 P=tψ1+tψ22

展开后会出现一个干涉项——这正是量子世界波粒二象性的数学来源,被线性代数优美地捕获。

整个量子力学的数学结构,就是复向量空间上的线性代数


六、从矩阵到张量:深度学习的“升维打击”

6.1 张量:矩阵的自然推广

矩阵是二维的,张量是更高维度的数据容器:

  • 彩色图像:高 × 宽 × 3(RGB)→ 3维张量
  • 视频:帧 × 高 × 宽 × 3 → 4维张量
  • 批量训练:批次 × 帧 × 高 × 宽 × 3 → 5维张量

高维带来的核心问题是:传统矩阵乘法不再适用

6.2 Einsum:爱因斯坦求和约定

深度学习框架使用**Einstein求和(Einsum)**处理高维运算。例如:

torch.einsum('bhwi,io->bhwo', X, W)

这条指令在GPU内部被拆解为成百上千个独立的矩阵乘法,并行执行

6.3 自动微分:计算图上的链式法则

深度学习的反向传播是现代工程的最大成就。框架构建计算图——记录所有张量操作的有向无环图。调用 .backward() 时:

  • 每个节点预存局部梯度公式
  • 沿途梯度相乘(链式法则)
  • 全部转化为矩阵乘法序列

整个复杂的微积分链式法则,在电脑内存里变成了一长串矩阵乘调用

6.4 控制流:动态图的“潜规则”

代码中的 if/else 不直接出现在计算图中。框架根据当前输入数据的实际流向动态构建图:

  • 输入正值走 if 分支 → 该分支被记录,else 完全不产生梯度
  • 循环按实际迭代次数展开
  • 不可微操作(如 argmax)用“直通估计器”跳过

工程有效,优先于数学正确


七、工业级极限:大模型训练的并行魔法

7.1 显存瓶颈

千亿参数的大模型,单块80GB显存的A100连模型本身都放不下。模型参数、梯度、优化器状态三项合计可能超过 1TB

解决方案:拆分

7.2 三种并行策略

策略核心思想优点缺点
张量并行将单个矩阵乘法按行/列切分降低单卡显存通信开销巨大
流水线并行将不同层分配到不同GPU通信量小设备利用率不高
ZeRO将模型状态切片分散存储显存降为 1/N实现复杂

ZeRO(零冗余优化器)是微软DeepSpeed的核心技术。三阶段递进:

  • ZeRO-1:切分优化器状态
  • ZeRO-2:切分优化器状态 + 梯度
  • ZeRO-3:切分三者,甚至可卸载到CPU内存或NVMe

7.3 通信优化

  • 环形全归约:GPU围成环传递累加梯度,避免中心节点瓶颈
  • 计算与通信重叠:计算当前批次时发送上一批次的梯度
  • 梯度压缩:只传输最重要的梯度,通信量减少90%

结语:一颗数学树的三个分支

回顾全文,我们可以用一个统一的框架理解这三门课程:

学科理论角色计算角色与线代的关系
高等数学提供连续模型、变化率描述离散步长→差分矩阵离散化后全转化为矩阵乘法
概率统计处理随机性、推断数据规律协方差矩阵、特征分解数据天然是矩阵
线性代数向量空间、线性变换的理论所有数值计算的最终执行器自身就是计算语言

微积分告诉计算机“往哪个方向走”,概率统计告诉计算机“数据里的噪声长什么样”,线性代数负责“具体迈出每一步”。

在GPU的内部,这一切都被翻译成连续的浮点数矩阵乘加运算

从求解偏微分方程的有限元方法,到训练千亿参数的大语言模型;从量子力学中概率幅的干涉,到推荐系统中的协同过滤——线性代数以其简洁而强大的数学结构,成为连接连续与离散、理论与工程、经典与量子世界的通用语言

这三门课程在大学里分开讲授,是因为人类需要分步理解;但在计算的终极层面,它们早已融为一体


1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

109702008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值