人工智能 · 从零学起 第 1 / 5 节

第 1–4 章 · 数学与应用数学的复习(按需取用)

这本的第一部分不是"预习"而是"地图":深度学习用到的线性代数、概率、数值计算被压缩成四章工具书。正确的用法是按需回查——但要先通读一遍知道工具箱里有什么。

线性代数速览

向量、矩阵、张量(多维数组是深度学习的"数据形状"语言);矩阵乘法、单位阵、逆;范数($L^2$、$L^1$、$L^\infty$——正则化的三种口味);特殊矩阵与分解:特征分解 $A = Q\Lambda Q^T$、奇异值分解 $A = U\Sigma V^T$(数据降维与 PCA 的母体);迹与行列式的求导规则($\nabla_A \mathrm{tr}(AB) = B^T$ 是反向传播推导的常用件)。主成分分析:对数据中心化后取协方差矩阵的 top-$k$ 奇异向量——降维 = 投影到最大方差方向。

概率与信息论速览

条件概率、贝叶斯、期望方差;常用分布(伯努利、高斯、指数、Laplace)与它们的"深度学习用途"(输出层似然、权重先验、正则化);结构化概率与图模型的一瞥;信息论:自信息 $-\log P(x)$、熵 $H = -\sum P\log P$、KL 散度 $D_{KL}(P\|Q) = \sum P\log\frac{P}{Q}$——交叉熵损失 = KL + 常数,分类损失的出处。

数值计算速览

上溢下溢与 softmax 的稳定化技巧(减最大值);病态条件;基于梯度的优化:雅可比、海森、梯度下降;链式法则与计算图——反向传播就是这个图上的动态规划。四个约束优化概念(拉格朗日、KKT)在正则化解释时会回收。

原文要点:第 1-4 章的编排原则是"服务于后续章节的最小充分集合":例如信息论四章只为第 5 章的交叉熵服务、SVD 为 PCA 与第 14 章自编码器服务;书中强调机器学习用概率的两种立场(频率派 vs 贝叶斯派)都会出现,先学会切换。

老师的提醒

  • 复习的深度标准:每个工具能说出"深度学习里谁在用它"(范数→正则化、KL→损失、链式法则→反传)——脱离用途的数学复习记不住。
  • 手推一次 softmax 的梯度与数值稳定版(log-sum-exp):这是面试与调试的双重高频。

自检

  • 写出 KL 散度与交叉熵的关系。
  • SVD 与 PCA 的联系?
  • softmax 的数值稳定实现怎么写?

更深一层:数学复习章的"用途索引"

第一部分的真正用法是按需回查——但要先通读一遍建立"工具箱地图"。每个工具都有它的深度学习岗位:线性代数的张量语言(多维数组是深度学习的"数据形状")与奇异值分解(PCA 与降维的母体);概率论的条件概率与贝叶斯(输出层似然与正则化的贝叶斯解释);信息论的 KL 散度(分类损失的出处——交叉熵 = KL + 常数);数值计算的梯度与链式法则(反向传播的数学定义)。读完第一章时,每个概念后面都该有一句"它将被谁用"——脱离用途的数学复习是最低效的。

主成分分析(PCA)值得单独停留:数据中心化后取协方差矩阵的 top-$k$ 奇异向量——降维 = 投影到最大方差方向。它是"核方法"与"自编码器"(第 14 章)的线性祖先——降维 = 在方差最大的方向上保留信息这一句话,从 PCA 到自编码器到流形学习一脉相承。

推导细读:softmax 的数值稳定版——每个工程师的必修

softmax 的朴素实现 $\frac{e^{z_i}}{\sum e^{z_j}}$ 在大 $z$ 时上溢。稳定化技巧:减去最大值后指数——$\frac{e^{z_i - \max z}}{\sum e^{z_j - \max z}}$,数学等价但数值安全。这个技巧的价值远超它的长度:它示范了"数值稳定化"的通用思路——对数域操作(log-softmax、log-sum-exp)、减均值、裁剪。深度学习框架里的每一个"稳定化函数"(log_softmax、logsumexp)都是同一个思路的工业产品。

专题深入:线性代数的"几何再解读"完整版

花书第一章数学复习的深层价值是给每个代数对象补几何身份:矩阵乘法 $A\vec x$ 不是"行乘列"而是线性变换——列向量是基像、行列式是面积缩放、特征向量是"变换下方向不变的轴"。SVD $A = U\Sigma V^T$ 把任意矩阵分解为"旋转-缩放-旋转",它的机器学习身份是最优低秩近似(Eckart-Young 定理:截断 SVD 是 Frobenius 范数意义下的最佳秩 r 近似)——推荐系统的矩阵补全、PCA、词向量的潜在语义分析(LSA)全是截断 SVD 的马甲。条件数 $\kappa(A) = \sigma_{\max}/\sigma_{\min}$ 是数值稳定性的体检表:病态矩阵(条件数大)让输入的微小噪声放大成输出的巨大误差——梯度下降的震荡、最小二乘的多解、深度网络的前几层初始化,都要查条件数。概率复习一章的等价要点:期望、方差、协方差矩阵(多元高斯的全套几何——椭圆等高线、马氏距离、白化变换)是后续每一章的默认语言。

推导细读:信息论的"决策价值"与数值计算的"浮点现实"完整版

信息论部分的推导要点:自信息 $I(x) = -\log p(x)$(越意外信息越大)、熵 $H = \mathbb E[I]$(分布的不确定度)、交叉熵 $H(p, q) = H(p) + D_{KL}(p\|q)$——训练分类器用交叉熵损失 = 最小化 KL 散度 = 让模型分布逼近真实分布,"最大似然 = 最小交叉熵"的等价链条要一次打通。最大似然与最小化 KL 的同构是理解一切生成模型损失函数的钥匙(VAE 的 ELBO、GAN 的 JS 散度、扩散模型的分数匹配都是这个主旋律的变奏)。数值计算章节的工程现实:下溢与上溢(log-sum-exp 技巧——softmax 的稳定实现必须先减最大值)、病态条件与浮点误差的放大、梯度爆炸/消失的数值根源(连乘的雅可比谱半径偏离 1)——"好的损失函数先考虑数值可算性"是从这一章继承的职业习惯。

工程案例细节:数学复习的"出口清单"工程版

第一章的工程出口:PCA 的工业用法(特征降维、去噪、可视化——sklearn 三行代码的背后是协方差矩阵特征分解 + 方差解释率曲线选维数);词向量与奇异值分解(GloVe 之前 LSA 用 SVD 分解词-文档矩阵——语义空间是低秩假设的直接产物);交叉熵损失的实现细节(logits 直接算 + log-sum-exp 融合——PyTorch 的 CrossEntropyLoss 不经过显式 softmax 就是为了数值安全);梯度检查(有限差分 $\frac{f(\theta + \epsilon) - f(\theta - \epsilon)}{2\epsilon}$ 验证手推梯度——写自定义层的标准自检工序);随机数与可复现(种子固定、cuDNN 确定性开关——实验科学的底线)。第一章没有"模型",但每一个后续模型的第一行代码都站在它上面——这是"数学复习"章节被老手反复回看的真实原因。

例题

(1)手算 $KL(P\|Q)$,其中 $P = (0.5, 0.5)$、$Q = (0.9, 0.1)$;(2)说明它与交叉熵 $H(P, Q)$ 的关系。

解答

$$D_{KL}(P\|Q) = \sum_i P_i\log\frac{P_i}{Q_i} = 0.5\ln\frac{0.5}{0.9} + 0.5\ln\frac{0.5}{0.1} = 0.5(-0.588) + 0.5(1.609) \approx 0.511$$

关系:$H(P, Q) = H(P) + D_{KL}(P\|Q)$,本例 $H(P) = \ln 2 = 0.693$,交叉熵 $= 1.204$。

  • 深度学习的用法:训练分类器 = 最小化交叉熵;因 $H(P)$ 是常数,等价于最小化 KL——把 $Q$(模型分布)拉向数据分布 $P$。KL 不对称且可为无穷($Q_i = 0$ 处),这就是"输出层禁止极端 log(0)"要数值防护的原因。

本页是《深度学习》第 1 节的学习笔记:为便于初学,讲解、例题与要点概括均为本站原创整理,公式与章节定位供对照原书使用。

📑 本书目录 经典研读