从0训练LLM · 现代大模型体系 导读 7 课 + 1 条岔路 ≈ 4 小时(可选的地基章)
D 深度学习地基:机器怎么从例子里学会规律 章导读

深度学习地基:机器怎么从例子里学会规律

整门课的地基:从「小猫 喜欢 吃 ___」出发,把训练一个网络要的每一件东西都被一个真数字逼出来——为什么要调参数、loss 为什么是 −ln p、为什么沿梯度走、梯度怎么一次算完、为什么要非线性、为什么要验证集、词怎么进网络。每一步都在浏览器里真算、真训练。

主线定位

从已有出发 · 从例子里学的一整圈(点任一环节看它在迷你模型和 Qwen/Qwen3.8-27B 里多大) 本课本章后面的课

贯穿例句:「小猫 喜欢 吃 ___」,来自一次真实的学习对话。老师在那里说:模型猜错了就产生 loss,反向传播告诉参数往哪个方向改一点,「猫 = [0.20, 0.70] → [0.21, 0.68]」,一次只改一点点。这一章把这句话里的每个词都拆开,并在浏览器里把那组数真算一遍(第 3、7 课)。

本章问题链

每一课只回答一个问题;上一课的失败,逼出下一课的问题。

课这一课的问题朴素方案在哪个真数字上失败一句话
第 1 课机器怎么从例子里学到规律?把例子背成表:《三國志演義》验证集里,前 4 个字原样出现过的只有 2.9%模型是带着可调数字的函数,学习就是用例子调这些数字
第 2 课怎么量「错了多少」?数错题:loss 降了 0.28,错题数还是 7/7;连乘 135 个 1/256 就是 0交叉熵 = 正确答案概率的负对数,处处有坡度
第 3 课往哪边改、改多少?随机方向和下坡方向的余弦只有约 0.004;η = 10 时 loss 不降反升沿负梯度走,一次只改一点点
第 4 课参数一多,梯度怎么算?逐个参数扰动:每步 49,792 次前向,约 12 秒从 loss 往回传「本地导数 × 上游梯度」,一次算完
第 5 课直线拟合不了怎么办?线性模型在组合题上永远停在 ln 2 = 0.693线性层之间插非线性,空间才能被折叠
第 6 课训练越来越好,新数据却越来越差?项目实测:训练 loss 降到 0.70,验证 loss 从 4.771 升到 6.906看验证 loss,在它最低时停下或加正则
岔路深度学习为什么是经验性的?—能表示、梯度对是证明出来的;训得出、泛化好靠实验
第 7 课离散的词怎么进网络?one-hot 乘矩阵:Qwen3.8 每个 token 12.7 亿次乘加,只有 5,120 次不在乘 0按编号查表取一行;梯度只回到用到的那几行

演进地图

训练一个网络要的东西,是一件一件被真数字逼出来的
  1. 起点 手写规则 / 把例子背成一张表 最直接的想法
    解决了见过的例子,能一字不差地答出来。
    卡在《三國志演義》验证集 2,979 个位置里,前 4 个字在训练片段里原样出现过的只有 87 个(2.9%),其余查表答不出(第 1 课浏览器实算)。
  2. 第一代 带参数的模型:用例子调数字 最小二乘 Legendre 1805、Gauss 1809;感知机 Rosenblatt 1958
    解决了迷你模型的 60 个数一起调,训练里没出现过的「小猫 想 吃」也给「鱼」82.7%。
    卡在「调到多好」要一个数来量。数错题:训练第 1 步平均 loss 从 2.583 降到 2.306,错题数还是 7/7——台阶上没有坡度(第 2 课)。
  3. 第二代 交叉熵:正确答案概率的负对数 统计学的最大似然;softmax 这个名字来自 Bridle 1989/1990
    解决了错得越离谱罚得越重:对话样本假设「鱼」拿到 5%,loss = 2.996;而且处处有坡度。
    卡在有了坡,往哪边走?24,896 个参数的小网络里,随机方向和下坡方向夹角余弦的中位数只有约 0.004(第 3 课浏览器实训)。
  4. 第三代 梯度下降 Cauchy 1847
    解决了沿 −∇L 小步走:真语料小网络 η = 1、600 步,验证 loss 5.550 → 3.606。
    卡在梯度要逐个参数去试:中心差分每步 49,792 次前向,作者机器上约 12 秒,反向传播约 0.7 毫秒(第 4 课在你的浏览器里现场计时)。
  5. 第四代 反向传播(反向模式自动微分) Linnainmaa 1970;Werbos 1974 / 1982;Rumelhart、Hinton、Williams 1986 推广
    解决了一次前向加一次反向,约 3 倍前向的代价拿到全部精确梯度;与有限差分的相对误差约 10⁻⁸。
    卡在模型只会「各部分加起来再打分」:四句组合题的 loss 永远停在 ln 2 = 0.693(第 5 课)。
  6. 第五代 非线性多层网络 Minsky & Papert 1969 分析单层的局限;多层 + 反向传播 1986;ReLU 2010–2011
    解决了2 个 ReLU 单元把平面折叠,四句组合题的 loss 降到 0.0006(种子 3)。
    卡在能力够了就会背书:项目模型训到 24.5 个 epoch,验证 loss 从第 300 步的 4.771 升到 6.906(第 6 课项目实测)。
  7. 第六代 验证集、早停与正则化 早停 Morgan & Bourlard 1989;权重惩罚 Hanson & Pratt 1988,Krogh & Hertz 1991 解释其原理;dropout 2012
    解决了在验证 loss 最低处停;2,000 字的训练集上,λ = 0.003 把 3,000 步后的验证 loss 从 11 以上拉回 4.06(浏览器实训)。
    卡在输入一直是数,可语言是一个个离散的词:Qwen3.8 每个 token 的 one-hot 有 248,320 维,直接乘矩阵要 1,271,398,400 次乘加(第 7 课)。
  8. 解决了「能表示」「梯度算得对」是证明出来的。
    卡在「训得出来」要试:四句组合题 2 个 ReLU 单元的解存在,10 个种子里只有 4 个找到它。
  9. 第七代 词向量:按编号查表 Bengio 等 2003 神经概率语言模型
    解决了按编号取出一行可学习的向量;反向传播只改用到的几行——迷你模型一步只有 3 行在动,9 行恰好不动。
    接下来接下来:词进了网络,「下一个词」的概率怎么算、为什么终点是 Transformer(C0);这些行学成什么样(C1)。
数字口径:one-hot 维数与乘加次数由锚点 Qwen3.8 的 config 构建时现算;迷你模型(种子 3)、四句组合题(种子 3)、真语料小网络(种子 1)的数字来自本章各课组件的默认设置,浏览器里现场复算;4.771 / 6.906 来自项目真实日志 d00-foundations.json。年份按原始文献核对(2026-09-26)。

三层交互

层本章里的组件在哪一课
概念动画训练一整圈的累计数据流(每课点亮一格);迷你模型的训练动画(参数平面上的轨迹);计算图的前向 / 反向逐格步进;四句组合题的「平面折叠」训练回放每一课;第 1、4、5 课
算法模拟器(真算法、小数据)迷你模型「小猫 喜欢 吃」(60 个参数,教学构造):你调两个数 vs 机器调 60 个数、交叉熵与错题数、一步梯度下降、计算图与有限差分、one-hot 与梯度只回到用到的行;交叉熵曲线与两把朴素尺子;四句组合题的线性 / ReLU / 多种子第 1–5、7 课与岔路
真模型 / 真数据真语料小网络(《三國志演義》24,000 字,24,896 个参数)在浏览器里真训练:查表覆盖率、从例子学、随机方向 vs 梯度、学习率三幕、梯度检查与计时、ReLU vs 无激活、过拟合与权重衰减、embedding 行的梯度、换种子;我们自己从 0 训练的 3.7M 模型 1,500 步的真实日志第 1、3–7 课与岔路

项目推进:训练循环与验证集

对应 04-实践项目/MILESTONES.md 的「D 深度学习地基(过拟合)」。分工照旧:代码 AI 来写,决策你来做。项目的训练循环(交叉熵、AdamW、固定窗口评估)已经跑通,1,500 步的对照 run 导出为本章读取的 d00-foundations.json。

🧭

你要拍板的三件事

  1. 训练目标用什么 loss?理由要引用第 2 课的三个失败数字(错题数不动、连乘下溢、平方差梯度弱)。
  2. 训多少步、留哪一份参数?依据验证集曲线的拐点,不依据训练 loss(第 6 课)。
  3. 改了模型结构之后,怎么确认梯度没写错?什么时候做梯度检查、h 取多大(第 4 课)。

验收标准(全部可测):

项目实测 · 验收用的基线曲线(1,500 步,24.5 个 epoch)

坑与带走

坑症状后果怎么办
拿错题率 / 准确率当训练目标loss 一格一格跳,大部分时候不动梯度处处为 0,训练不动用交叉熵训练,准确率只拿来看(第 2 课)
把概率连乘当目标结果变成 0 或 −∞数值下溢,算不出来取对数再平均,就是交叉熵(第 2 课)
学习率太大开局几步 loss 冲高,然后出现 NaN训练报废减小 η,先用几百步扫几个值(第 3 课)
学习率太小loss 几乎是一条缓坡浪费算力,以为模型不行同上,扫描(第 3 课);warmup 与衰减调度见 C5 第 4、5 课
手写的反向传播没检查loss 降得奇怪或不降后面所有结论都建立在错梯度上float64 下与中心差分对照,h ≈ 10⁻⁵,相对误差应在 10⁻⁶ 以下(第 4 课)
层与层之间忘了非线性加深、加宽都没效果整个网络等于一层线性线性层之间放 ReLU 等激活(第 5 课)
只看训练 loss 决定训多久训练 loss 一路降验证 loss 回升,模型在背书看验证 loss,最低点停;加数据或正则(第 6 课)
用验证集反复挑超参验证分数越调越好,上线后变差在验证集上过拟合留一份最后才看的测试集(第 6 课、C14)
只跑一个种子就下结论两个配置差 0.05,据此选型结论可能反过来同一种子成对比较,多种子报告波动(岔路课)
以为没出现的词也在学罕见词的表示很差模型在罕见词上不稳它们的行很少收到梯度;词表与数据配比要考虑到(第 7 课、C1、C7)

这一章你应该带走的(各课「一句话」):

深入这一章

每条都实际打开核对过(2026-09-26):写清它讲清了什么、对应哪一课、为什么推荐。外部链接都需要联网;论文暂无本地 PDF,统一下载后改成本地链接。

🎮 想更直观 10–30 分钟

先玩本章的组件;下面是外部最好的可视化入口
需联网15 min英文 Daniel Smilkov、Shan Carter · 交互
浏览器里真训练一个小网络:可以改层数、每层单元数、激活函数、正则化、训练集与测试集的比例,实时看训练 / 测试 loss 和每个神经元的输出。
对应第 1、5、6 课:去掉隐藏层看它分不开螺旋,调小训练集比例看测试 loss 回升。本章的组件是它的「每个数都能读出来」版本。
需联网19 + 21 + 24 min中文字幕 3Blue1Brown 官方 B 站账号 · 2017;梯度下降 BV1Ux411j7ri,反向传播(上 / 下)BV16x411V7Qg
网络是一个带一万多个参数的函数;代价函数与梯度是「下山方向」;反向传播的直觉与微积分。
对应第 1、3、4 课,画面最直观的一套。它用手写数字做例子,原理和本章完全相同。第 2、3 集标着 beta 版(没有后期剪辑)。
需联网20 min英文 Simon Prince · 教材配套交互图
能拖动参数、同时看拟合的函数和 loss 地形变化的一组交互图;浅层网络如何用 ReLU 拼出折线。
对应第 1 课的「参数这一侧 ↔ 函数这一侧」和第 5 课的折叠。不适合手机。
需联网20 min英文 Pearce 等 · 2023-08 · 交互长文
沿训练曲线拖动,看每一刻的权重;模型先把训练集背下来,很久之后才突然学会规律(grokking)。
对应第 6 课与岔路课:「背书」和「学会」在同一次训练里可以先后发生,只看训练 loss 分不出来。

🔬 想吃透原理 1–3 小时

唯一必看:Karpathy「building micrograd」。其余按课挑
需联网2 h 26 min英文 2022-08-16 · B 站有第三方中英字幕转载(BV11yHXeuE9d 第 1P,未见授权说明)
从零写一个约一百行的自动微分:画计算图、每个节点同时记值和梯度、用 +h 扰动核对导数、手推链式法则,最后训练一个小网络。
对应第 3、4 课,是本章最核心两课的「代码版」:本章组件让你点按钮看到的每一步,他都一行行写出来。看完它,PyTorch 的 backward() 就不再是黑箱。
需联网23 + 31 + 34 min英文 2025-05 至 08;第 2 集 VkHfRKewkWw,第 3 集 qx7hirqgfuU
第 1 集:从调一两个参数到梯度下降、高维地形;第 2 集:softmax、交叉熵、反向传播;第 3 集:激活函数怎么折叠空间、深度的几何。
对应第 2–5 课,可视化质量最高的一套。B 站上只有未授权的 AI 配音转载,这里给原片。
需联网40 min英文 2015-08-31
计算图、路径求和、正向模式与反向模式:为什么从 loss 往回走一次就拿到全部导数。
对应第 4 课的「12 条路径」和「为什么反向划算」。
需联网40 min英文 2014-04-06
每一层都是对输入空间的连续变形,分类就是把数据拉到线性可分;配网格变形图。
对应第 5 课的折叠视图。
需联网30 + 50 min中文 B 站原创 · 2021-07;第二集 BV1Zg411T71b
从信息量、熵、KL 散度推到交叉熵;梯度下降与反向传播的中文逐步推导。
对应第 2–4 课,中文里推导最完整的一组。
需联网2 h 24 min + 2 h 6 min中文 生成式人工智慧与机器学习导论 2025 · 官方 YouTube;第 6 讲 mPWvAN4hzzY
第 5 讲从零讲机器学习与深度学习的基本原理(模型、loss、优化);第 6 讲讲训练诀窍。
对应第 1–3 课与第 5–6 课,中文课堂讲法,适合系统补一遍。
需联网按节 20–40 min中文 李沐等 · 带代码
与本章各课一一对应的中文推导和代码。
想看每一课在 PyTorch 里怎么写时,按节查。
需联网30 min英文 2019-04-25
训练网络的实操顺序:先验证数据与 loss、再过拟合一小批、再正则化、再调参。
对应第 6 课与岔路课,也是本章「坑与带走」的实践版。

📄 想读原文 按需

暂无本地 PDF,先链官方页面
教材需联网
第 5 章 loss、第 6 章拟合、第 7 章梯度与初始化(反向传播)、第 8 章度量表现(含双下降)、第 9 章正则化、第 20 章「深度学习为什么有效」。
本章的教科书版本,图多、推导完整;第 20 章对应岔路课。
教材需联网
§5.5 最大似然与交叉熵、§6.1 学异或、§6.5 反向传播、§6.6 历史、§7.1 L2 正则、§7.8 早停、§7.12 dropout。
第 2、4、5、6 课引用的教科书出处。
Rumelhart、Hinton、Williams 1986需联网
用反向传播训练带隐藏层的网络,隐藏单元学到有用的内部表示。
第 4 课。它让反向传播流行起来,但不是最早的出处(见第 4 课 Dig)。
Baydin et al. 2015需联网
正向模式与反向模式自动微分、代价分析,以及反向传播的历史脉络。
第 4 课「反向模式的代价是前向的常数倍」的出处。
Bengio et al. 2003需联网
每个词一个可学习的分布式表示,和词序列的概率函数一起训练。
第 7 课词向量的原始出处。
Krogh & Hertz · NIPS 1991需联网
从理论上解释权重衰减为什么能改善泛化(权重惩罚在此之前已被使用)。
第 6 课。注意它是「解释」,不是「提出」。
Srivastava et al. 2014需联网
训练时随机关掉一部分单元的正则化方法(Hinton 等 2012 年先在 arXiv 1207.0580 提出)。
第 6 课提到的另一种正则化;我们的项目模型没有用 dropout(C9 实验课)。
Zhang et al. 2016(ICLR 2017)需联网
常用卷积网络能把随机标签也拟合到训练误差接近 0,经典容量理论解释不了它在真实标签上的泛化。
岔路课「经典理论在哪里失灵」第一条。
Belkin et al. 2018(PNAS 2019)需联网
提出并命名双下降:模型容量越过插值点后,测试误差再次下降。深度网络上的系统观察见 Nakkiran et al.(arXiv 1912.02292)。
岔路课第二条。
Glorot、Bordes、Bengio 2011需联网
整流线性单元(ReLU)的深网络在不预训练时达到或超过 tanh 网络。
第 5 课「为什么是 ReLU」的实验出处(ReLU 更早见于 Nair 与 Hinton 2010 的受限玻尔兹曼机)。
🚫

排除了什么(也是筛选标准):① 各种同质化的「梯度下降可视化器」小站(8gwifi、gradientlab、deepml.dev 等)——没有作者或机构背书,本章组件和 TF Playground 已覆盖;② B 站「保姆级 / 全 300 集 / 2026 最新」类合集——没有授权标注、标题党,本章只给原作者的官方源,第三方字幕转载会注明;③ Welch Labs 视频的 B 站 AI 配音转载——都未见授权,给原片;④ losslandscape.com 一类损失地形艺术渲染——好看,但不能操作、不讲机制;⑤ 旧版课程的 LossChart——用正弦噪声冒充训练曲线,本章所有曲线来自浏览器真训练或项目日志;⑥ Nielsen《Neural Networks and Deep Learning》在线版——本次核实时证书与域名不匹配、打不开,它的「可视化证明」思路由 UDL 交互图覆盖。