跳到主要内容

章节切分大纲 — Python深度学习(第2版)

原书 14 章正文 → 拆解 14 章。切分原则:按新词密度,一条完整推理链一章,章对着原书结构走。 主线:这门手艺只有一条核心矛盾(优化 vs 泛化),全书前半造工具、后半把工具用到四类数据上、收尾讲边界。

自查(任意两行「出去时知道」是同一件事→合并):已逐行核,无重复。

01 深度学习是什么、为什么偏偏是现在火(原书第1章)

  • §1 进来时以为「人工智能/机器学习/深度学习」差不多是一个东西 → 出去时知道三者是包含关系,各自的确切所指
  • §2 进来时以为机器学习是「机器自己变聪明」 → 出去时知道它是在可能性空间里搜「有用的表示」,拿 RGB/HSV 和坐标变换两个例子看见「表示」是什么
  • §3 进来时以为「深度」=更深的理解 → 出去时知道它只是表示的层数,以及一张三层图(权重/损失/优化器)怎么组成训练循环
  • §4 进来时以为深度学习一直这么火 → 出去时知道 2012 年 ImageNet 那次拐点(74.3%→83.6%),以及它和特征工程、逐层学习的两点不同
  • §5 进来时以为这次也可能是炒作 → 出去时知道硬件/数据/算法三股东风的具体数字,和作者「相信长期愿景」的论证

02 张量:神经网络摆弄的东西到底是什么(原书第2章前半)

  • §1 进来时以为「张量」是高深数学 → 出去时知道它就是装数的容器,用 MNIST 一张图(28×28)认清标量/向量/矩阵/3阶张量和三个关键属性
  • §2 进来时以为批量是工程细节 → 出去时知道第一个轴永远是样本轴,四类现实数据(向量/序列/图像/视频)各是几阶张量
  • §3 进来时以为 Dense 层是一个黑话 → 出去时知道它只有三个张量运算(relu(dot(x,W)+b)),每个运算(逐元素/广播/点积)都走得通
  • §4 进来时以为「几何解释」是修辞 → 出去时知道加法=平移、点积=线性变换,以及关键推论:没有激活函数,叠多少层都等于一层
  • §5 进来时以为神经网络在「算」 → 出去时知道它在「把纸团展平」——流形视角下的高维几何变换

03 训练到底是怎么发生的:梯度、链式法则、反向传播(原书第2章后半)

  • §1 进来时以为训练就是「多试几次」 → 出去时知道笨办法(逐个系数试)为什么在大网络上物理不可行
  • §2 进来时以为「导数/梯度」是微积分课的事 → 出去时知道它只是「该往哪边挪、挪多少」的方向指示,以及学习率太小/太大各会怎样
  • §3 进来时以为 SGD 是一个词 → 出去时知道小批量随机梯度下降五步循环,和动量为什么像小球滚下山
  • §4 进来时以为反向传播很神秘 → 出去时知道它=链式法则应用于计算图,沿 x→x1=6→x2=7→loss=3 走一遍正向再沿 grad=2 走一遍反向
  • §5 进来时以为这些要自己手写 → 出去时知道 GradientTape 替你记账,以及作者当年用 C 手写梯子的对照

04 Keras 的工作方式:三层 API 与训练循环(原书第3章+第7章)

  • §1 进来时以为 Keras 和 TensorFlow 是一回事 → 出去时知道一个是底层平台一个是上层 API,以及 Keras 2015 年比 TF 还早 8 个月的来历
  • §2 进来时以为模型只能搭成一条直线 → 出去时知道三种建模法(序贯/函数式/子类化)和符号张量是什么,工单三输入两输出模型怎么拼
  • §3 进来时以为子类化最灵活就该用它 → 出去时知道灵活性的代价:字节码不是数据结构,summary/可视化/特征提取全失效
  • §4 进来时以为训练只能 fit() 一把梭 → 出去时知道回调函数(提前终止/检查点)是无人机,自定义指标怎么写
  • §5 进来时以为自定义训练循环是研究生内容 → 出去时知道 train_step 三步(梯度带前向→取梯度→应用),以及 training=True、trainable_weights、@tf.function 三个坑

05 三个入门任务:分类与回归的手感(原书第4章)

  • §1 进来时以为深度学习任务千变万化 → 出去时知道入门就三类:二分类/多分类/标量回归,各配什么最后一层和损失
  • §2 进来时以为文本能直接喂给网络 → 出去时知道 multi-hot 编码:一条 IMDB 影评怎么变成 10000 维的 0/1 向量并走到 88%
  • §3 进来时以为层越宽越好 → 出去时知道信息瓶颈:46 类新闻经过 4 维中间层会丢 8 个点精度
  • §4 进来时以为评估就是切一刀 → 出去时知道 506 个样本的波士顿房价为什么要 K 折,以及标准化的铁律(测试集用训练集的均值标准差)
  • §5 进来时以为训练越久越好 → 出去时知道验证损失曲线第 4 轮掉头=过拟合发生点,要照那个点重训

06 泛化:这门手艺的唯一核心矛盾(原书第5章)

  • §1 进来时以为训练误差小=模型好 → 出去时知道优化与泛化是两件事,过拟合的三种来源(噪声/模糊特征/虚假相关)
  • §2 进来时以为加噪声数据会变差 → 出去时知道白噪声实验和打乱标签实验:模型能记住任何东西,包括纯噪声——「像 Python 字典一样」
  • §3 进来时以为泛化很玄 → 出去时知道流形假说:自然数据挤在高维空间的低维流形上,泛化=在流形上插值,而人类会极端泛化(第14章伏笔)
  • §4 进来时以为验证集可以随便用 → 出去时知道信息泄露:每次拿验证集调参都泄露一点,以及常识基准(隐形火箭比喻)
  • §5 进来时以为过拟合要躲开 → 出去时知道「必须先实现过拟合」,再拿四件工具(更多数据/缩容量/L1L2/dropout)往回拉,dropout 的银行防共谋来历

07 机器学习的通用工作流程:从问题到部署(原书第6章)

  • §1 进来时以为 ML 项目=训模型 → 出去时知道三段式:定义任务→开发模型→部署模型,以及「人脸评可信度」的道德警告
  • §2 进来时以为拿到数据就能开干 → 出去时知道先验证两个假设(输入可预测目标、数据含足够信息),以及七个项目的分诊
  • §3 进来时以为数据收集是杂务 → 出去时知道它最费力最费钱,非代表性数据(美食家照片)和概念漂移的教训
  • §4 进来时以为指标选精度就行 → 出去时知道统计功效、ROC AUC 不可微要用交叉熵替代、最后一层+损失对照表
  • §5 进来时以为训练完就完了 → 出去时知道部署的话术(不说 98% 精度,说每天 200 笔误标)、三种部署方式、监控与再训练周期

08 卷积神经网络:看图的正确姿势(原书第8章)

  • §1 进来时以为图像分类就是 Dense 层硬上 → 出去时知道卷积 vs 密集的根本区别(局部模式 vs 全局模式),MNIST 上错误率直接降 60%
  • §2 进来时以为卷积很抽象 → 出去时知道滑窗/滤波器/响应图在 (28,28,1)→(26,26,32) 上各是什么,平移不变性和空间层次两个性质
  • §3 进来时以为汇聚层可有可无 → 出去时知道拿掉它会怎样(窗口只见 7×7、flatten 后 62 万元素),以及为什么取 max 不取平均
  • §4 进来时以为数据少就没法玩 → 出去时知道猫狗 2000 张从头训练到 69.5%,数据增强(翻转/旋转/缩放)怎么把它推到 83.5%,以及「不产生新信息」的边界
  • §5 进来时以为预训练模型是作弊 → 出去时知道特征提取(冻卷积基)97.5% 和微调(解冻顶几层、小学习率)98.5% 的做法与先后顺序的理由

09 现代架构模式与「看见」网络在想什么(原书第9章)

  • §1 进来时以为图像分类就是 CV 全部 → 出去时知道三大任务,以及分割模型为什么用步幅不用最大汇聚(位置信息)
  • §2 进来时以为网络越深越好 → 出去时知道传话游戏=梯度消失,残差连接怎么给梯度修一条信息捷径,形状对不上时 1×1 卷积投影
  • §3 进来时以为批量规范化有理论支撑 → 出去时知道作者坦白「没人真正确定它为何有效」,但实践上帮梯度传播;以及可分离卷积的通道不相关假设
  • §4 进来时以为好架构是天才设计 → 出去时知道消融研究的方法和「论文为同行评审优化」的噪音,以及硬件软件算法共同发展的锁定效应
  • §5 进来时以为神经网络是黑盒 → 出去时知道三种可视化:中间激活(信息蒸馏管道)/滤波器(梯度上升)/Grad-CAM(非洲象耳朵)

10 序列与时间:为什么需要循环神经网络(原书第10章)

  • §1 进来时以为时间序列和普通数据一样处理 → 出去时知道划分铁律(验证测试必须在训练之后)和「先找周期性」
  • §2 进来时以为直接上复杂模型 → 出去时知道先立常识基准(明天=今天,MAE 2.44℃),再看密集网络和 1D 卷积为什么双双打不过它
  • §3 进来时以为 RNN 很高深 → 出去时知道它就是一个 for 循环+状态,前馈网络无记忆 vs RNN 有记忆,以及 SimpleRNN 为什么记不住长期依赖
  • §4 进来时以为 LSTM 的门需要逐个理解 → 出去时知道传送带比喻(c_t 携带流)和作者的坦白:那些解读没有意义,记住它解决梯度消失就够
  • §5 进来时以为调参就是堆料 → 出去时知道循环 dropout(同一掩码)、堆叠 GRU 的回报递减、双向 RNN 为什么适合文本不适合气温,以及「后视镜开车」的市场警告

11 文本:从词袋到 Transformer(原书第11章)

  • §1 进来时以为 NLP 是让机器懂语言 → 出去时知道它是应用于文字的模式识别,以及从规则到统计到 LSTM 到 Transformer 的四十年
  • §2 进来时以为文本向量化就是查字典 → 出去时知道标准化/词元化/索引三步,OOV 和掩码词元为什么占索引 1 和 0
  • §3 进来时以为词袋过时了 → 出去时知道一元/二元/TF-IDF 在 IMDB 上 89.2%→90.4%,以及黄金常数 1500:什么时候词袋才是正确选择
  • §4 进来时以为 one-hot 就是词的表示 → 出去时知道词嵌入:one-hot 的正交假设为什么错,king+female=queen 的几何结构,Embedding 层=可学习的字典
  • §5 进来时以为注意力是玄学 → 出去时知道自注意力走查(「station」怎么沾上「train」)、QKV 的搜索引擎来历、多头=子空间版可分离卷积
  • §6 进来时以为 Transformer 天生懂顺序 → 出去时知道自注意力其实是集合处理(打乱词序结果一样),位置嵌入怎么把顺序加回去
  • §7 进来时以为翻译就是逐词对应 → 出去时知道 seq2seq 编码器-解码器模板、因果掩码防偷看未来,以及 Transformer 67% vs GRU 64% 的对比

12 生成式深度学习:从潜在空间里采样(原书第12章)

  • §1 进来时以为生成=模型在创作 → 出去时知道语言模型只是对下一词元概率建模,采样循环怎么转,以及温度怎么在无聊和发疯之间调
  • §2 进来时以为 DeepDream 是黑科技 → 出去时知道它就是多尺度滤波器可视化,以及八度间重注入细节的技巧
  • §3 进来时以为风格迁移是 AI 懂艺术 → 出去时知道它只是两个损失(内容=顶层激活 L2,风格=多层格拉姆矩阵)的加权最小化,以及「纹理迁移」的边界
  • §4 进来时以为 VAE 的「变分」很可怕 → 出去时知道关键一步:编码成分布参数而不是点,采样 epsilon 迫使潜在空间连续,z_mean 网格上数字连续变形
  • §5 进来时以为 GAN 是两个网络合作 → 出去时知道是伪造者与商人的对抗,以及为什么它的最小值不固定所以极难训练(六个炼金术技巧)

13 把模型推到极限:超参优化、集成与训练加速(原书第13章)

  • §1 进来时以为调超参靠手感 → 出去时知道它是一个不可微、反馈贵、带噪声的优化问题,KerasTuner 怎么自动搜
  • §2 进来时以为搜完就训练 → 出去时知道完整收尾:找最佳轮数→全数据重训×1.2,以及验证集过拟合警告
  • §3 进来时以为集成是把好模型平均 → 出去时知道多样性才是力量:同一个网络换初始化不值得集成,最怪的那个弱模型反而提分
  • §4 进来时以为精度只有浮点数一种 → 出去时知道 float16 装不下 1e-6 的梯度更新,混合精度=16 位计算+32 位存权重,白捡 3 倍速度
  • §5 进来时以为多卡训练很复杂 → 出去时知道数据并行的四步(全局批量→局部批量→各自算增量→合并同步)和 TPU 的步骤融合

14 边界与未来:局部泛化到极端泛化(原书第14章)

  • §1 进来时以为深度学习什么都能学 → 出去时知道它做不到什么:推理、长期规划、读产品说明写代码,连排序都难
  • §2 进来时以为模型的错误是 bug → 出去时知道对抗样本(熊猫+长臂猿梯度)揭示了模型与人感知之间的深刻差异,「镜子中的模糊图像」
  • §3 进来时以为「智能」就是会做事 → 出去时知道笛卡儿 1637 年对自动机的判词,局部泛化 vs 极端泛化,深度网络只能泛化到已知的未知
  • §4 进来时以为解决任务=智能进步 → 出去时知道捷径法则:固定任务消除了对智能的需求;ARC 基准(作者本人开发,GPT-3 全军覆没)
  • §5 进来时以为未来就是更大的模型 → 出去时知道两种抽象(以价值为中心/以程序为中心),深度学习只有前一半,程序合成与混合系统是作者押的方向

覆盖核对

原书 14 章 → 14 章全对应:1→01,2→02+03,3→04(上),4→05,5→06,6→07,7→04(下),8→08,9→09,10→10,11→11,12→12,13→13,14→14。 前言/关于本书 → 总纲 index.md「这是谁在什么时候写的」。