规划与学习 — 同一台引擎,两种经验
这一章讲三件事: 「模型」和「规划」的准确定义,以及为什么规划与学习本质是同一个更新; Dyna 架构怎么把真实经验、模型学习、模拟经验接成一个循环,模型错了怎么办; 决策时规划(启发式(凭经验规则抄近路)搜索、rollout、MCTS)与后台规划的分界。 读完你会拿到第一部分的总地图:方法的差异是「维度」上的取值,不是门派的差异。
1. 定位:统一 model-based 与 model-free
书到这里,前面两条线该合龙了。model-based 方法(DP、启发式(凭经验规则抄近路)搜索)靠规划,model-free 方法(MC、TD)靠学习;但两者的心脏是同一颗——都在算值函数,都在沿真实或可能的轨迹做 backup 更新1。本章的目的就是考察它们能混到什么程度。
先把两个词钉死:
- 模型=任何能用来预测「环境将如何回应我的动作」的东西。分布模型给出全部可能及概率(DP 要的那种),样本模型只按概率抽一个结果(模拟器)。十二颗骰子求和:写个模拟器容易,列全所有和数的概率分布难——样本模型往往容易得到得多,二十一点那章已经预演过2。
- 规划=任何「拿 模型当输入、产出或改进策略」的计算过程。本书只谈状态空间规划(搜状态空间);搜索「计划的空间」的那一类(偏序规划、演化法)与随机序贯决策不合拍,不谈3。
于是统一视角一句话:所有状态空间规划=(1) 把算值函数当改进策略的中间步骤 +(2) 用模拟经验做 backup 更新。规划与学习的差别只剩经验来源4。
2. Dyna:一台引擎,三种经验
Dyna-Q 是全书给的集成样板,一个循环里同时跑四件事5:
┌────────────── 直接强化学习(真实经验 → Q) ◀─────┐
真实经验 ──┤ │
└── 模型学习(真实经验 → Model) │
│ │
▼ │
模拟经验(从 Model 抽)── 计划更新(→ Q) ──────┘
▲
动作选择照 Q 走,走完把 (S,A,R,S′) 喂给上面全部通路 ┘
图说:学习与规划用的是同一个 Q 更新;差别只有经验的来源。
书里的说法:RL 方法是学习与规划的「共同最后通路」。
主走查拿书里的迷宫实验走一遍(数字全部来自书)6:47 个格子的迷宫,每步真实动作后额外做 n 次「随机挑一个见过的 (S,A),问模型,套同一个 Q 更新」:
n=0(纯 TD,不规划):约 25 幕才达到(ε-)最优
n=5: 约 5 幕
n=50: 仅 3 幕
第一幕大家都一样:约 1700 步(纯乱撞,种子都相同)
差别在第 2 幕中途就肉眼可见:n=0 的策略只学会最后一步;
n=50 的策略已经铺到接近起点——规划在 agent 还在乱逛时,
就用模型把这次经验「摊」到了整条回程上。
一句书里的妙语收束:agent 同时是 reactive 和 deliberative 的——对最新感官即时反应,同时永远在后台规划7。
3. 模型错了怎么办
模型会错:样本太少、函数逼近的泛化失真、或者环境变了。后果分两档8:
- 乐观的错(模型许诺了不存在的捷径):策略扑过去,扑空,顺手纠正——自愈。书里的 blocking maze:1000 步后近路被堵,Dyna 找新路,只是中间断粮一阵。
- 悲观的错(环境变好了,模型不知道):可能永远发现不了。书里的 shortcut maze:3000 步后开了条更近的路,普通 Dyna-Q 永远没发现——它的模型说没有捷径,于是规划越多越不会往那边走;连 ε-greedy 的随机都救不了。解法 Dyna-Q+:给每个 (S,A) 记「多久没试过」,越久,模拟奖励加成 κ√τ 越大——作者称之为计算性好奇(computational curiosity),而且判定这买卖值得9。
这里藏着探索-利用两难的规划版:探索=试能改进模型的事,利用=照当前模型最优地走9。
4. 更新该往哪儿放:优先级与方向
uniformly 随机挑 (S,A) 做模拟更新显然浪费——prioritized sweeping 只挑「值刚变化、且会向上游传播误差」的对,按紧急度排队更新10。另一个方向相反的省法:轨迹采样(on-policy trajectory sampling)——不均匀扫全空间,只沿「按当前策略真的会走到的轨迹」采样更新,顺带把「更新的分布」对准了将来的处境(8.6-8.7 节,RTDP 是其代表)。
5. 决策时规划:启发式搜索、rollout 与 MCTS
前面所有规划都发生在后台——改进的是长期值函数。另一族规划发生在决策现场:每遇到一个状态,临时算一大笔,只为选当前这个动作,算完就丢。经典启发式(凭经验规则抄近路)搜索(A*)、rollout 算法、MCTS 都属此族。
MCTS(蒙特卡洛树搜索)是这一族的当代代表,书的介绍值得整段转述11:
每次轮到出招:
反复迭代直到时间用完:
1 Selection: 从根(当前局面)沿树策略(如 UCB)走到叶
2 Expansion: 给叶挂上新孩子
3 Simulation: 从那里用快而糙的 rollout policy 走完整局
4 Backup: 这局的回报回填给树路径上的边
最后照树的统计(值或访问数)选出真实动作。
树内:有值估计,用 tree policy 精挑;
树外:没有估计,用 rollout policy 快走。
书里给它的历史分量:2005 年到 2015 年,计算机围棋从业余水平到围棋大师(6 段以上),MCTS 是主要功臣;2016 年 AlphaGo 击败世界冠军用的是它的加强版(见第 15 章)11。作者给它的机理定位:边更新边长出一张局部的动作值查找表,把记忆(存下来的估计值)精确花在高回报轨迹的起始段上——避开了「全局逼近值函数」的难题,又保留了用经验引导探索的好处12。
6. 第一部分收官:方法的「维度」
本章末节是第一部分的总账,也是全书方法论上最值钱的一页13。所有已见方法共享三件事:估价值函数、沿轨迹 backup、GPI。在此之上,方法之间的差异是一组坐标轴:
| 维度 | 取值的两端 |
|---|---|
| 更新的宽度 | 样本更新 ↔ 期望更新(要分布模型) |
| 更新的深度 | one-step TD ↔ 穷举搜索;四角=TD / MC / DP / 穷举 |
| on-policy ↔ off-policy | 学自己走的 ↔ 学别的策略的 |
| 回报的定义 | 情节/持续、折扣/不折扣 |
| 估什么值 | 状态值 / 动作值 / afterstate 值 |
| 探索怎么加 | ε-greedy / 乐观初值 / softmax(把一组数变成一组概率) / UCB |
| 同步 ↔ 异步;真实 ↔ 模拟;更新哪里、何时、记忆多久 | …… |
作者点出尚未出场的那根最重要的轴:函数逼近——从表格到聚合到线性到非线性的整条谱,留给第二部分13。
7. 作者的判断与证据
实验支撑的: Dyna 迷宫的 25/5/3 幕对比、blocking 与 shortcut 迷宫、图 8.3 的策略铺开图,都是书中实验68;MCTS 推动围棋水平跃迁是作者认定的历史事实11。
作者的立场: 「直接法与间接法谁优」的长期争论被作者判为伪对立——两者的相似处多于差异处,洞察来自合并而非站队5。心理学里「认知 vs 试错」「深思 vs 反应」的老争论,作者同样按合并处理(第 14 章再回收)。
坦白: shortcut maze 暴露的「模型悲观错误无法自愈」没有一般解;Dyna-Q+ 的好奇心加成只是「往往有效」的启发式,书里明说这个冲突「大概不存在既完美又实用的解」9。
8. 边界与局限
- Dyna-Q 的模型是确定性表格(每对 (S,A) 只记最后一次结果);随机环境、大状态空间都要另想办法( 书里在习题里点了方向)。
- 决策时规划要求一个能快速多步模拟的模型;没有模拟器,rollout/MCTS 一概免谈。
- prioritized sweeping、RTDP 等只处理了「更新顺序」的一个侧面;更新位置的自动选择仍是开放问题。
- 本章全部结论都在表格情形内;函数逼近进场后,「模型+规划」的组合还要再经历一次发散危机(第 10-11 章)。
9. 可带走的
- 规划=对模拟经验做学习更新;两者唯一差别是经验来源,算法可以完全同一。
- 样本模型比分布模型好拿得多:能模拟就别硬写分布(DP 除外)。
- Dyna 的本质:每步真实经验,顺手用模型重放 n 次——25 幕 vs 3 幕的差距全在这里。
- 模型错了分两档:乐观的错会自愈;悲观的错要靠「计算性好奇」定期巡检。
- MCTS 口诀:树内精挑、树外快走、按局回填、用完重来;它是「用算力换评估函数」的当代典范。
- 更新的位置和顺序是被低估的自由度:优先扫、按轨迹扫,常比改公式更见效。
- 选方法=在维度表上选坐标,不是选门派;第一部分的所有算法都能放进同一张图。
- 后台规划改长期值,决策时规划只管眼前这一步——两者用的可以是同一套模拟与更新。
10. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| 统一视角、心脏相同 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:4(搜「unified view」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:83(搜「heart of both」) |
| 模型定义、分布/样本模型 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:20(搜「to predict how the」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:25(搜「distribution models」) |
| 规划定义、状态空间规划 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:44(搜「takes a model as input」) |
| 共同结构两条 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:63(搜「two basic ideas」) |
| Dyna、共同最后通路 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:116(搜「Dyna」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:183(搜「final common path」) |
| Dyna Maze 25/5/3 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:252(搜「25 episodes」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:254(搜「three episodes」) |
| reactive 且 deliberative | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:298(搜「reactive and always deliberative」) |
| 模型出错、blocking/shortcut | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:309(搜「When the Model Is Wrong」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:367(搜「never realized」) |
| Dyna-Q+ 好奇心 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:391(搜「bonus reward」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:397(搜「computational curiosity」) |
| prioritized sweeping | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:416(搜「Prioritized Sweeping」) |
| MCTS、围棋跃迁 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:1191(搜「Monte Carlo Tree Search」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:1063(搜「grandmaster」) |
| MCTS 四步、树策略/rollout | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:1249(搜「Selection」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:1224(搜「rollout policy」) |
| 查找表机理 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:1296(搜「lookup table」) |
| 第一部分维度总结 | Planning and Learning | text/11-fm-planning-and-learning-with-tabular-methods.txt:1347(搜「Dimensions」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:1355(搜「three key ideas」) · text/11-fm-planning-and-learning-with-tabular-methods.txt:1451(搜「orthogonal spectrum」) |