跳到主要内容

大纲 — shen-du-xue-xi-quan-shu(14 章)

切分原则:与原书 15 章对齐,做三处调整: ①原书 ch1(导论)与 ch2 前半(线代/微积分)合并为我的 01——第一篇扉页第 5 问 「为什么要先学数学与统计,才能学好深度学习?」正由这一合并回答,导论讲完「为什么」紧接着上第一堂数学课; ②原书 4-8「超参数调校」从 ch4 挪到我的 05(训练工程学),它与回调/TensorBoard 同属「训练时用的工具」; ③原书 ch13(聊天机器人)+ch14(语音识别)合并——第四篇扉页本来就把两者串成一条链 (STT→NLU→NLG/TTS),聊天机器人正是语音的消费方。 每章一条主走查,拿原书里真实跑出来的数字走通。

自查记录:初稿曾把 ch4 拆成「MNIST 十步」与「零件表」两章,自查发现两章的 「出去时知道」都是「每个旋钮(层数/神经元数/激活/损失/优化器/指标)对准确率的影响」—— 同一件事,合并回一章(04)。

01 三波浪潮、学习地图与数学入门(ch1 + ch2 的 2-2~2-3)

  • 进来时以为:AI 是这两三年才火的新东西 → 出去时知道:这是第三波,前两波各烧了十余年死于钱和硬件;这一波靠四根柱子(由下往上/硬件/算法/数据),作者据此赌它短期不会寒冬。
  • 进来时以为:AI、机器学习、深度学习是三个可以互换的词 → 出去时知道:是三层包含关系 AI⊃ML⊃DL,「深度」专指多层架构;开发流程十步里「切分训练/测试数据」是为了公正性,且模型吃新数据反复再训练——与一般系统开发的本质差异(十步在第 04 章的 MNIST 实践里全程落地)。
  • 进来时以为:数学是门槛,能绕就绕 → 出去时知道:四门学科正好对应神经网络求解的四个环节(线代算误差/偏微分算梯度/统计定损失/规划找最优),绕不开,但作者的快捷方式是用程序代替证明来学。
  • 进来时以为:向量和矩阵是行列数不同的表格 → 出去时知道:它们是同一族(张量)的低维特例;关键运算是内积;矩阵乘法 (m,k)×(k,n) 的左上角=逐元素乘再求和(1×9+2×7+3×5=38);A×B≠B×A。
  • 进来时以为:解联立方程要消元 → 出去时知道:写成 AX=B 后 X=A⁻¹B 一步出解(x=10,y=6);前提是「非奇异」,两行成倍数就没有反矩阵。
  • 进来时以为:微分就是背求导公式 → 出去时知道:微分的本质是变化率;最大最小值发生在斜率=0 处(−10x²+100x+5 在 x=5 取最大值 255);二阶导定号定凹凸,三次以上斜率 0 可能只是局部最优;多变量就轮流偏微分得梯度,梯度下降=沿梯度反方向小步走(x 新=x−学习率×梯度),学习率太大会跳过最小值(0.9)、太小会提前停(0.01)。

02 概率统计与神经网络求解(ch2 的 2-4~2-7)

  • 进来时以为:统计就是算平均数 → 出去时知道:先分清母体/样本与数据类型(名义→One-Hot,有序→按序编码);中位数抗离群值(500 改 50000,均值从 300 飙到 10200,中位数不动);「准确率高=模型好」的陷阱留给第 04 章的混淆矩阵展开(不平衡数据的故障设备悖论)。
  • 进来时以为:概率靠背公式 → 出去时知道:排列管顺序、组合不管(10 球抽 3 排列 720);二项分布=p 的组合数加权(0.4 掷三次:0.216/0.432/0.288/0.064);彩票期望真能算(今彩 539 平均回报率 −44.16%)。
  • 进来时以为:假设检定是玄学 → 出去时知道:只问「样本统计量落不落进 95% 置信区间」(特朗普 190cm 落在 (165.99,193.49) 内→不显著);中心极限定理保证这条路对任何分布都通(均值的标准误差=σ/√n)。
  • 进来时以为:线性规划是运筹学的事 → 出去时知道:pulp 解 max 3x+2y 得 x=20,y=60,z=180,最优在可行域顶点;但深度学习变量几百个、顶点法失效,只能用优化逼近——这正是梯度下降的舞台。
  • 进来时以为:OLS 和 MLE 是两个高深算法 → 出去时知道:它们是估参数的两把通用刀——OLS 最小化误差平方和(矩阵形式推出正规方程),MLE 最大化「看到手数据」的概率(取对数再求导);都归结为「令一阶导=0」。
  • 进来时以为:神经网络求解是新知识 → 出去时知道:它就是「OLS 逼近版」:正向算损失(MSE)、反向用链式法则求梯度、按 W←W−学习率×梯度更新;f(x)=x² 从 5 出发的损失序列 5→2→0.8→0.32→… 就是缩影;学习率过大直接溢位(2x⁴−3x²−20 在 lr=0.3 报 Result too large,0.001+15000 轮才到 x=0.51)。

03 TensorFlow 三件套:张量、自动微分、神经层(ch3)

  • 进来时以为:框架只是「能跑的库」 → 出去时知道:深度学习框架的存在理由就是三件事——张量运算、自动微分、神经层;理解这三件就理解所有框架的公共骨架;TF 2.x 默认 Eager Execution,Keras 独立框架已停止升级。
  • 进来时以为:GPU 一定比 CPU 快 → 出去时知道:首次执行 GPU 反而慢(311ms vs 64ms,暖机),多次后 GPU 1ms vs CPU 58ms;TF 自动搬数据,PyTorch 要手动搬。
  • 进来时以为:求导要自己推公式 → 出去时知道:GradientTape 自动微分,f(x)=x² 在 x=3 处 f′=6、二阶导=2、z=x⁴ 处 dz/dx=108;反向传导由此变成几行代码,简单线性回归解出 w=0.9464、b=0.0326。
  • 进来时以为:神经层是黑魔法 → 出去时知道:一个 Dense 层就是 y=wx+b;用它拟合华氏摄氏换算,训练后学到的 w=1.8000、b=31.9999,正是公式 F=C×9/5+32——网络自己「发现」了公式(本章主走查);隐藏层 ≥2 层才称深度学习(书中口径)。

04 第一个神经网络:MNIST 与全部零件(ch4:4-1~4-7)

  • 进来时以为:神经网络程序又长又难 → 出去时知道:官网十多行程序准确率 97~98%;照十步流程写完整版(Flatten 784→Dense 128→Dropout 0.2→Dense 10+Softmax),evaluate 得 loss=0.0833、accuracy=0.9743;参数个数能手算(输出层 1290=10×(128+1));第 9 张测试图 5 和 6 概率相近,可设 0.8 门槛拒绝模棱两可。
  • 进来时以为:层数越多、神经元越多越准 → 出去时知道:实测加一层微降(0.9733)、128→256 微升(0.9764),书中引的实验显示都有极限,超过不升反降;神经网络至今是黑箱,结构只能 case by case 实验。
  • 进来时以为:激活函数只是「加点非线性」 → 出去时知道:ReLU(隐藏层标配;alpha=0.01 即 Leaky ReLU)、sigmoid(01,二分类)、tanh(−11)、softmax(转概率和为 1)各有阵地;sigmoid 实测略逊 ReLU(0.9762)。
  • 进来时以为:损失函数就是 MSE → 出去时知道:分类用交叉熵(两笔数据手验 BinaryCrossentropy=0.8149);Sparse 版吃整数标签省 One-Hot;Hinge 服务 SVM(单边损失);自定义损失是后面风格转换与 GAN 的伏笔。
  • 进来时以为:优化器随便选 → 出去时知道:按更新时机分批量/单样本/小批量三种;动能让远处迈大步近处迈小步;Adam 是默认安全牌(同一问题 SGD 50 步 vs Adam 10 步收敛);优化器影响收敛速度不是上限。
  • 进来时以为:准确率一个数就够 → 出去时知道:混淆矩阵出发的 Precision/Recall/F1;8 笔数据 TP=3/FP=1/TN=2/FN=2 → acc 0.625、precision 0.75、recall 0.6;不平衡数据看故障设备悖论(详见 02 章,此处引它入正题)。

05 训练工程学:调参、回调、可视化、部署与数据管线(原书 4-8 + ch5)

  • 进来时以为:调参靠手感一个一个试 → 出去时知道:Keras Tuner 的 Hyperband 自动跑组合(最佳 Dense=160、lr=0.001);深度学习是黑箱+高维联合分布不熟,唯有大量实验,省时间的工具就是生产力。
  • 进来时以为:训练只能等它跑完 → 出去时知道:Callback 往训练过程埋事件——EarlyStopping 连续 3 轮没改善就停(预计 20 实际 12 轮),ModelCheckpoint 断点续训(0.9859→0.9902),自定义 Callback 能逐批记录损失、顺手当调试器(抓 NaN)。
  • 进来时以为:模型好不好只能看最后分数 → 出去时知道:TensorBoard 实时看曲线/运算图/权重直方图(histogram_freq=1)/词嵌入 3D 投影;逐批损失显示优化过程起起伏伏而非一路下降——「损失振荡」是常态不是故障。
  • 进来时以为:训练完就结束了 → 出去时知道:SavedModel 存结构+权重+compile+优化器状态(可断点续训);TF Serving 不写代码暴露 REST API(half_plus_two 模型:送 [1.0,2.0,5.0] 回 [2.5,3.0,4.5],本章主走查);Streamlit 几十行 Python 搭出识别网页。
  • 进来时以为:数据一次性读进内存 → 出去时知道:Dataset 逐批流式(map/filter/repeat/shard/batch),prefetch 让「读数据」与「训练」并行、cache 省重复读盘;TFRecord 二进制序列化跨平台。

06 卷积神经网络:把像素变成线条(ch6)

  • 进来时以为:神经网络直接吃像素天经地义 → 出去时知道:Dense 把 784 个像素当独立特征,而数字集中在中央、像素之间相关、人看轮廓——卷积层做的正是「特征工程」:滑窗乘积和把像素变成线条特征。
  • 进来时以为:卷积是高深运算 → 出去时知道:就是「裁切→对应相乘→加总→滑动」;同一套机制换滤波器就是模糊/锐化/边缘检测(Sobel 垂直线、水平线)——CNN 里滤波器不是人定的,是训练出来的。
  • 进来时以为:池化是另一层神秘操作 → 出去时知道:就是每个 2×2 窗口只留最大值(6、8 那两个数),尺寸砍半、特征保留;输出尺寸公式 W_out=(W−F+2P)/S+1 验算 (28−3+0)/1+1=26,卷积参数 32×(3×3×1+1)=320 全能手算。
  • 进来时以为:CNN 又大又慢 → 出去时知道:省参数靠两条——部分连接(只连滑窗内,感知域)与权重共享(同一滤波器扫全图);MNIST 换 CNN 准确率 0.9892;Cifar10 灰阶化后只有 32%、彩色 70%——颜色本身是特征。
  • 进来时以为:训练数据有多少用多少 → 出去时知道:数据增补(旋转/偏移/亮度…)把一张图变多张,MNIST 加增补后自绘的「9」从认不出变认得出(代价:训练 5s→12s);真实项目的瓶颈常在数据清理(第 09 章车牌案例:占项目 85% 时间)。
  • 进来时以为:黑箱没法解释 → 出去时知道:XAI 能看:重建卷积层输出(第 9 层还见线条,第 17 层抽象到认不出是鸟);SHAP 逐像素归因显示「中央是辨识重点」,与人类直觉一致。

07 预训练模型与迁移学习(ch7)

  • 进来时以为:100 层的模型离我很远 → 出去时知道:ImageNet 冠军史(AlexNet 2012 错误率降 10%+并引入 Dropout→VGG16/19→Inception 多尺寸核+BatchNorm→ResNet 2015 解 20 层以上退化)都是 Keras Applications 一行代码可下载的现成权重。
  • 进来时以为:预训练模型只能原样用 → 出去时知道:三种用法——整个模型辨 1000 类(大象正侧面照概率都在 0.6~0.7);砍掉顶层当特征提取器(cosine 相似度比对图像,最高 0.351 如预期命中);接自定义层做迁移学习。
  • 进来时以为:迁移学习很神秘 → 出去时知道:就是「前半段别人练好了,我只练最后的辨识层」;Flower 数据集上 ResNet152V2 训练 93.33%/验证 87.74%,且验证准确率随周期几乎不再涨——大部分层早就练好了;踩坑:输入尺寸要匹配(28×28 小图喂 224×224 模型会被放大到模糊)。
  • 进来时以为:BatchNorm 只是「归一化而已」 → 出去时知道:它治深层网络的 Internal Covariate Shift(层间分布漂移)与梯度消失/爆炸(Wⁿ,W<1 趋 0、W>1 趋 ∞);γ/β 是训练出来的;用了 BN 就不必再叠 Dropout(效果加乘会低度拟合)。

08 目标检测:从滑窗到 YOLO(ch8)

  • 进来时以为:辨识出「是什么」就够了 → 出去时知道:机器人翻煎饼得知道「在哪、翻哪张」——检测=分类+回归(类别+位置框);应用从自驾到无人商店结账。
  • 进来时以为:检测是深度学习专有的问题 → 出去时知道:最早的方案没有神经网络——滑窗+影像金字塔穷举,HOG 抓轮廓+分类器(SVM 人脸 98.77%,55 个合格窗口再用 NMS 剔到 2 个);Hard-negative Mining(把误检喂回去重训)的思路今天仍在用。
  • 进来时以为:R-CNN 系列是同一算法的不同名字 → 出去时知道:是一条「哪里耗时修哪里」的进化链——R-CNN(2000 候选框逐个过 CNN,8,192,000 个特征向量,40 多秒/张)→SPP-Net(一图一次 CNN)→Fast R-CNN(整图先提特征)→Faster R-CNN(区域推荐也换成网络 RPN+Anchor Box);Detectron2 实测三匹重叠斑马信赖度 0.9992/0.9986/0.9983。
  • 进来时以为:YOLO 的「快」是魔法 → 出去时知道:快是取舍——放弃区域推荐,K-Means 找常见尺寸 Anchor,图像划网格一次前向全出;作者的账:Faster R-CNN 检测一次车多开 12 英尺(1.5 车身),YOLO 只开 2 英尺(1/4 车身)。
  • 进来时以为:换自己的目标要重头训练 → 出去时知道:自定义数据集三件套——标注(LabelImg,类别 ID+中心坐标+宽高)、改 cfg(3 类时 max_batches=6000、filters=(3+5)×3=24)、显存不够 batch 64→16(实测气球概率只剩 0.31,疑与 batch 缩小有关);300 张图训练 6~8 小时,「要高性能 GPU,用金钱换时间」。
  • 进来时以为:模型效果还是看准确率 → 出去时知道:检测看 mAP(以 IoU 为阈值画精确率-召回率曲线取均值);算法是三角权衡——Faster R-CNN 准而慢、YOLO 快(早期牺牲精度)、边缘端还要轻量省内存。

09 影像进阶:分割、风格转换、人脸与文字(ch9)

  • 进来时以为:「辨识」和「生成」是两件事 → 出去时知道:AutoEncoder 用同一条架构把它们连起来——编码器提特征、译码器重建;噪声在瓶颈处被滤掉,于是能去噪;但异常点也会被滤掉,病灶检测不能用普通 AE(引出 U-Net 的跳跃连接)。
  • 进来时以为:分割就是把检测框画细一点 → 出去时知道:语义分割给每个像素上标签(两只狗同色),实例分割连同类个体也分开;U-Net 在编码器-译码器间架跳线,信息不因压缩丢失。
  • 进来时以为:风格转换是滤镜 → 出去时知道:本质是重新定义损失函数(兑现第 02 章的伏笔)——内容损失管「画的是什么」,风格损失管「用什么笔触」(Gram 矩阵=特征两两点积,度量「哪些特征同时出现」);α/β 调配比;美图砸约 2 亿人民币才把速度压到 3 秒——速度是商业模式。
  • 进来时以为:人脸识别是一个模型 → 出去时知道:是一条流水线——检测(Haar 滤波器「眼部比脸颊暗」→MTCNN 影像金字塔+P/R/O 三网络)→68 特征点→编码成向量比距离(比对结果 [True,True,True,False] 全对);识别(N 人找最像)与验证(和护照比对)是两个任务。
  • 进来时以为:OCR 是现成工具调一下就行 → 出去时知道:Tesseract 一行命令能识别发票,但车牌实战要走「灰阶→轮廓→四边形→仿射矫正→再 OCR」;镜头远近、地区字形都会翻车;与 Kaggle 的差距就在这些前置处理上(收集+整理占 85% 时间)。

10 GAN:伪钞制造者、警察与深度伪造(ch10)

  • 进来时以为:生成图像是画家的活 → 出去时知道:GAN 是两个网络互相逼——生成器造假钞、判别器当警察,判别器的反向传播顺手改良生成器;判别损失=「真的判真+假的判假」取 log 最大化;LeCun 称它是十年来最有意思的想法。
  • 进来时以为:GAN 是一个模型 → 出去时知道:是一个家族且演化脉络清晰——加条件变 CGAN(指定生成哪个数字)、生成器换 U-Net 变 Pix2Pix(成对转换)、两个 Pix2Pix 循环相接变 CycleGAN(非成对转换,x→G→F≈x 循环一致);改损失函数就能长出新算法。
  • 进来时以为:训练久=训练坏了 → 出去时知道:GAN 四大坑——图像模糊(回归取平均的宿命)、梯度消失(造假太差→判别全判假→梯度枯竭)、模式崩溃(只会做 500 元伪钞)、训练太久(名人脸 1 周期 2~3 小时,像样结果要 100 周期)。
  • 进来时以为:深度伪造离日常很远 → 出去时知道:BuzzFeed 2018 年的奥巴马假视频已震惊世人;技术上就是 CycleGAN+人脸特征点换脸,视频再加时间一致性(RecycleGAN);反制靠边缘模糊/噪声/对称性检查;作者以此收尾:技术必须兼顾伦理。

11 NLP 基础:从词袋到词向量(ch11)

  • 进来时以为:计算机「懂」文字 → 出去时知道:它只是先把文字变成向量;最朴素的词袋数词频就能猜文意(stores 15 次/convenience 14 次→韩国便利商店),但 only/most 这类「到处出现」的词捣乱——TF-IDF 用「跨文档常见就降权」修理。
  • 进来时以为:前置处理是杂活 → 出去时知道:分词、去停用词、词形还原每步都影响下游;Stemming 快而糙(his→hi 错),Lemmatization 慢而准;NLTK 不支持中文,jieba 有全模式/精确/搜索引擎三种分法,「三天三夜」要 add_word 才切得对。
  • 进来时以为:词向量就是给词编号 → 出去时知道:Word2Vec 用「上下文」定义词义——CBOW 拿上下文猜词、Skip-gram 拿词猜上下文(解一字多义);1000 亿类的 softmax 算不动,负样本抽样把多分类降成二分类;预训练模型上 king−man+woman=queen。
  • 进来时以为:GloVe 是 Word2Vec 的竞品、二选一 → 出去时知道:分歧只在「看多大窗口」——Word2Vec 只看移动窗口,GloVe 建全库共现矩阵;实战两者都给稠密向量,换库只是换文件格式(每行一词+300 个数)。
  • 进来时以为:预训练词向量无所不能 → 出去时知道:通用模型在特殊领域会打折(辛普生剧里 Bart 和 Nelson 相似度只有 0.5);Doc2Vec 比句子对 FAQ 够用,难题要等 BERT(下一章)。

12 从 RNN 到 BERT(ch12)

  • 进来时以为:神经网络各层独立 → 出去时知道:语言要记忆,RNN 把「上一时刻的隐藏状态」也当输入(h_t=W·h_{t-1}+U·x_t+b);Embedding 层是 RNN 系的第一层标配;IMDB 情绪分析 5 轮到 86.63%,但短句 "I like the movie" 测不出东西(影评都很长)。
  • 进来时以为:RNN 能记多久都行 → 出去时知道:权值共享让梯度带 W 的 n 次方——W<1 消失 W>1 爆炸,记不了长上下文;LSTM 加记忆线和遗忘/输入/更新/输出四个阀门;GRU 砍记忆线换速度,但作者实测与 LSTM 差异不明显。
  • 进来时以为:LSTM 堆得越深、特征取得越多越准 → 出去时知道:航空营收预测五种配置实测——单期 RMSE 47.63、三期特征 62.55、三层堆叠 86.85:数据简单时模型越复杂越差;串两层 LSTM 前层必须 return_sequences=True。
  • 进来时以为:LSTM 预测股价是热门正道 → 出去时知道:全量预测图「看起来很准」只是镜头拉远的错觉(移动窗口间画线造成);股价非稳态,预测 1 天准而无意义、预测 10 天不准——书里把网上最热闹的应用拆穿了。
  • 进来时以为:注意力是小补丁 → 出去时知道:它替换掉「按顺序排队读」这个根本约束——翻译时每个词直接看全句加权(Seq2Seq+Attention,热图对角线=逐词对应),为 Transformer 铺路。
  • 进来时以为:Transformer 只是更快的 RNN → 出去时知道:自注意力(Q 查 K、÷√d_k、softmax、加权 V,8 头并行)让训练彻底并行;例句「The animal didn't cross the street because it was too tired」里 it 被正确关联到 animal;BERT 用 MLM(15% 挖空)与 NSP 自监督预训练,bank 在两句里各归「岸边/银行」——一词一向量的时代结束。
  • 进来时以为:BERT 是另一个要训练的模型 → 出去时知道:Transformers 库三行代码调预训练模型:否定句情绪(don't hate→0.5 分的「不讨厌但非喜欢」)RNN 全错它全对;GPT-2 的 do_sample 开关=聊天机器人答得「一样/不一样」;GPT-3 已到 1750 亿参数;项目应用优先 BERT 系。

13 聊天机器人与语音识别(ch13+ch14)

  • 进来时以为:聊天机器人=Siri 那种全知聊天 → 出去时知道:企业要的是五类里的一种(闲聊/任务型/FAQ/检索/数据库),开工前先选对类别;对话管理两条路——FSM 按顺序问答(银行 IVR)vs 槽位填充(「我要订 3 月 21 日双人房」一句说完);微软 Tay 24 小时学会骂人被下架是活教材。
  • 进来时以为:做 ChatBot 要从零写模型 → 出去时知道:意图/实体/例句/行动这套术语几乎是业界标准,Dialogflow 把它做成产品(today 自动转日期、追问意图寿命 5 轮/2 轮、20 分钟重置;Webhook 履行连数据库);Rasa 用 yml 配置但「比较僵硬,需大量人力维护」。
  • 进来时以为:语音识别就是「听写字」 → 出去时知道:先过信号处理——取样(奈奎斯特定理:取样频率决定可重建的信号上限,电话 4kHz 对应 8kHz)、量化(8/16 位)、编码(PCM 家族);傅里叶变换把不规则波形拆成正弦波,时域转频域;MFCC 是深度学习之前的特征标配。
  • 进来时以为:深度学习在语音里取代了一切 → 出去时知道:经典管线仍是「特征→声学模型(GMM)→语言模型(HMM/n-gram)→解码搜索」;深度学习 2014 年才从「双向 LSTM+CTC」切入;识别以音素为目标(bat=/b/æ/t/,中文多声调)而非几万个词。
  • 进来时以为:识别准确率主要靠模型 → 出去时知道:实测打脸——曲风分类训练 99.89%/验证 52.50% 是过拟合,把每首歌切 10 段(数据量×10)后验证升到 69.44%;两个人的「happy」波形差异巨大(起音点不同),自录测试准确率差强人意——「建议自己收集训练数据」;文字/影像/语音是 AI 三大基石,这也是第三波不再入冬的地基(呼应第 01 章)。

14 强化学习:试错、奖励与最佳策略(ch15)

  • 进来时以为:强化学习是 2016 年 AlphaGo 之后的黑科技 → 出去时知道:理论底座(马尔可夫决策过程)几十年前就有,AlphaGo 只是让它出圈;它解决「没人给标准答案、只有奖励信号」的问题——训练狗接飞盘,不是教狗接飞盘;好处是不需要标注数据。
  • 进来时以为:奖励越大越好、每步都要贪 → 出去时知道:目标是长期累计报酬(下棋弃子诱敌);折扣因子 γ 让远期奖励打折(复利类比);状态值函数=从该状态出发的期望报酬;贝尔曼方程把「现在的价值」拆成「下一步奖励+下一步价值」。
  • 进来时以为:天气预测要用复杂模型 → 出去时知道:马尔可夫链两行就够——今天晴明天晴 0.8、今天雨明天晴 0.1;后天是晴的概率=0.8×0.8+0.2×0.1=0.66;「下一状态只依赖当前状态」就是马尔可夫性质(本章主走查第一站)。
  • 进来时以为:策略是拍脑袋定的 → 出去时知道:概率已知(环境明确)用动态规划:策略评估+策略改善循环,值迭代把两步合一;但围棋状态空间 3³⁶¹≈1.74×10¹⁷²,表格装不下也走不完——维数灾难。
  • 进来时以为:概率不知道就没法算 → 出去时知道:蒙特卡洛用随机模拟——一千万个随机点估出 π=3.1418028(真值 3.14159);21 点上配合 ε-greedy(每 10 步留 1 步探索,「别每次都去吃过那家餐厅」)胜率明显提升。
  • 进来时以为:学习必须「走完一盘再复盘」 → 出去时知道:时序差分(TD)边走边更新;SARSA(On-policy)与 Q-learning(Off-policy)之别=评估和改良用不用同一策略;两者与梯度下降在逻辑上是同一件事(书里画了对照图)。
  • 进来时以为:表格法就是强化学习的全部 → 出去时知道:表格只适合离散状态——木棒小车 4 个连续变量装不下,交给 Actor Critic(双网络分工,类似 GAN)763 回合达标;井字游戏自训 50000 回合后,作者「试了几回合,计算机获胜概率较大」。