跳到主要内容

数据截至 (上游 commit c187ef3271d5)

阅读笔记 2 —— 第二遍通读的复核、主线、伏笔、缺口清单

这一轮做了什么(2026-08-29): 独立把 text/02-fm-prefacetext/15-ch13 共 14 个文件 (前言 + 13 个正文章)从头到尾读完,逐条核对 reading-notes.md 的记载。 导航章(01-fm-cover 含目录、17-fm-index)按标准跳过,不读不引。

结论:reading-notes.md 的事实与数字全部核对无误,可以直接用。 这一份是它没覆盖的四样东西:全书主线、跨章伏笔、切分复核、以及要补的外部缺口。

体检结论: book-health 报「可疑」,原因只有一条 —— 17 个章名里 14 个是「Chapter 1」这种无信息量的名字,锚点只能指到章 + 段号,指不到章名。 正文本身完全干净:419 页、1435 字/页,抽查了 ch1 / ch2 / ch3 / ch4 / ch9 的正文, 代码块、缩进、清单、表格全部完整,没有丢字可以写。

但有一个转码损失必须提前知道:全书的数学公式都是图片,提取后是空行。 MSE、BCE、sigmoid、precision、recall、R²、IoU、Recall@k、Precision@k 的公式在正文里一个字都没有。 → 写作时不许给公式配行号出处(那一行是空的)。公式要么用大白话讲、要么标成「补充(不在书里)」。


一、全书主线:一根骨架,八次换零件,再工业化

这本书真正的主张(书里从没这样写出来,是我们读完全书归纳的):

在 PyTorch 里,任务与任务之间变的只有三个零件 —— 数据怎么摆成张量、网络里放什么层、输出层配哪个损失。 训练循环这根骨架从第 2 章到第 13 章一个字没改过。

链条走下来是这样的:

ch1 骨架的概念 预测 → 比对 → 调权重,重复 (还没有一行 PyTorch 训练代码)
ch2 骨架的代码 把这个循环写出来,并围它长出七道工序 ← 全书地基
↑ 从这里开始,后面每一章都只换那三个零件
ch3 换损失 输出 1 个数还是 N 个数 / BCE 还是 CE
ch4 换数据形状 表格 (N,F) → 图像 (N,C,H,W);换层:卷积 + 池化
ch5 换输入语义 离散 ID → 嵌入向量
ch6 换目标 目标不是标签,是输入自己
ch7 换数据结构 样本之间有边,不再互相独立
ch8 换切分规则 顺序是命脉,不许随机切
ch9 不训练 模型太大,只调 API + 深潜架构 ← 前言明说的例外
ch10 换起点 不从随机权重起步,从别人的权重起步
↓ 到这里八种任务讲完,骨架被抄了八遍 —— 于是问题变成「这段样板怎么办」
ch11 收编骨架 Lightning 把循环收走
ch12 观测骨架 循环自动了,剩下能做的只有「看清楚发生了什么」
ch13 送走模型 模型留在脚本里等于零 → 导出 → 起服务 → 上公网

两个位置要分清:

哪一章为什么
地基章ch2后面十一章全是它的变奏。ch2 没讲透,后面全是空中楼阁
真正的落点ch13它是这本书区别于另外两本 PyTorch 书的地方:训练→评估→监控→部署的闭环

判据自查: 只读上面这张图,能不能复述这本书?能 —— 它说的是 「深度学习的工程化不是学十种模型,是学一根循环,再学怎么把它交出去」。


二、伏笔与跨章暗线(不通读根本看不出来)

前四条是作者自己埋的,后六条是书里没连、但连起来价值最大的

作者埋的(要兑现)

#埋在哪揭在哪内容
F1ch2 §2.7.1 信息框(text/04-ch02-chapter-2.txt:1240,搜「Time series data」)ch8 §8.1.1(text/10-ch08-chapter-8.txt:30,搜「No random sampling」)「时序数据不能随机切,第 8 章讲」—— 兑现了
F2ch4 §4.2.2 ViT(text/06-ch04-chapter-4.txt:220,搜「backbone of language models」)ch9 §9.8(text/11-ch09-chapter-9.txt:1186)「transformer 怎么转,第 9 章讲」—— 兑现了(但见 G-A1:深潜停在半路)
F3ch4 §4.2.2 patch + positional embedding(:206)ch9 §9.8.3(text/11-ch09-chapter-9.txt:1332)位置信息怎么补进去 —— 兑现了
F4前言(text/02-fm-preface.txt:72,搜「parameter-efficient」)ch10 全章零命中「第 10 章讲 PEFT」—— 没兑现。 全书 grep:PEFT 只出现在前言,LoRA 一次都没有

书里没连、我们必须连的(这几条是拆解的价值所在)

#暗线两头在哪
F5ch2 立的规矩,ch8 自己破了。 ch2 说缩放参数只能用训练集算,否则数据泄漏;ch8 却把 MinMaxScaler 直接 fit_transform整条含测试段的序列text/04-ch02-chapter-2.txt:325(搜「only calculate the scaling parameters」) vs text/10-ch08-chapter-8.txt:257(搜「Xy_scaled = scaler.fit_transform」)
F6ch8 的 transformer 输了,ch9 给出了原因,而书没把这两句接起来。 ch8 的模型是 unsqueeze → Linear embedding → TransformerEncoder → fc,没有位置编码;而 ch9 §9.8.3 正好说位置编码是保序的唯一手段。ch8 只把输给 LSTM(RMSE 0.11 vs 0.08)归因于数据太小text/10-ch08-chapter-8.txt:642(搜「x = self.embedding(x)」) vs text/11-ch09-chapter-9.txt:1333(搜「crucial technique for preserving the order」)
F7「冻结」在两章里是两件事。 ch4 §4.6 风格迁移冻住全部权重、改的是输入图像;ch10 §10.2.2 特征提取冻住主干、改的是分类头。书从不对照,读者会以为是同一招text/06-ch04-chapter-4.txt:2194(搜「the weights are frozen and the target value」) vs text/12-ch10-chapter-10.txt:169(搜「convolutional bases」)
F8「加权求和」是全书四个地方的同一件事,书从不点破。 ch4 ViT patch 注意力 / ch7 GAT 给邻居学权重 / ch8 self-attention 给时刻学权重 / ch9 self-attention 给词学权重text/09-ch07-chapter-7.txt:486(搜「learns an individual weighting」) 与 text/11-ch09-chapter-9.txt:1341(搜「similarity of word embeddings」)
F9嵌入出现两次,书不回指。 ch5 把用户/商品 ID 学成 32 维向量,ch9 §9.8.2 讲词嵌入,机制同一个text/07-ch05-chapter-5.txt:283(搜「Embedding is a technique」) vs text/11-ch09-chapter-9.txt:1270
F10一个 bug 走了三章。 ch3 立规矩「用 BCEWithLogitsLoss 就不加 sigmoid,输出是 logits」→ ch4 却把 logits 当概率、拿 0.5 卡阈值 → ch13 的 API 终于补上 sigmoid,但类别映射照旧反着,于是给它一张松饼图,它回答 chihuahua 0.697,书没吭声text/05-ch03-chapter-3.txt:439text/06-ch04-chapter-4.txt:743:749text/15-ch13-chapter-13.txt:232:647

F6 和 F10 是这本书里最有讲头的两条。 建议在总纲的主线里各留一句钩子,在对应章兑现。

另有一处「用了才讲」: ch4 §4.4.3 就在用 MLFLOW_TRACKING_URI (text/06-ch04-chapter-4.txt:1607),而 MLflow 是什么要到 ch12 §12.2 才讲 —— 中间隔了八章, 书里一句提示都没有。我们的 05 章讲到这里必须当场解释一句,或干脆略过这行环境变量。


三、章节切分复核:12 章成立,但建议改成 13 章

notes/01-outline.md 那份 12 章切分我逐条核过,主体成立,尤其:

  • 原书 ch4(126.7k,占全书 21%)拆成我们的 04/05 是对的。 缝就在 §4.3 和 §4.4 之间: 前半是「整图贴一个标签」,后半是「细到框、细到像素、细到不改权重只改图」。 新词密度也支持:前半约 12 个承重词(张量维度/卷积核/特征图/池化/数据增强/BatchNorm/ Dropout/展平/F1/macro avg/support/ImageFolder),后半约 14 个(bounding box/两阶段/单阶段/ YOLO/置信度/NMS/Pascal VOC/COCO/IoU/mAP50/encoder-decoder/U-Net/分割掩码/Gram 矩阵)。
  • 原书 ch9 用一章装得下,但见下面的调整。

三条建议(交给写大纲的人裁决)

建议 1(强烈):把原方案的第 12 章拆成两章 —— 变成 13 章。

原方案把原书 ch11+ch12+ch13 合成一章。这三章合计 94k 字符,承重词是三族互不相干的工具名:

个数
LightningLightningModule / LightningDataModule / training_step / configure_optimizers / Trainer / callback / checkpoint / early stopping / patience9
观测event file / SummaryWriter / scalar / add_graph / artifact / run / experiment / model registry / sweep / grid search10
部署CI/CD / REST API / gRPC / GraphQL / endpoint / ONNX / ASGI / uvicorn / Procfile / resource group / function app / HTTP trigger12

31 个生面孔挤一章。 就算摊到 7 节也接近节级上限,而且读者要同时端着三套互不相干的工具。 更实际的理由:部署是这本书区别于另外两本 PyTorch 书的唯一地方,不该被压成半章。

建议切成: 12「把循环交出去,把过程记下来」(原书 ch11 + ch12)—— 一条线:循环是样板 → 交给 Lightning → 交出去之后只剩「看」→ 三件套各管一段; 13「让模型走出脚本」(原书 ch13)—— 一条线:模型留在脚本里等于零 → 换成通用格式(ONNX) → 包成能被 HTTP 叫醒的服务 → 推上公网。

建议 2:第 10 章(原书 ch9)的第 6 节要拆成两节。 原方案的 10-s6「Transformer 深潜」一节要装 tokenization / 词嵌入 / 位置编码 / self-attention / multihead 正好 5 个,已经顶到节级上限,而我们还得补上书里完全没有的 Q/K/V(见缺口 A1)。 建议拆成 s6「一句话怎么变成一串向量」(切词 → token ID → 词嵌入 → 位置编码) 和 s7「每个词去看别的词」(自注意力 → Q/K/V → 多头)。

建议 3:第 01 章的第 1 节要减负。 现有正文 01-how-deep-learning-works.md:23 那一节 一口气引了监督/无监督/强化学习/标注/机器学习/神经网络 6 个,超节级上限(--quota 已报)。 按标准「超了永远是拆,不是砍」:把学习方式那三种整节挪出去,或者只留监督学习、其余留到需要时再讲。

保留原方案不动的部分: 01–11 的章界、每章的节序、以及那份「进来时以为 → 出去时知道」的自查。


四、缺口清单:书没讲透 / 讲错 / 已过时的地方

A. 机制讲了一半(这类最要命 —— 不补,读者读完仍然不会)

#缺口书讲到哪儿为止怎么补
A1注意力的 Q/K/V 从头到尾没解释。 图 9.12 把「Q V K」三个框画在最上面,正文一个字没提查询/键/值是什么、权重怎么算(缩放点积 + softmax)。整章号称「deep dive」,停在「它算出 it 指的是 pizza」text/11-ch09-chapter-9.txt:1193(图里有 Q V K)、:1340:1408(正文全文)书架现成: book=dive-into-deep-learning §12-attentionbook=happy-llm §02-attentionbook=building-large-language-models-from-scratch §07-attention-blockbook=little-book-of-deep-learning §08-attention
A2语言模型是怎么训出来的,全书没讲。 ch1 §1.2 一句「self-supervised」带过,ch9 直接从「拿 API key」开始。读者学会了调,不知道它当初在学什么text/03-ch01-chapter-1.txt:135(搜「self-supervised learning」)书架现成: book=hands-on-large-language-models §03-inside-transformerbook=what-is-chatgpt-doingbook=build-large-language-model
A3Adam 从第 2 章用到第 12 章,从没解释它做了什么。 只有 ch1 §1.9.2 一句「很多优化器用自适应学习率」text/03-ch01-chapter-1.txt:540(搜「adaptive learning rates」)书架现成 + 论文: book=dive-into-deep-learning §14-optimizationbook=little-book-of-deep-learning §04-gradient-descent-backprop(均已引 Kingma & Ba 2014)
A4ch5 的理论和代码不是一回事。 §5.1.2 讲矩阵分解(两个矩阵相乘近似原矩阵),§5.2.2 的代码却是「两个 32 维嵌入拼接 → 一个 Linear(64,1)」—— 不是点积,不是矩阵分解。书从不说明text/07-ch05-chapter-5.txt:90(理论) vs :315(代码)我们自己讲清「为什么这两件事不等价」;书架参考 book=shen-du-xue-xi-quan-shubook=dive-into-deep-learning
A5ch5 的推荐结果是错的,书没诊断。 用户 2 喜欢街霸 / FF13 / 老滚 5,推给他四部《Football Manager》。原因在数据准备里就能看见:steam-200k 每条记录有 purchase 和 play 两种行,书的列名把两者塞进同一个 behavior 列,于是 19.9 万行里 17.46 万行的 rating 都是 1。书把这个数印出来了,评语是「hardly surprising」text/07-ch05-chapter-5.txt:144(列名) · :189(1 占 174590) · :741(推荐结果)我们自己诊断。这是这本书最好的一处「照实写」素材
A6全书零文献。 从头到尾没有一篇论文被引用(grep 核过:Vaswani / Hochreiter / Gatys / Ronneberger / Redmon / Veličković / Kingma / Ioffe / Srivastava / Simonyan 全部零命中;全书唯一一条脚注是 ch8 那张 LSTM 图的维基共享资源署名)。每个机制都是「凭空出现」text/10-ch08-chapter-8.txt:136(全书唯一脚注)见下面 B 表

B. 该补的来历(全部能从我们自己的书架取,不必上网)

机制书里第几章该补的出处我们书架哪一篇已经核过
Transformerch4 §4.2.2 / ch8 §8.1.5 / ch9 §9.8《Attention Is All You Need》,Vaswani 等八人,2017-06-12,arXiv:1706.03762book=hands-on-large-language-models §01-two-branches(第 313 行,带 URL 与查阅日期)
LSTMch8 §8.1.3Hochreiter & Schmidhuber, 1997book=deep-learning-crash-course §09-rnnbook=deep-learning-with-python-2e §10-rnn-timeseries
BatchNorm 的解释已被推翻ch4 §4.3.2 信息框书把原因说成 internal covariate shift(「脚下地毯被抽」),这是 Ioffe & Szegedy 2015 的原始说法;Santurkar 等 2018 与 Bjorck 等 2018 证明 ICS 不是真正原因,真正的作用是让优化地形变平滑。这是标准的「书出版后被修正的说法」—— 而且修正比这本书早了八年book=nndl-2e §18-init-preprocess-normalization(第 161、335 行,已引 Bjorck / Santurkar)、book=little-book-of-deep-learning §07-layers-for-trainability
Dropoutch4 §4.3.2 信息框Srivastava 等, JMLR 2014book=little-book-of-deep-learning §07-layers-for-trainabilitybook=dive-into-deep-learning §06-mlp
U-Netch4 §4.5.1Ronneberger, Fischer & Brox, MICCAI 2015(为生物医学图像分割提出)book=deep-learning-crash-course §07-u-net
YOLOch4 §4.4.1Redmon 等, CVPR 2016。另注:书里画的架构图(448×448、7×7×30)是 YOLOv1,代码用的是 yolov8n.pt,中间隔了 7 代,书没提book=shen-du-xue-xi-quan-shu §08-object-detection
风格迁移 / Gram 矩阵ch4 §4.6Gatys, Ecker & Bethge, 2015/2016book=deep-learning-with-python-2e §12-generative
VGG19ch4 §4.6Simonyan & Zisserman, 2014book=deep-learning-with-python-2e §08-convnets
GATch7 §7.3Veličković 等, ICLR 2018。并且书把名字说错了(见 D8)book=nndl-2e §24-classic-gnn(第 356 行)
VAE / 重参数化ch6 §6.3–6.4Kingma & Welling, ICLR 2014《Auto-Encoding Variational Bayes》book=deep-learning-crash-course §06-encoder-decoderbook=python-shen-du-xue-xi-pytorch §08-generative-vae-ganbook=deep-learning-with-python-2e §12-generative
Adam全书Kingma & Ba, ICLR 2015见 A3
DenseNet-121ch10 §10.3Huang 等, CVPR 2017需要时补;优先级低
Cora 的 140/500/1000 划分ch7 §7.3Planetoid 划分,Yang 等 2016需要时补;优先级低

规矩:上面每一条都优先走 ② 类(书架锚 shelf= / book= + 事实=), 只有书架上确实没有的才上网,上网必须带查阅日期。一次只抓一个,同一地址失败两次立刻换源。

C. API / 生态已经或即将过时(写的时候要标出来)

#书里怎么写现在的情况
C1models.densenet121(pretrained=True)(ch10 §10.3.2)、models.vgg19(pretrained=True)(ch4 §4.6.2)torchvision 0.13(2022)起 pretrained= 已废弃,现在用 weights=动笔前用书架里的 torchvision 源码或官方文档核一次再写
C2import pytorch_lightning as pl(ch11)与 import lightning.pytorch as pl(ch8 §8.3.1)同一本书里两种写法两个包名并存,新代码用后者。值得用一句话点明,免得读者照抄第一种后装错包
C3GemmaTokenizer / GemmaForSequenceClassification 加载 google/gemma-3-270m-it(ch10 §10.4.1)Gemma 3 在 transformers 里有自己的 Gemma3* 类。书里用的是 Gemma 1 代的类去加载 3 代权重,能不能跑通存疑 —— 写之前必须核,核不到就不写这一句
C4ch9 §9.1 的模型光谱、§9.3.1 的 LMArena 截图(标注 2025-11-09)这是一个有日期的快照,不是现状。我们写的时候必须原样标成快照,不许说成「目前最强的是……」
C5Heroku「每次运行只花几美分,但要绑支付方式」(ch13 §13.3)与 2022 年 11 月免费层取消后的现状一致,书写对了。仍建议带查阅日期

D. 书里讲错 / 自相矛盾的地方(这些要写进「边界与局限」,并配判断块)

规矩:每一条都必须写成「书里是这么说的,我们认为它错在哪,如果我们错了会错在哪」, 不许写成「书错了」四个字了事。

#位置书里怎么说问题
D1text/05-ch03-chapter-3.txt:66(搜「didn't predict a tsunami」)「True positive:模型没有预测海啸,而且它对了」这是 TN 的定义。TP 被定义错了。(同页的 TN 定义又是对的,所以是笔误不是理解错;但读者照着背会全错)
D2text/05-ch03-chapter-3.txt:461(搜「as the optim」)「输出层不显式激活,因为优化器在内部替它做了 sigmoid」做这件事的是损失函数(BCEWithLogitsLoss),不是优化器
D3text/04-ch02-chapter-2.txt:1149model = LinearRegression(37, 1)同一份数据前面算出来是 30 个特征,这里写 37
D4text/06-ch04-chapter-4.txt:743:749「此时预测还是概率(0 到 1 之间的值)」,然后拿 0.5 卡阈值模型用 BCEWithLogitsLoss,输出是 logits(−∞~+∞),不是概率。要卡也该卡 0
D5text/06-ch04-chapter-4.txt:749text/15-ch13-chapter-13.txt:232'chihuahua' if 输出 > 阈值 else 'muffin'test_dataset.classes['chihuahua','muffin'],索引 0 是吉娃娃、1 是松饼,输出越大应该是松饼。映射反了,而且反到了 ch13 的线上 API 里 —— text/15-ch13-chapter-13.txt:647 那次 curl 拿松饼图问,答的是 chihuahua 0.697,书对此一字未评
D6text/06-ch04-chapter-4.txt:1663目标检测的四格里列了 True negative目标检测没有 TN(你没法枚举「没有框的地方」),这正是这一行要用 mAP 而不是 accuracy 的原因。书列了 TN 然后再也没用过它
D7text/06-ch04-chapter-4.txt:2440:2444calc_gram_matrix 函数体没有 return 同一节还有两处对不上:正文定义的是 STYLE_LOSS_LAYERS(:2382),函数里用的是 LOSS_LAYERS;超参写的是 vgg_mean(:2278),预处理里用的是 VGG_MEAN
D8text/09-ch07-chapter-7.txt:483(搜「graph attention transformer」)「我们在搭一个 graph attention transformer(GAT)」GAT 是 Graph Attention Network。下一句说 GATConv「用 transformer 式的方法实现消息传递」也容易误导 —— GAT(2018)不是从 transformer 派生的
D9text/10-ch08-chapter-8.txt:257Xy_scaled = scaler.fit_transform(...) 在切分之前,对整条含测试段的序列做数据泄漏,而且违反 ch2 §2.1.5 自己立的规矩(见 F5)
D10text/10-ch08-chapter-8.txt:989「像 TFT 这样的模型对这里用的这种极小的单变量数据集很强大与紧邻的上一句(模型复杂度要配数据复杂度)和观察到的系统性低估正好相反,极可能是漏了 too / not 的翻译事故。不许当成作者的立场引用,要写「这句话在英文原文里自相矛盾」
D11text/11-ch09-chapter-9.txt:1306 vs :1316正文说人是 [2, 2],表 9.1 里写 Human [4, 2]表和正文对不上,而且图 9.14 里人画在 2 条腿的位置
D12text/11-ch09-chapter-9.txt:42 vs :47正文写 Claude Sonnet 4.5,图 9.1 里写 Claude Opus 4.1 / Claude Sonnet 4.0同一页两套型号名
D13text/11-ch09-chapter-9.txt:1010「我们扩展第 1.6 节的提示模板」应该是 §9.5
D14text/12-ch10-chapter-10.txt:254微调时 LEARNING_RATE = 0.01(Adam)§10.2.2 自己刚说过全量微调要用 1e-5 量级。用 0.01 训分类头,10 轮只到 76%,书评语是「短时间内训出了一个可用模型」,没把这两件事连起来
D15text/12-ch10-chapter-10.txt:459for batch: dummy_clf.fit(X_batch, y_batch)dummy 基线在每个 batch 里重新拟合,得到的 27% 不是「整个测试集上瞎猜的成绩」
D16text/14-ch12-chapter-12.txt:697sweep_run()for epoch in range(EPOCHS)这个 sweep 什么也没扫。 函数读的是模块级的 EPOCHSconfig,不是 wandb.config,所以 2×2×2 八个格点跑出来是同一套超参
D17text/03-ch01-chapter-1.txt:156「降维的目标变量是类别型的」降维没有目标变量(书自己在同一段说它属于无监督学习)
D18text/06-ch04-chapter-4.txt:858fingers 多分类的脚本路径写成 010_BinaryImageClassification\binary_img_classification.py和上一节二分类的路径一模一样
D19text/04-ch02-chapter-2.txt:579(搜「achieves an R2 value of 0.65」)「我们的第一个模型 R² 是 0.65」这个 0.65 是在训练数据自己身上算的(切分要到 §2.7 才出现),不能读作模型质量。书没说
D20text/07-ch05-chapter-5.txt:69协同过滤的算力与内存需求随用户数「呈指数增长」不是指数

注意:D1–D20 一条都不许写成「这本书不行」。 这本书的正文讲解是清楚的, 这些多数是排版/校对事故(公式是图、代码块被重排)。写「边界」那一节时, 先说这本书对什么,再说这几处照抄会踩的坑,并且每一条都给行号让人能自己去看

E. 这本书不覆盖什么(书卡 notCovered 的依据,已 grep 核过)

全书零命中的: RAG / 检索增强、工具调用、agent(只在强化学习定义和 wandb.agent 里出现过)、 MCP、GAN、扩散模型、LayerNorm、残差连接 / ResNet / skip connection、量化、Kubernetes、 LoRA、注意力的 Q/K/V 计算式。

只提了名字没展开的: 强化学习(ch1 一段)、蒸馏(ch10 一句)、Docker(ch13 一句)、 ARIMA(ch8 一句)、单元测试(ch13 一句)、交叉验证(ch2 §2.7.2 讲了但明说「本书后面不再用」)、 多标签分类(ch3 §3.1 讲了概念,ch4 §4.3 明说不给代码)。

结构性不覆盖的: 从零训练语言模型(前言明说不做)、数学推导(公式全是图片)、 数据标注实务(Label Studio 只演示了界面)、模型安全 / 对齐 / 评测基准、分布式训练细节。


五、每章的主走查素材(带真数字,可直接用)

我们的章主走查关键数(全部来自原书)
01y = 3x + 2 拟合w −0.9095 → 3.0030,b −0.0187 → 1.9810,loss 0.2662 → 0.0001,1000 轮 lr 0.01
02anxiety 11000×19one-hot 后 19 → 31 列,X(11000,30),100 轮 loss 19.94 → 1.57,R² 0.65
0310 个点过阈值FP FP FP TN TN TN TP TP FN FN → 矩阵 TP2/FN2/FP3/TN3;入侵检测 8846×10 → 96.8% vs dummy 90.2%;多分类 97.4%(误差 2.6% vs 10%)
045×5 输入 × 3×3 边缘核特征图 [[3,−3,−1],[−2,3,−3],[−3,2,3]],2×2 最大池化 → [[4,3],[3,3]];维度链 [BS,1,32,32]→[BS,6,30,30]→[BS,6,15,15]→[BS,16,13,13]→[BS,16,6,6]→[BS,576];79.9% vs dummy 50.2%;fingers 99.94% vs 16.67%
05检测 → 分割 → 风格迁移sheep 3609/350/174 张,YOLO 三步;IoU 0.1 / 0.5 / 0.9;洪水 232/58 张但每张 128×128=16384 个目标值;风格迁移 500 轮、STYLE_WEIGHT 2000000 : CONTENT_WEIGHT 1
06Steam 用户 212393 用户 × 5155 游戏,嵌入 32 维;Recall@5 0.0224 → Recall@50 0.4019,Precision@5 0.0058;推荐结果是错的(见 A5)
07一张 MNIST 图784 像素 → 16 维(压到 2%),12 轮 train 0.1127 → 0.0384;VAE z = μ + σ·ε → 生成 16 个新数字
08节点 B 收邻居消息5 人图、7 条边、3 维特征;Cora 2708 节点 / 1433 特征 / 7 类 / 10556 边、train 140 张标注 → test 82.10% vs dummy 31.90%(train 100% / val 79.6% = 过拟合迹象)
09flights 144 个月滑窗 seq_len=10 → X(134,10,1);切在倒数第 12 个月;LSTM RMSE 0.08 / MAPE 8.79%,CNN 0.09 / 11.49%,Transformer 0.11 / 12.12%
10「it」指谁「The man ate the pizza because it smelled delicious」→ bert-base-uncased 末层平均注意力;「PyTorch」→「Py」+「Torch」,token ID 37863 / 162709;「mars, botanik」→ The Martian JSON;温度 0.1 / 0.5 / 20 三张分布图;top-p 0.9:movie 0.5 + game 0.3 = 0.8 停,加 restaurant 就 0.91 超线
11DenseNet-121 换头ImageNet 100 万图 1000 类 → 冻结全部 → classifier = Linear(1024, 6);垃圾六分类 76% vs dummy 27%;Gemma-3-270m(GPT-5 的千分之一)2 轮 → 95.6% vs 多数类 50.5%
12(建议)anxiety 的 Lightning 版31 个可训练参数、18 个 batch;checkpoint 存 epoch 02/04/07;EarlyStopping patience=3 在第 4 轮停(上限 10);FashionMNIST 70000 张 10 类;sweep 2×2×2 网格(但见 D16)
13(建议)松饼 vs 吉娃娃上公网ONNX opset 12、输入 (1,1,32,32);预处理 32×32 灰度 → /255 → (x−0.5)/0.5 → 两次 expand_dims;本地 8000 端口 → Heroku → Azure(512MB、Python 3.12、Germany West Central);维基吉娃娃图 86%;松饼图 0.697 判成吉娃娃(D5)

口径提醒:上面每个数都是书里给的,可以直接引。 为演示自己编的数(比如注意力打分的 0.5 / 0.05 / 0.02),必须当场写明「这些数是为演示编的,不是真实数值」。


六、给写大纲的人的五条注意事项

  1. 公式一个字都没有(全是图片,提取后是空行)。不许给公式配行号出处。
  2. 章名没有信息量(全是「Chapter 1」)。出处只能写成「第 N 章」+ 段号 + 搜索短语, 短语必须是原文真实存在的字 —— 我上面每一条都给了可搜的短语,照抄即可。
  3. book-dodged 现在报 8 个词被躲开(token / API / LLM / CNN / Transformer / dropout / GPT / logits)—— 这是因为现在只写了 01、02 两章,这 8 个词全部落在 04–12 章。 不是问题,是进度。 写完对应章会自动消。
  4. book-verify 现在 127 处出处、0 处对不上。 保持住。
  5. index.md 现在还是 book-build 自动生成的那张索引页(readState: unreadessence: 待填)。 写总纲时要整页重写并加 handwritten: true,否则下次 book-build 会把它覆盖掉。