Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 1 讲 · 勘误与补注

本页记录三类内容:与母本讲义的差异(母本讲到什么程度、本教程补齐了什么)、术语与译法的统一、录播年代之后发生的默认实践变化,最后是本教程自身的更正记录。 使用方式:读到某节觉得「母本没这么讲」或「书里和论文对不上」时,先查本页;查不到再标「需核实」并记入本页第四节。

一、对照母本讲义的补注

母本 MIT 6.S191 · Lecture 1(Introduction to Deep Learning) 在一节课里从感知机讲到反向传播,定位是建立直觉:推导、初始化细节、归一化层、优化器内部机制大多留给学生自己补。本教程沿用它的骨架与术语,逐节补齐被省略的中间步骤。

读母本时容易出现三种落差,先在这里说清:

  1. 「课堂上说显然」的步骤,考试与面试会要求写出来——本教程把每一步都写进 proof 折叠框,第一遍可以跳过,第二遍必须能自己复现。
  2. 「课堂上没提」的工程默认,真实项目里天天遇到——AdamW、RMSNorm、SwiGLU、大批量训练的缩放规则,本教程把它们归位到相应小节并标明是「工程惯例」还是「本教程的推理」。
  3. 「课堂上讲错的细节」——母本对早期的流行解释(如把 BatchNorm 的收益完全归于「内部协变量偏移」)未作辨析,本教程在 1.7.4 的延伸阅读里给出后续研究的修正。

下表逐条给出「母本省略了什么 / 本教程补在哪里」。

节母本的处理本教程的补齐(位置)
1.1给出神经元形式与直觉;XOR 作为「为什么需要多层」的经典例子被提及收敛定理的证明骨架(定理 1.1.1 后紧跟 proof),以及 XOR 的完整不等式论证(例 1.1.1)——母本只指出不可分,不给四式相加的矛盾推导
1.2给 MLP 前向公式与一张结构图;通用逼近一句话结论逐层形状推演模板与参数计数表(方法 1.2.1、例 1.2.1);形状错误的编译期 / 运行期分类学(方法 1.2.3);通用逼近的三条边界与分段线性视角下的区域计数(1.2.3、命题 1.2.1)
1.3列出 Sigmoid / tanh / ReLU 并给启发式选择建议饱和的定量上界 (1/4)L(1/4)^{L} 及其链式法则推导(定理 1.3.1);死亡 ReLU 的自我强化机制与五档缓解手段(1.3.4);门控家族与宽幅缩放的算术(例 1.3.2)
1.4给交叉熵与 MSE 的形式与适用场景从最大似然统一推出两类损失(定理 1.4.1);softmax + 交叉熵梯度的完整两步推导(定理 1.4.2);交叉熵与 KL 分解(定理 1.4.3);类别不均衡与标签平滑的取舍表
1.5给反向传播递推式与一张示意图计算图 / 雅可比 / VJP 的形式化(定义 1.5.2);前向模式与反向模式的代价对比(定理 1.5.2);含批维形状核对的完整递推(定理 1.5.3)与梯度检查实操(方法 1.5.1、方法 1.5.2)
1.6提到 SGD、Momentum、Adam 三条线索Adam 偏差修正的推导(定义 1.6.4);AdamW 与 Adam + L2 的不等价性(定理 1.6.1);学习率调度、梯度裁剪与累积(1.6.6);线性缩放规则与其失效条件(定理 1.6.2)
1.7以 Dropout 与早停为主讲正则偏置-方差分解与近似 / 估计 / 优化三类误差的分解(定理 1.7.1、推论 1.7.1);BN / LN / RMSNorm 的统计量覆盖维度对比(定义 1.7.3、定理 1.7.2);双下降(定理 1.7.3)与数据泄漏六形态清单(1.7.6 的数据泄漏清单)

一句话总结差异:母本给「是什么」与「为什么重要」,本教程补「怎么算出来」与「算错时长什么样」。凡属后者,正文都配了可执行的判据(形状断言、相对误差阈值、曲线形状表)。

补注的边界(避免把本教程读成「母本的升级版」):

  • 本教程不改变母本的结论方向,只补中间步骤与判据;凡与本教程不一致处,一律以可复现的实验与原文文献为准。
  • 本教程新增的「工程惯例」条目(AdamW、RMSNorm、SwiGLU、双下降等)不是定理,而是截至 2025 年的社区默认做法;它们的收益幅度需要在你自己配置上验证。
  • 母本配套的 Lab 与作业仍是最好的动手材料;本教程的 Lab 1 与之对应,但把「前向 → 损失 → 反向 → 更新」的四步对照关系显式写了出来。

二、术语与常见译误

这一节的用法:当你在「同一个词指向两件事」上卡住时来查。以下七条都是本讲内部就构成实际困惑的对比,不是泛泛的词汇表。

术语常见误用/误译正确理解
预激活(pre-activation)vs 激活(activation)把「激活」同时用来指 zz 和 aa,导致反向传播里说不清是谁对谁求导;也常把 Pre-LN / Post-LN 的「Pre」误当成这个词z=wTx+bz=\boldsymbol w^{\mathrm T}\boldsymbol x+b 是预激活,a=ϕ(z)a=\phi(z) 才是激活(定义 1.1.1)。反向传播里的误差信号 δ(l)\boldsymbol\delta^{(l)} 定义在预激活上(定义 1.5.3),这一区分决定了递推式里 ϕ′\phi' 乘在哪一步
L2 正则 vs 权重衰减(weight decay)当成同义词互换使用。在 SGD 下二者确实等价,但在 Adam 类优化器下不等价L2 是「往损失里加 λ2∥θ∥2\frac{\lambda}{2}\lVert\theta\rVert^2」,权重衰减是「更新后把参数乘回 (1−ηλ)(1-\eta\lambda)」。前者的梯度会被自适应缩放逐元素改写(定理 1.6.1);PyTorch 里 Adam(weight_decay=λ) 实现的是前者,要后者必须用 AdamW
嵌入(embedding)vs 嵌入层(embedding layer)把「嵌入」当成一个网络层、或反过来把 nn.Embedding 当成一种矩阵分解技巧「嵌入」指的是把离散符号映射到连续向量的这个动作及其结果;nn.Embedding 只是实现它的查表结构(等价于 one-hot 乘一个矩阵)。1.6 节说的「稀疏特征需要各自步长」指的正是嵌入矩阵的行很少被激活这件事
欠拟合(underfitting)vs 过拟合(overfitting)只看测试误差高低就下结论,或把「验证损失上升」一律叫过拟合判据是训练误差与验证误差的组合:两者都高且贴近 = 欠拟合(加容量);训练低、验证高且间隙扩大 = 过拟合(加正则)(定理 1.7.1)。另有「训练不稳定」「两边都好但线上差」两种形态,处置方向完全不同
部分导数 / 偏导(partial derivative)vs 梯度(gradient)口语里说「对 WW 求导」时不说清是对张量的各个分量求偏导,还是对整个张量求方向导数,导致形状对不上梯度是偏导数按同形状排成的张量:∂L/∂W(l)∈Rdl−1×dl\partial\mathcal L/\partial W^{(l)}\in\mathbb R^{d_{l-1}\times d_l},与 W(l)W^{(l)} 同形(定理 1.5.3)。注意框架内部存的是它的转置(「输出 × 输入」约定),核对形状是排查转置错误的最快手段
交叉熵(cross-entropy)vs KL 散度认为「最小化 KL」与「最小化交叉熵」是两件不同的事,或跨数据集直接比较交叉熵数值H(p,q)=KL(p∥q)+H(p)H(p,q)=\mathrm{KL}(p|q)+H(p);目标分布固定时 H(p)H(p) 是常数,故训练中两者优化等价(定理 1.4.3)。但跨数据集比较时 H(p)H(p) 不同,绝对值不可比
泛化误差(generalization error)vs 经验误差(empirical error)把「泛化误差」当成「测试集上的那个数字」,忽略它是对分布的期望经验误差是训练集上的平均损失,泛化误差是对数据分布的期望;工程上用验证 / 测试集估计它,且测试集只应用一次(定义 1.7.1)

三、时效补注

母本录播年代与当前工程默认之间存在若干处「已经换了默认答案」的差异。以下按「主题 / 母本年代的做法 / 截至 2025 年的工程默认 / 本教程的处理」列出;涉及具体版本与比例的条目均标注为社区惯例,采用前应结合你自己的配置验证。

主题母本年代(约 2018–2020 录播口径)当前工程默认(截至 2025)本教程的写法
隐藏层激活在 Sigmoid / tanh / ReLU 之间选,倾向讲 tanh 的零均值优势ReLU 族仍是视觉与通用任务的默认;语言模型前馈层默认 SwiGLU 类门控1.3 按「饱和 / 分段线性 / 平滑 / 门控」四族讲,把门控定位为含参数的层而非激活函数
优化器SGD + Momentum 为主,Adam「更快但泛化有时略差」AdamW 是多数任务的默认(η≈3×10−4\eta\approx3\times10^{-4} 起步,配 warmup + 余弦)1.6 以 AdamW 为主线,同时保留「追求极致泛化且有人力调参时用 SGD + Momentum」的决策清单
权重衰减写法常在损失里加 L2 项用解耦权重衰减(AdamW),且对偏置 / 归一化参数不施加定理 1.6.1 明确两者不等价;定理 1.6.1 给四条实践说明
归一化层BatchNorm 为主,LayerNorm 用于 RNN / TransformerTransformer 一律用 LN 类;大模型普遍换成 RMSNorm1.7.4 以「统计量覆盖哪些维度」为统一视角给出 BN / LN / RMSNorm 三方对比
初始化Xavier 常被当作通用答案激活与初始化必须配对:Sigmoid / tanh 配 Xavier,ReLU 族配 Kaiming方法 1.2.2 与 推论 1.3.1 各给一次配对规则与错配症状
大批量训练批大小受单卡显存与数据并行限制多卡下批可达数万,配线性缩放规则与 warmup,必要时用 LARS / LAMB定理 1.6.2 给线性缩放的形式、失效条件与平方根缩放等替代
泛化图景「容量越大越容易过拟合」的 U 形曲线深度学习里观察到双下降;参数量本身不是过拟合的充分或必要条件1.7.5 把双下降作为经典图景的边界陈述,并注明其在大规模真实任务上仍有争议
混合精度fp16 + loss scaling 为主BF16 为默认(动态范围大、通常无需 loss scaling);FP8 在部分硬件上可用但需 scaling本讲只在 1.5.2 的「内存换速度」 与 1.6 提到它对显存与 ϵ\epsilon 的影响,完整处理放在第九讲
数据规模与算力课程 Lab 用几 KB 到几 MB 的小数据教学仍建议从小数据起步;但「模型越大越好」的直觉需要缩放律来校正1.2.3 明确通用逼近的边界,1.7 讨论容量与数据的匹配

一条通用提醒:本讲涉及的所有具体数字(如 8/3 dmodel8/3,d_{\text{model}} 的前馈宽度比、λ\lambda 的常见量级、dff≈10922d_{\text{ff}}\approx10922)都来自特定配置。正文对不确定处已标注「需核实」;引用到自己的项目前,请以你所使用的框架版本与模型公开配置为准。

为什么这些默认会变:它们大多不是数学结论,而是「在当时的硬件、数据规模与框架能力下,性价比最高的选择」。硬件(BF16 / FP8)、训练规模(上万卡、数万亿 token)与框架(融合算子、分布式归一化)任一项变化,默认答案就可能改写。因此本页的价值在于记录「变化发生过」,而不是把 2025 年的默认当成永久正确。

四、本教程更正记录

位置原表述更正说明
sec11.md(第 1 讲 · 1.1 节)曾出现 2 个 ::: 语义盒未闭合:::: ex 例 1.1.1 内嵌的 ::: proof 解 之后只写了一个收尾 :::,随后紧跟的 method / errata 区块也被吞进未闭合的盒子里已修正:按「先关内层、再关外层」的顺序补齐收尾 :::,使 ex → proof → ex 三层各自平铺闭合;节末的 method / errata / note 回到顶层未闭合的盒子会让 mdBook 把后续整段内容渲染进折叠块,表现为「点击例 1.1.1 展开后出现整节内容」。自查命令(见《写作规范》中的「讲末六页规范」第七节)现已输出「全部配平」
旧 lec01.md(单文件版第 1 讲)节号沿用 1.x 的单文件编号(如 1.2、1.3),与「先修工具箱」「附录 C」的编号空间混在同一序列里,交叉引用无法判断指的是讲次还是全局章节已统一为「讲号.节号」体系:第 1 讲的节一律写作 1.1–1.7,节页文件名为 sec11.md–sec17.md;盒子编号同步为「1.节.序号」(如 定理 1.5.3)重构后每个盒子的编号在全书内唯一,锚点 {#def-1.2.1} 形如「类型-讲.节.序」;旧文件的扁平编号(如 1.x)在新的多文件结构下不再使用。重定向与旧链接的迁移由 SUMMARY.md 统一承担,本页只记录口径变化
sec12.md–sec17.md(共 11 处节标题)这些节页内部的交叉引用形如 [1.5.4](#sec-1.5.4),但对应标题上没有声明 {#sec-…} 锚点,链接指向不存在的锚点已补齐 11 个节锚点:sec12.md 补 {#sec-1.2.2};sec15.md 补 {#sec-1.5.2}、{#sec-1.5.4};sec16.md 补 {#sec-1.6.2}、{#sec-1.6.4}、{#sec-1.6.5}、{#sec-1.6.7};sec17.md 补 {#sec-1.7.1}、{#sec-1.7.3}、{#sec-1.7.6}、{#sec-1.7.7}({#sec-1.2.3}、{#sec-1.3.5}、{#sec-1.7.4}、{#sec-1.7.5} 原有)只改标题行、不改任何正文措辞与编号,因此不破坏既有锚点;补齐后节页内部链接与本讲六页的引用均可稳定解析(原先只依赖构建期自动生成的中文 slug 才能命中)

待核实的开放条目(发现新差异时追加到本表,不要就地改动正文):

位置现象待核实的问题
1.3.5门控前馈层的宽幅缩放比例(8/38/3 与「缩到约 2/32/3」两种说法并存)两种说法分别对应「与 4d4d 基线等参数量」还是「等计算量」,需按所参考的具体实现确认后再统一表述(正文已标「需核实」)
1.4.7不确定性加权的损失形式与符号(12σk2Lk+12log⁡σk2\frac{1}{2\sigma_k^2}\mathcal L_k+\frac12\log\sigma_k^2)回归任务与分类任务的形式不同,正文给的写法是否与原始文献完全一致,需按原文核对(正文已标「需核实」)
1.7.4RMSNorm「收益主要来自 re-scaling 而非 re-centering」,以及「极少数任务上因缺少居中而略差」结论依赖模型规模与实现,需给出具体实验设置后才可作为定论引用(正文已标「需核实」)