跳到主要内容

只有一局打完的那个分 — 没有标签,训练信号自己造

这一章讲三件事: 没有标准答案的时候,机器凭什么还能学; 五个部件各是什么、在一个具体游戏里分别对应什么; 以及「这局玩得久」这么一个笼统的信号,怎么被拆成每一步的功过。 它在全书链条里的位置: 第 17 章已经不用人贴标签了, 但那一章的答案其实还在数据自己身上——把这张图还原出来,对不对当场就知道。 下棋不行。下棋连答案都没有,只有一局打完之后的一个分,而且常常来得很晚。

1. 先看这一章和前十七章的根本差别

书把这条界线画得很清楚,而且不止一条1:

前十七章(监督式学习)这一章(强化学习)
输入是什么一份贴好标签的数据集一个可以试的环境
目标是什么把输入映射成输出在环境里做一连串决定,把某个分数最大化
信息怎么流单向:输入决定输出,输出对输入毫无影响双向:你的动作会改变环境,环境再反过来给你信息
时间没有,或者只是一个普通的维度必不可少的基础维度——所有事都发生在一步接一步之中

第三行是本质差别,书自己是这么说的2:

监督式学习: 你看一张猫的照片 → 判它是猫 → **照片不会因为你的判断而改变**

强化学习: 你把车往左推一下 → **世界真的变了** →
下一步你面对的是一个被你自己改过的世界

图说:所以这一章要学的不是「一个映射」,是**「一套决策过程」**。

2. 五个部件,先摆清楚

这一节把术语一次交代完,后面全章只用这五个词3

名字它是什么在这一章那个游戏里是什么
智能体做事的那个,也是我们唯一能直接控制的东西我们要训的那个模型
环境它面对的世界一辆在一维轨道上跑的小车,上面立着一根杆
行为它每一步能做的选择只有两种:向左推一下、向右推一下(力的大小固定)
观察它每一步看得到的东西四个物理量:车的位置、车的速度、杆的倾角、杆的角速度
奖励做完之后世界给的分只要杆还立着,每一步给 1 分

再加一个词:从游戏开始到结束的这一整串时间步,叫一个回合(书说「一轮游戏」和「一个回合」是同义词)4

奖励是这一章的「损失」

书给了一个很好的定位:奖励在强化学习里的角色,和损失在监督式学习里的角色是一样的—— 它引导整个算法5但两者有三处不一样,而且每一处都要命:

损失(前十七章)奖励(这一章)
什么时候拿到每一次预测立刻就有可能要等很久——下棋要等一整局分完胜负
每一步的功过清楚:这一步答错了就是这一步的事不清楚:输了这一局,是哪一步的错?
方向越小越好越大越好

书还说明了奖励可正可负: 垃圾回收机器人把垃圾正确投进桶里给正分, 碰倒桶、撞到人、倒错地方给负分;负分可以理解成一种惩罚5但这一章那个倒立摆游戏里只有正分,没有负分——第 19 章才会有负分。

这个游戏的规则

书选的是一个 1983 年就有的老问题,它在控制系统工程领域的地位相当于手写数字识别之于监督式学习6:

一根杆立在一辆小车上,小车只能左右动。

你每一步能做的:向左推一下,或向右推一下。

什么时候结束:
① 车跑出了轨道两端的边界(相当于撞墙)
② 杆的倾角太大(相当于倒了)
③ **或者撑满 500 步——这是人为设的上限**,免得学得太好之后一局没完没了

分数:**每撑住一步得 1 分。** 所以撑得越久,总分越高。

图说:上限 500 步这一条要记住,**它是这一章「满分」的定义。**

3. 承重节:训练信号是自己造出来的

这一节是本章的地基。它要回答的问题只有一个:没有标签,梯度从哪儿来。

先看模型本身,它平淡无奇

输入四个物理量,输出一个数,决定往左推还是往右推。 书说它的结构和第 05 章那个二分类模型类似7——真的就是那么简单。

但有三处不一样,而且第三处很关键8:

差别说明
一局里模型被用很多次每一个时间步都要跑一次
输出的是对数值,不是概率它要再过一遍 sigmoid 才变成概率;这么设计是因为训练时用的是对数值
概率还要再掷一次骰子才变成动作拿到「向左推的概率是 0.62」之后,按这个概率随机抽一个

这个模型有个名字:策略网络。

为什么要掷骰子

这一步最容易被当成多此一举,而它恰恰是整章能转起来的前提。

你完全可以定个门槛:概率大于 0.5 就往左推。书问了这个问题,并给了答案9:

门槛法:模型现在觉得往左好,**它就永远往左** ——
**那些它没试过的做法,永远试不到。**

掷骰子:六成往左,四成往右 —— **偶尔会走出没走过的路。**

图说:而且这个随机是**自动收敛**的:
训练越深入,模型对某个动作越有信心,概率就越极端,骰子掷出来也就越确定[^9]。

书把这件事升格成了强化学习的一个经典命题10:

探索:随机地试,这是发现好做法的前提利用:做已知最优的那个,把奖励最大化。 两者不可兼得。 训练初期要多探索,找到好策略之后要收窄范围去打磨。

没有标签,那梯度算什么

这是全章最要紧的一步。书自己承认了这个困难:没有可用于训练模型做出正确决定的有标签数据集; 有的话直接调 fit() 就完了11

做法分三层,一层一层来:

第一层:**先假装这一步是对的,算出「让它更倾向于这么做」的方向。**

每一步,拿这一步实际掷出来的动作**当成标签**,
和模型输出的对数值比一比,算出损失,再求出梯度。

这个梯度的含义是:**「如果想让模型下次更倾向于做这个动作,权重该往哪挪」。**

⚠ 注意此刻我们**根本不知道这个动作好不好** —— 先算出来存着。

图说:书管这些梯度叫**策略梯度**[^12]。
第二层:**玩完一整局,再回头判功过。**

整局玩完,得到这一局的长度(也就是总分)。
**撑得久 → 这一局的动作大体是对的 → 把存下来的梯度按正方向用上。**
**很快就倒 → 这一局的动作大体是错的 → 反过来用。**

图说:这就是「训练信号自己造」的全部含义 ——
**信号不是别人给的,是从「这局撑了多久」里挤出来的。**

这套算法有名字,叫 REINFORCE,1992 年就有了12

4. 但「整局的分」太粗,要打两道折扣

第 3 节那个做法有个明显的漏洞,书自己先把它捅破了13:

假设一局撑了很久,前面一直很稳,**最后几步做了错误决定导致结束。**

如果整局的动作一视同仁地加分,
→ **前面的好决定和最后几步的坏决定拿到一样的分。** 这显然不公平。

图说:所以要给每一步单独算一个分,而不是全局共用一个。

折扣一:离结束越近,分越低

做法叫折扣化奖励,而且它的定义只有一句话14:

这一步的分 = 这一步立刻拿到的奖励 + 折扣 × 下一步的分 + 折扣² × 再下一步的分 + ……

那个「折扣」是一个略小于 1 的数,书说一般取 **0.95 或 0.99**。

算出来的效果是:
**一局的开头分高,结尾分低。**

为什么合理?**因为正是结尾那几步导致了这一局的结束。**

图说:而且长局的开头,分数比短局的开头还要高 ——
**因为它后面还有一长串奖励可以往前折算。**

折扣二:把一批局放在一起比

光有第一道折扣还不够,因为每局算出来的分都是正的(这个游戏没有负分)。 第二道手续是标准化:把这一批局的所有分数减去均值、除以标准差15

一批 N 局玩完,所有时间步的折扣化奖励凑在一起:
减均值 → 除标准差 → **均值变 0,标准差变 1**

于是:
**短局(4 步就倒了)的所有时间步 → 分数全部变成负的**
**长局(20 步)的早期和中期 → 分数是正的,而且是最高的**

这两个符号的含义完全不同:
分数为正 → 权重朝「以后遇到类似局面就多做这种动作」挪
分数为负 → 权重朝「以后遇到类似局面就**避免**这种动作」挪

图说:**这就是「不用标签也能有正负样例」的办法** ——
正负是从一批局的相对比较里生出来的,不是谁贴上去的。

完整流程

书把它列成了八步,我们照抄并加上注解16:

做什么
1把当前的观察喂进策略网络,拿到对数值四个物理量进去
2按这个值掷骰子,抽出一个动作探索就发生在这里
3在环境里执行这个动作世界变了
4存下这一步的梯度此刻还不知道这步好不好
5记下这一步拿到的奖励没倒就是 1
6第 1~5 步重复,直到这一局结束;这样玩 N 局
7N 局玩完,折扣化 + 标准化,拿结果去缩放第 4 步存的梯度,更新权重权重只在这里被更新一次
8第 1~7 步重复很多次书的示例默认 25 次

注意第 7 步:整整 N 局玩下来,权重才动一次。 这和前十七章「每一批数据更新一次」的节奏完全不同,也是这一章慢的原因之一。

5. 主走查:倒立摆的一局

这一章每个承重机制在这条走查上各占一步。 ⚠ 其中第 3、5、7 步的具体数字是为演示编的——书只给了 500 步上限、25 次迭代和约 400 局这三个数。

发生了什么具体的数 / 状态
1一局开始,环境随机初始化观察是四个数:车位置、车速度、杆倾角、杆角速度
2四个数喂进策略网络输出一个对数值(不是概率)
3过一遍 sigmoid 变成概率假设是 0.62——「向左推」的概率(这个数是为演示编的)
4掷骰子六成多的机会向左、不到四成向右;这次抽中「向右推」
5不查表、不比对答案,直接算梯度存起来把「向右推」当成标签,和对数值比,求出梯度 → 存进这一局的清单
6在环境里执行「向右推」车动了,四个物理量全变——下一步面对的是被自己改过的世界
7杆还立着 → 拿 1 分回到第 2 步。假设这一局撑了 37 步就倒了(这个数是为演示编的)
8这一局结束,清单里有 37 组梯度和 37 个 1 分
9这样再玩 N 局,有的 37 步,有的 200 步
10折扣一:折扣化每一步的分 = 当下的 1 + 0.95 × 下一步的分 + …… → 开头分高、结尾分低
11折扣二:标准化一批局的分减均值除标准差均值 0、标准差 1
12符号翻了37 步那局的所有步 → 全变成负的;200 步那局的早期 → 正的,而且最高
13拿这些数去缩放第 5 步存的梯度正的 → 「以后多这么干」;负的 → 「以后别这么干」
14更新一次权重N 局才更新这一次
15重复 25 次较新的笔记本上只要几分钟
16结果20 次迭代后就能撑满 500 步的上限;测试时去掉上限,一局能超过 1000 步
17但看曲线一路剧烈波动,不是单调上升——书说这在强化学习里并不罕见
18收账拿到了「没有标签也能学」;代价是要试错约 400 局

6. 宏观的账:它强在哪、弱在哪

书专门留了一节做这笔账,而且两边都很实在17

强的地方两条:

优点书给的说明
普适有些系统的特性非常复杂甚至未知,这时候强化学习是唯一的选择
能自适应系统的特性随时间变了,不必重推数学公式,重跑一遍算法就行

弱的地方只有一条,但它很硬18:

**它必须在环境里反复试错。** 倒立摆这个问题要约 **400 局** 才到目标水平。

而传统的控制论方法**一局都不用试** —— 公式实现完,第一局就能平衡。

书说这在倒立摆上不是问题,因为**仿真便宜、快、安全**。
可换成自动驾驶或机械臂:
**没人承担得起训练期间出车祸,或者弄坏成百上千个机械臂。**

图说:**这是强化学习至今悬而未决的问题**,书自己是这么说的。

7. 这个例子有三处特殊,下一章全都不成立

书在结尾专门点出了这一点,而且它正是第 19 章存在的理由19:

这个游戏的特点换成别的问题会怎样
每一步都给正分很多问题要做十几个甚至更多决定才有一次正分;中间可能什么都没有,或者只有负分
环境没有记忆系统怎么运转和你之前做过什么无关;很多问题里你的行为会改变环境
只有两个动作、四个观察量能出现的局面种数(正式叫状态空间)可以大得没边

书还举了个很贴切的类比:现实中很多人类行为就是稀疏奖励的——学习、锻炼、投资19

第 19 章那个游戏三条全占:奖励稀疏、环境有记忆、状态数是天文数字。 所以这一章这套办法在那里会直接失效。

8. 作者的判断与证据

书里给了证据的:

  • 25 次迭代、几分钟、撑满 500 步。 书给了具体操作和结果曲线20
  • 曲线剧烈波动。 书印了那张图并注明「这种现象在强化学习问题中并不罕见」20
  • 需要约 400 局。 具体数字18
  • 折扣化和标准化之后长短局的符号变化。 书印了两张对照图(4 步的短局和 20 步的长局)15

属于作者判断、书里没给证据的:

  • 折扣因子取 0.95 或 0.99。 书说「一般接近但小于 1」,没有给选取的方法14
  • 「有些场景里强化学习是唯一的选择」。 这是立场判断,没有举出具体案例17
  • 「随机采样自带探索,而且训练深入后会自动收窄」。 这是机制上的说理, 书没有做去掉随机的对照实验9

书自己坦白的:

  • 试错成本高是强化学习领域悬而未决的问题18
  • 本书完全忽略了这个系统的物理法则,故意不用控制论的解法—— 书说这是为了和全书「不硬编码人类知识」的立场一致21

判断(我们的,不是书里的): 这一章最该带走的机制是第 4 节那两道折扣,而不是策略网络。 策略网络就是第 05 章那个二分类模型,一个字都没变;真正新的东西是 「怎么把一个笼统的事后分数,摊回到每一步头上」。 而这两道折扣做的事,本质上是在没有标签的情况下,制造出正负样例—— 折扣一负责在一局之内分先后,标准化负责在多局之间分好坏。 如果错,会错在: 如果你的任务每一步都有明确的即时反馈(比如实时控制里的误差信号), 那这两道折扣就是多余的,问题会退化成一个普通的监督式学习问题。

9. 边界与局限

  • 只处理离散时间和离散动作。 书自己说时间可以是连续的, 但明说本章只聚焦离散时间点2;动作是连续的情况(比如「推多大力」)整章没有涉及
  • 只有正奖励。 这个游戏没有负分,负分要到第 19 章才出现
  • 权重每 N 局才更新一次。 书没有讨论 N 该取多少,也没有讨论这个节奏的代价
  • 曲线剧烈波动没有对策。 书只说「不罕见」,没有给稳定它的办法
  • 约 400 局的试错成本,书承认是悬而未决的问题,没有给缓解方向18
  • 没有和控制论的解法做对照。 书明说故意不用那条路,所以两者的实际差距没有数据21
  • 观察和奖励为什么要分成两样东西,书只说了「为了保持概念清晰简单」—— 没有更深的理由3

10. 可带走的

  1. 这一章和前十七章的根本差别:信息是双向的。 你的动作会改变环境,而监督式学习里输出对输入毫无影响;
  2. 五个部件: 做事的那个(智能体)、它面对的世界(环境)、 它能做的选择(行为)、它看得到的(观察)、做完给的分(奖励); 从开始到结束的一整串时间步叫一个回合;
  3. 奖励在这里的角色 = 损失在前十七章的角色,但它可能来得很晚, 而且说不清是哪一步的功劳;
  4. 策略网络输出的不是动作,是「向左推」的概率;拿到概率还要掷一次骰子;
  5. 为什么要掷骰子:不掷就永远试不到没试过的做法。 这就是探索与利用的取舍——训练初期多探索,找到好策略之后收窄;
  6. 训练信号是自己造的,分两层: ① 每一步先把实际做出的动作当成标签,算出梯度存着(此刻还不知道好不好); ② 整局玩完,用这一局的长短来决定这些梯度往正还是往负用;
  7. 整局一视同仁不公平——前面一直很稳、最后几步搞砸了,不该同罪;
  8. 折扣一(折扣化):这一步的分 = 当下的奖励 + 折扣 × 后面每一步的分。 折扣一般取 0.95 或 0.99;效果是开头分高、结尾分低;
  9. 折扣二(标准化):一批局的分减均值除标准差。 短局的所有步整体变负(以后避开),长局的早期整体变正(以后多做)—— 正负样例就是这么造出来的;
  10. 权重每 N 局才更新一次,而不是每一批数据更新一次;
  11. 结果:25 次迭代、几分钟,撑满 500 步的上限;但曲线一路剧烈波动是常态;
  12. 最硬的代价:它要试错约 400 局。 仿真里无所谓,换成真车真机械臂就付不起——书说这是至今悬而未决的问题。

11. 原文地图

主题原书章原文位置
强化学习的目标;智能体与奖励第 11 章text/23-ch11.txt:15(搜「智能体」)
和监督式学习的区别;信息双向流动第 11 章text/23-ch11.txt:21(搜「探索出最佳的决策过程」) · text/23-ch11.txt:51(搜「双向」)
时间是基础维度;本章只讲离散时间第 11 章text/23-ch11.txt:53(搜「时间维度」)
五个部件的定义;奖励可正可负第 11 章text/23-ch11.txt:29(搜「前进、后退」) · text/23-ch11.txt:31(搜「负向奖励」) · text/23-ch11.txt:33(搜「观察」)
奖励频率可变:倒立摆每步都有,象棋只在终局第 11 章text/23-ch11.txt:45(搜「奖励发生的频率」)
倒立摆问题的出处(1983)与地位第 11 章text/23-ch11.txt:59(搜「平衡倒立摆」) · text/23-ch11.txt:61(搜「Neuronlike Adaptive Elements」)
四个物理量;结束条件;500 步上限;每步 1 分第 11 章text/23-ch11.txt:76(搜「角速度」) · text/23-ch11.txt:84(搜「500个时间步」)
回合的定义第 11 章text/23-ch11.txt:72(搜「回合」)
术语对照表 11-1第 11 章text/23-ch11.txt:90(搜「用标准的RL术语描述」)
策略网络;和二分类器的三处差别第 11 章text/23-ch11.txt:118(搜「策略网络」) · text/23-ch11.txt:126(搜「对数值」)
为什么要随机采样;探索与利用第 11 章text/23-ch11.txt:132(搜「随机采样策略」) · text/23-ch11.txt:134(搜「探索」)
没有标签数据集;必须在做中学第 11 章text/23-ch11.txt:138(搜「在做中」)
整局求和不公平;折扣化奖励第 11 章text/23-ch11.txt:176(搜「回合尾声」) · text/23-ch11.txt:178(搜「折扣化奖励」)
标准化奖励;短局全负、长局早期为正第 11 章text/23-ch11.txt:206(搜「标准差为1」)
REINFORCE 算法与出处第 11 章text/23-ch11.txt:186(搜「REINFORCE」) · text/23-ch11.txt:188(搜「Simple Statistical Gradient-Following」)
梯度怎么算:拿实际动作当标签第 11 章text/23-ch11.txt:190(搜「实际选择的行为」) · text/23-ch11.txt:201(搜「sigmoidCrossEntropy」)
八步训练流程;策略梯度这个名字第 11 章text/23-ch11.txt:220(搜「策略梯度」) · text/23-ch11.txt:226(搜「缩放后的梯度更新策略网络」)
25 次迭代几分钟;曲线剧烈波动第 11 章text/23-ch11.txt:280(搜「25」) · text/23-ch11.txt:282(搜「剧烈的波动」)
强化学习的优点;约 400 局的代价第 11 章text/23-ch11.txt:290(搜「普适性」) · text/23-ch11.txt:292(搜「400个回合」)
这个例子的三处特殊;下一节换问题第 11 章text/23-ch11.txt:294(搜「稀疏」)
故意不用控制论解法的理由第 11 章text/23-ch11.txt:114(搜「让模型自主地学习」)

Footnotes

  1. 出处:「第 11 章 深度强化学习的基本原理」第 13~21 段(text/23-ch11.txt:15,搜「智能体」;text/23-ch11.txt:21,搜「探索出最佳的决策过程」)。原文说监督式学习用的都是「将静态的输入映射到静态的输出」这个范式。

  2. 出处:「第 11 章」第 51 与 53 段(text/23-ch11.txt:51,搜「双向」;text/23-ch11.txt:53,搜「时间维度」)。原文:「在监督式学习中,信息的流动是单向的……但是输出对输入没有任何关键影响。」并明说「本章将聚焦于离散时间点的RL问题」。 2

  3. 出处:「第 11 章」第 27~35 段(text/23-ch11.txt:29,搜「前进、后退」;text/23-ch11.txt:33,搜「观察」)。原文在第 47 段解释了为什么把观察和奖励分成两个概念:「答案是为了保持概念的清晰和简单。」 2

  4. 出处:「第 11 章」第 72 段(text/23-ch11.txt:72,搜「回合」)。原文说「可以将『一轮游戏』和『一个回合』理解为同义词」。

  5. 出处:「第 11 章」第 31 与 45 段(text/23-ch11.txt:31,搜「负向奖励」;text/23-ch11.txt:45,搜「奖励发生的频率」)。原文:「就如同损失值在监督式学习中扮演的角色一样,它能够引导RL算法的进行。」奖励频率的对照(倒立摆每步都有、国际象棋只在终局)也在第 45 段。 2

  6. 出处:「第 11 章」第 59 段与第 61 段脚注(text/23-ch11.txt:59,搜「平衡倒立摆」)。原文把它比作「MNIST手写数字识别问题在监督式学习中的地位」;出处是 Barto、Sutton、Anderson 1983 年发表于 IEEE Transactions on Systems, Man, and Cybernetics 的论文。

  7. 出处:「第 11 章」第 120 段(text/23-ch11.txt:120,搜「二分类器」)。原文说它的架构和第 3 章那个钓鱼网站检测的二分类器类似——那正是我们第 05 章讲的那个。

  8. 出处:「第 11 章」第 122~128 段(text/23-ch11.txt:126,搜「对数值」)。原文说明不在最后一层直接用 sigmoid,是因为训练时要用对数值。

  9. 出处:「第 11 章」第 132 段(text/23-ch11.txt:132,搜「随机采样策略」)。原文明确提出了「为何不直接用一个阈值」这个问题并作答;「训练深入后采样结果会越来越确定」这一句在第 134 段末尾。 2

  10. 出处:「第 11 章」第 134 段(text/23-ch11.txt:134,搜「探索」)。原文:「这两者是不可兼得的,因此找到它们之间的平衡对于设计有效的RL算法而言是至关重要的。」

  11. 出处:「第 11 章」第 138 段(text/23-ch11.txt:138,搜「在做中」)。原文:「如果有这样的数据集,那就和前几章的示例一样,只需要调用策略网络的fit()或fitDataset()方法就足以解决这个问题了。」

  12. 出处:「第 11 章」第 186 段与第 188 段脚注(text/23-ch11.txt:186,搜「REINFORCE」)。出处是 Ronald J. Williams 发表于《Machine Learning》1992 年第 8 卷的论文「Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning」。

  13. 出处:「第 11 章」第 176 段(text/23-ch11.txt:176,搜「回合尾声」)。原文的结论是:「我们应该为回合初期和中期的行为分配高奖励值,为回合末期的行为分配低奖励值。」

  14. 出处:「第 11 章」第 178~182 段(text/23-ch11.txt:178,搜「折扣化奖励」)。原文说折扣因子「一般接近但小于1,比如0.95或0.99」。公式(11.1)的数学符号在我们的文本副本里丢失了,所以本节那一行是按原文的文字说明重述的。 2

  15. 出处:「第 11 章」第 206 段与图 11-6 说明(text/23-ch11.txt:206,搜「标准差为1」)。原文明说短回合的所有时间步奖励值都为负,并解释了负值的含义是「引导网络……尽量避免做和之前类似的决策」。 2

  16. 出处:「第 11 章」第 212~228 段(text/23-ch11.txt:226,搜「缩放后的梯度更新策略网络」)。原文把这八步逐条列出,并在第 226 步特别强调「正是这一步更新了策略网络的权重」。

  17. 出处:「第 11 章」第 290 段(text/23-ch11.txt:290,搜「普适性」)。 2

  18. 出处:「第 11 章」第 292 段(text/23-ch11.txt:292,搜「400个回合」)。原文:「没人能承担训练智能体时出驾驶事故或损坏成百上千个机械臂的损失。」并说这在研究领域「仍是个悬而未决的问题」。 2 3 4

  19. 出处:「第 11 章」第 294 段(text/23-ch11.txt:294,搜「稀疏」)。原文举的人类行为例子是「学习、锻炼和投资」,并说明下一节的问题「正向奖励的分布是稀疏的,并且环境会随智能体的行为历史而变化」。 2

  20. 出处:「第 11 章」第 280~284 段与图 11-7 说明(text/23-ch11.txt:280,搜「25」;text/23-ch11.txt:282,搜「剧烈的波动」)。原文说 20 个迭代后就达到了每回合 500 步的最高水平,测试阶段没有上限时单回合可能超过 1000 步。 2

  21. 出处:「第 11 章」第 114 段(text/23-ch11.txt:114,搜「让模型自主地学习」)。原文把用控制论解这个问题类比成「用经验法则编写算法并处理MNIST图像中的边角特征」,并说那和全书立场相悖。 2