对应:Stanford CS234 Lecture 13–14(Exploration in MDPs / Fast RL) 配套代码:
code/lecture13/(只需 numpy) 预计阅读时间:3.5 小时
0. 本讲导航
0.1 本讲要回答的问题
在有状态、有延迟后果的环境里,怎样探索才高效?
前两讲在老虎机中得到了两种有理论保证的探索思路:乐观(UCB)和后验采样(汤普森采样)。老虎机的特点是:每个臂都可以直接拉,探索的代价只是”这一步拿少了”。
MDP 中,事情难得多:
- 有些状态只有经过一长串特定的动作才能到达。要知道”那边好不好”,得先有计划地走过去;
- 奖励可能在很多步之后才出现,前面的每一步都”看起来没用”;
- 需要学的不是 个数,而是整个转移与奖励模型。
这一讲回答:ε-贪心在 MDP 中为什么会彻底失败?怎样把乐观和后验采样推广到 MDP?“学得快”在 MDP 中怎么定义?
0.2 学完本讲,你应该能够
- 用 RiverSwim 的例子解释:为什么”每一步独立地随机”的探索需要指数时间。
- 定义回合制 MDP 的遗憾与 PAC-MDP 样本复杂度。
- 描述 R-max 和 MBIE-EB,解释”乐观 + 规划 = 深度探索”。
- 描述 PSRL(后验采样强化学习),说明它与汤普森采样的关系。
- 解释无模型的计数探索奖励,以及深度 RL 中的探索方法(伪计数、RND、好奇心、Bootstrapped DQN)。
- 根据问题的规模与结构,判断不同探索方法的优劣。
0.3 先修知识
| 知识点 | 用在哪里 | 最低要求 |
|---|---|---|
| 第 2 讲:动态规划、有限视界的价值迭代 | 全讲 | 必须 |
| 第 3 讲:确定性等价(用数据估计模型) | 第 1、3 节 | 必须 |
| 第 4 讲:Q-learning、ε-贪心 | 第 1、5 节 | 必须 |
| 第 11 讲:遗憾、UCB | 第 2、3 节 | 必须 |
| 第 12 讲:汤普森采样、Beta 后验 | 第 4 节 | 必须 |
| Dirichlet 分布 | 第 4 节 | 本讲会介绍 |
0.4 本讲地图
第1节 为什么难:RiverSwim;随机探索的指数时间;朴素算法的失败
│
第2节 怎样衡量:遗憾与 PAC-MDP
│
第3节 乐观:R-max、MBIE-EB;乐观 + 规划 = 深度探索
│
第4节 后验采样:PSRL
│
第5节 无模型与深度 RL 中的探索
│
第6节 比较与规模
1. 为什么在 MDP 中探索更难
1.1 RiverSwim
RiverSwim(Strehl & Littman, 2008)是研究探索的经典例子。代码 riverswim.py 实现了它的有限视界回合制版本:
[0] ─ [1] ─ [2] ─ [3] ─ [4] ─ [5]
岸边 上游
小奖励 0.005 大奖励 1
- 每个回合从岸边(状态 0)出发,走 步。
- 向左(顺流):一定成功。在状态 0 向左,得到小奖励 0.005。
- 向右(逆流):水流很急,在中间的状态只有 0.35 的概率前进,0.6 原地不动,0.05 被冲回。在上游(状态 5)向右,得到大奖励 1。
- 奖励是 0/1 随机的(以上面的概率为成功率),智能体需要多次尝试才知道。
代码 01_why_exploration_is_hard.py 演示 1:
- 最优价值 。最优策略是一路向右逆流而上:前十几步没有任何奖励,但到达上游后每步都能拿 1。
- 快结束时(从第 14 步开始),离上游太远的状态已经来不及游过去了,最优策略改为向左拿岸边的小奖励——有限视界下,最优策略会随剩余时间变化。
- “一直向左”的价值只有 0.100(最优的 3%),但它的奖励来得最快、最容易被发现;完全随机的价值只有 0.045。
1.2 随机探索需要指数时间
从岸边出发,期望要走多少步才能第一次到达上游?这个”期望到达时间”满足一个线性方程组(,),可以精确求解(演示 2):
| 链长 | 一直向右 | 完全随机 | ε-贪心(,贪心=向左) | ε-贪心() |
|---|---|---|---|---|
| 4 | 9.0 | 94 | ||
| 6 | 15.7 | 936 | ||
| 8 | 22.4 | |||
| 10 | 29.0 |
- 有目的地走(一直向右):到达时间随 线性增长。
- 随机地走:指数增长。在中间的状态,随机选动作时每步前进的概率 ,后退的概率 ——后退是前进的 3 倍。每多 2 个状态,时间约乘以 。
- ε-贪心更糟:岸边的小奖励最先被发现,贪心动作变成”向左”,向右的概率只剩 。、 时要 步——即使每秒走一百万步,也要一百多年。
这就是 MDP 中探索的核心困难:需要连续做对很多步才能发现的东西,“每一步独立地随机”的探索几乎不可能发现。 老虎机里不存在这个问题——每个臂都可以直接拉。
这类问题在实际中很常见:迷宫深处的出口、需要一系列正确操作才能打开的门、游戏中藏在很远处的关键道具(比如著名的 Atari 游戏 Montezuma’s Revenge,早期的 DQN 在这个游戏中几乎一分都拿不到)。
1.3 朴素算法的失败
演示 3(2000 个回合,20 个随机种子):
| 算法 | 累积遗憾(100 / 500 / 2000 回合) | 最后 100 回合每回合遗憾 | 从没到过上游的种子 |
|---|---|---|---|
| 确定性等价(贪心地用估计的模型) | 273.7 / 1281.7 / 5061.5 | 2.520 | 70% |
| 确定性等价 + ε-贪心() | 275.8 / 1303.1 / 5155.4 | 2.568 | 75% |
| 确定性等价 + ε-贪心() | 281.1 / 1377.5 / 5489.0 | 2.741 | 60% |
| Q-learning + ε-贪心() | 301.5 / 1507.3 / 6037.0 | 3.023 | 10% |
| Q-learning + ε-贪心() | 301.4 / 1506.0 / 6043.1 | 3.027 | 0% |
所有这些算法的遗憾都线性增长,最后每个回合的遗憾接近 ——它们学到的基本上是”守着岸边”。
- 确定性等价:没见过的 被当作”原地不动、没有奖励”,所以它从不主动去尝试——和老虎机中的贪心一样。
- ε-贪心几乎没用:它的随机性是”每一步独立”的,没法把智能体送到很远的地方。
- 最值得注意的:Q-learning + ε-贪心()的所有种子都到达过上游,却全都没学会!偶尔到达一两次,留下的数据太少(比如只知道”在上游向右拿到了 1”,却不知道怎样可靠地游过去),估计出的 Q 值仍然认为”游过去不值得”,于是再也不去了。
探索需要持续、有计划,而不是碰运气。
2. 怎样衡量 MDP 中的探索效率
2.1 回合制 MDP 的遗憾
在第 个回合,算法执行策略 。遗憾为
和老虎机一样:线性增长 = 没学会;次线性增长 = 最终学会了。代码中,基于模型的算法在一个回合内策略固定, 可以用动态规划精确计算。
2.2 PAC-MDP:样本复杂度
另一种衡量方式来自”可能近似正确”(PAC)学习理论:
一个算法是 PAC-MDP 的,如果对任意 ,以至少 的概率,它执行的策略不是 -最优的时间步数不超过一个关于 的多项式。
这个数叫样本复杂度:算法”犯错”(不够好)的次数。PAC 关心”犯错的次数”,遗憾关心”犯错的总代价”,两者密切相关。
RiverSwim 说明了为什么这个定义有意义:ε-贪心的样本复杂度随 指数增长,不是 PAC-MDP 的;下面的 R-max、MBIE-EB 是 PAC-MDP 的。
2.3 理论结果一览(了解即可)
| 算法 | 类型 | 保证 |
|---|---|---|
| E³(Kearns & Singh, 2002) | 基于模型 | 第一个多项式样本复杂度的算法 |
| R-max(Brafman & Tennenholtz, 2002) | 基于模型,乐观 | PAC-MDP |
| MBIE / MBIE-EB(Strehl & Littman, 2008) | 基于模型,乐观 | PAC-MDP |
| UCRL2(Jaksch, Ortner & Auer, 2010) | 基于模型,乐观 | 遗憾 ( 为 MDP 的”直径”) |
| PSRL(Osband, Russo & Van Roy, 2013) | 后验采样 | 贝叶斯遗憾 |
| UCBVI(Azar, Osband & Munos, 2017) | 基于模型,乐观 | 遗憾 ,与下界只差对数因子 |
| UCB-Q(Jin, Allen-Zhu, Bubeck & Jordan, 2018) | 无模型,乐观 | 遗憾 |
( 为总步数, 忽略对数因子。)共同点:都依赖乐观或后验采样;都是 、、 的多项式。
3. 乐观:R-max 与 MBIE-EB
3.1 从 UCB 到 MDP
UCB:给每个臂的估计加一个”不确定性奖励”,然后贪心。直接推广到 MDP:
给每个 的奖励加一个不确定性奖励,然后在这个”乐观的 MDP”上做规划,按规划出的策略行动。
关键的区别在于规划。乐观的奖励加在 上之后,通过动态规划沿着转移传播回去:离未知区域越近的状态、通往未知区域的动作,价值越高。于是智能体会有计划地、连续多步地走向未知区域——哪怕路上每一步本身都没有奖励。这叫深度探索(deep exploration),是 ε-贪心做不到的。
3.2 R-max
R-max(Brafman & Tennenholtz, 2002):
- 被访问少于 次的 是”未知的”:乐观地假设在那里每一步都能拿到最大奖励 ;
- 其余 是”已知的”:用经验模型;
- 在这个模型上规划,执行最优策略。
为什么有效?——“要么探索,要么利用”引理:在乐观的模型下规划出的策略,在真实 MDP 中只有两种可能:
- 它以不小的概率到达某个未知的 → 这是探索,而未知的 只有有限个( 个),每个最多需要 次就变成已知,所以这种情况总共只会发生有限次;
- 它几乎不到达未知的 → 它在乐观模型和真实 MDP 中的价值几乎相同。而乐观模型中的价值 真实的 (乐观!),所以这个策略在真实 MDP 中也接近最优——这是利用。
两种情况都不亏。这和 UCB 的论证(第 11 讲 5.1 节)如出一辙。
3.3 MBIE-EB
MBIE-EB(Model-Based Interval Estimation with Exploration Bonus,Strehl & Littman, 2008):用经验模型,但奖励加上探索奖励:
在 上规划,执行最优策略。(代码中,没见过的 直接取最大可能的价值。)
这是 UCB 的直接推广: 就是置信区间的宽度。与 R-max 的”已知/未知”硬门槛不同,MBIE-EB 的乐观随 平滑地减小。
3.4 实验:深度探索
代码 02_optimism_rmax_mbie.py 演示 1:前 15 个回合中,每个回合到达过的最右边的状态(上游是 5):
确定性等价 + ε-贪心(ε = 0.3) 1 1 2 1 3 1 1 2 1 2 2 1 2 2 4
Q-learning + ε-贪心(ε = 0.3) 1 2 3 2 1 1 1 1 2 1 2 2 1 2 1
R-max(m = 20) 1 1 3 2 3 3 5 3 5 3 3 2 4 3 4
MBIE-EB(β = 0.3) 1 2 3 1 5 5 5 5 5 5 5 5 5 4 5
- ε-贪心在岸边附近打转。
- 最初一两个回合,R-max 和 MBIE-EB 也只到了状态 1:什么都没见过时,所有动作的乐观价值都一样,行为和随机差不多。但岸边附近一旦被试过,乐观就把它们推向上游。MBIE-EB 从第 5 个回合起几乎每个回合都到达上游——连续很多步坚持向右。
- R-max()要把每个 都试够 20 次,会系统地来回试探。
3.5 实验:乐观如何传播
演示 2:MBIE-EB()在第 步各状态的乐观价值(真实的 为 3.06、4.01、5.30、6.68、8.09、9.52):
| 回合 | 没见过的 | ||||||
|---|---|---|---|---|---|---|---|
| 0 | 20.00 | 20.00 | 20.00 | 20.00 | 20.00 | 20.00 | 12 |
| 1 | 3.03 | 3.15 | 20.00 | 20.00 | 20.00 | 20.00 | 8 |
| 3 | 3.47 | 3.71 | 4.01 | 4.21 | 4.29 | 20.00 | 2 |
| 10 | 5.05 | 5.90 | 7.26 | 8.47 | 9.56 | 10.65 | 0 |
| 30 | 4.58 | 5.50 | 6.82 | 8.26 | 9.57 | 11.00 | 0 |
| 100 | 3.11 | 3.93 | 4.99 | 6.27 | 7.58 | 9.03 | 0 |
| 300 | 3.19 | 4.09 | 5.26 | 6.65 | 7.99 | 9.48 | 0 |
- 一开始,所有状态的乐观价值都是最大可能值 20。
- 第 1 个回合之后,起点的乐观价值只有 3.03,甚至低于真实的 ! 原因:智能体在状态 1 试了两次”向右”,一次被冲回、一次原地不动,经验模型于是认为”从状态 1 游不过去”,上游的乐观价值传不回起点。但 MBIE-EB 给只试过两次的(状态 1,向右)加了不小的探索奖励,它仍然有吸引力——下一个回合智能体继续尝试,游了过去,错误的模型被纠正。第 10 个回合时起点的乐观价值达到 5.05,高于真实值:乐观重新发挥作用。
- 数据越来越多,探索奖励越来越小,乐观价值降到真实的 附近——乐观被数据”消耗掉”之后,剩下的就是正确的估计。
第 2 点揭示了一个微妙的问题:乐观只加在奖励上,而转移概率用的是经验估计。如果转移的估计错得离谱(“游不过去”),乐观的奖励就传不到它该去的地方。MBIE-EB 靠”试得少的 总还带着一点乐观”来纠正这种错误;完整的 MBIE 和 UCRL2 则对转移概率也构造置信区间,在其中选最乐观的转移。
3.6 实验:参数的影响
演示 3(2000 个回合,20 个种子):
| 算法 | 累积遗憾(100 / 500 / 2000 回合) | 最后 100 回合每回合遗憾 | 从没到过上游 |
|---|---|---|---|
| 确定性等价(对照) | 273.7 / 1281.7 / 5061.5 | 2.520 | 70% |
| R-max, | 162.9 / 756.0 / 2979.7 | 1.482 | 50% |
| R-max, | 118.4 / 533.6 / 2090.5 | 1.038 | 35% |
| R-max, | 46.2 / 105.7 / 328.8 | 0.149 | 5% |
| R-max, | 113.0 / 113.2 / 113.8 | 0.000 | 0% |
| R-max, | 258.4 / 271.7 / 272.3 | 0.000 | 0% |
| MBIE-EB, | 26.3 / 85.6 / 308.1 | 0.148 | 5% |
| MBIE-EB, | 12.8 / 12.9 / 13.1 | 0.000 | 0% |
| MBIE-EB, | 12.4 / 12.5 / 12.7 | 0.000 | 0% |
| MBIE-EB, | 13.0 / 13.3 / 13.8 | 0.000 | 0% |
| MBIE-EB, | 19.6 / 26.4 / 31.6 | 0.002 | 0% |
| MBIE-EB, | 67.9 / 89.7 / 121.1 | 0.018 | 0% |
- R-max 的 太小(1、2):试一两次就把 当作”已知”,而一两次的转移数据可能错得离谱(正是 3.5 节的”游不过去”)。此后 R-max 把这个错误模型当真,再也不去验证——35%~50% 的种子从没到过上游。
- R-max 的 大(20、50):从不失败,但要把每个 都试够 次,前期遗憾大;一旦全部”已知”,之后遗憾恰好是 0(完全转为利用)。
- MBIE-EB 对 不敏感得多: 从 0.03 到 0.3,累积遗憾都在 13 左右——比确定性等价小两个数量级以上。
- 又一次看到”理论 vs 实践”:理论分析需要的 、 都大得多(为了高概率保证),实践中小得多的值效果更好。
4. 后验采样:PSRL
4.1 算法
第 12 讲的汤普森采样:“从后验中抽一个可能的世界,在其中做最优的选择”。推广到 MDP:
PSRL(Posterior Sampling for Reinforcement Learning,Strens 2000;Osband, Russo & Van Roy, 2013)
每个回合开始时:
- 从后验中抽一个 MDP:
- 求 的最优策略
- 按 走完整个回合,把数据加入
后验:转移概率 是一个”在 个下一状态上的概率分布”,它的共轭先验是 Dirichlet 分布——Beta 分布的多维推广。先验 + 观察到转移计数 → 后验 。和 Beta 一样,更新只需要加法。奖励(0/1)仍然用 Beta 后验。
为什么每个回合只抽一次? 如果每一步都重新抽样,智能体这一步想”游向上游”,下一步可能又想”回岸边”,前后矛盾——又回到了 ε-贪心式的”每一步独立地随机”。整个回合坚持同一个样本的策略,才能实现深度探索:如果样本说”上游很好”,智能体就会坚持游过去,验证这个假设。
4.2 实验:一次运行的细节
代码 03_psrl_and_scaling.py 演示 1 记录了 PSRL 前 12 个回合(部分):
| 回合 | 抽到的 MDP 认为能拿到的价值 | 这个策略在真实 MDP 中的价值 | 样本中”状态 3 向右前进”的概率 | 本回合到达的最右状态 |
|---|---|---|---|---|
| 1 | 11.25 | 0.000 | 0.46 | 2 |
| 2 | 7.83 | 0.100 | 0.15 | 0 |
| 3 | 10.68 | 0.000 | 0.34 | 1 |
| ⋮ | ||||
| 9 | 3.89 | 3.057 | 0.15 | 5 |
| 10 | 3.94 | 0.000 | 0.33 | 4 |
- 一开始后验很宽,抽到的 MDP 往往认为能拿到很高的价值,但真实价值几乎为 0。原因是先验 :没见过的 在样本中可以”一步跳到任何地方”,包括直接跳到上游——抽到的策略去尝试这些想象中的”捷径”,试一次就发现不行,后验就排除了一个错误的可能。
- 样本中”状态 3 向右前进”的概率从 0.01 到 0.46 不等(真实值 0.35)——后验的宽窄就是不确定性。
- 第 9 个回合,样本对上游足够乐观,智能体坚持这个样本的策略一路游到了上游,这个策略几乎就是最优的(3.057)。
4.3 PSRL 与乐观的比较
| 乐观(R-max、MBIE-EB) | 后验采样(PSRL) | |
|---|---|---|
| 探索的来源 | 确定性的乐观奖励 | 后验的随机性 |
| 需要调的参数 | 或 | 先验 |
| 计算 | 每个回合一次规划 | 每个回合一次抽样 + 一次规划 |
| 理论保证 | 频率学派(高概率) | 贝叶斯遗憾 |
| 优点 | 可控、可解释 | 不需要设计置信区间;自然地利用先验知识和问题结构 |
Osband & Van Roy (2017) 论证了后验采样在很多情况下比乐观更高效:乐观算法必须对每一个 同时保持乐观(置信区间要”同时成立”),而后验采样只需要抽出的样本”整体上合理”。
5. 无模型与深度 RL 中的探索
5.1 无模型的计数奖励
基于模型的方法需要估计 ,在大规模问题中不现实。能不能直接在 Q-learning 中加探索奖励?
Q-learning + 计数奖励(Jin et al., 2018 的 UCB-Q 的简化版):
- 乐观地初始化 (最大可能值);
- 更新目标加上探索奖励:,学习率 ,。
演示 2(2000 个回合,20 个种子):
| 算法 | 累积遗憾(100 / 500 / 2000 回合) | 最后 100 回合每回合遗憾 |
|---|---|---|
| 确定性等价 + ε-贪心() | 275.8 / 1303.1 / 5155.4 | 2.568 |
| Q-learning + ε-贪心() | 301.5 / 1507.3 / 6037.0 | 3.023 |
| Q-learning + 计数奖励() | 282.5 / 597.6 / 659.1 | 0.061 |
| Q-learning + 计数奖励() | 289.2 / 793.2 / 1051.1 | 0.132 |
| R-max() | 113.0 / 113.2 / 113.8 | 0.000 |
| MBIE-EB() | 12.4 / 12.5 / 12.7 | 0.000 |
| PSRL | 76.0 / 81.8 / 84.2 | 0.000 |
- 无模型的计数奖励能学会(最后每回合遗憾接近 0),但比基于模型的方法慢得多:它没有模型,乐观只能通过一次次的 Q 更新慢慢传播回去;基于模型的方法每个回合都做一次完整的规划,一次就把新信息传播到所有状态。这又一次体现了第 3 讲、第 5 讲讨论过的”基于模型 vs 无模型”的样本效率差距(第 15 讲还会继续)。
- 乐观初始化是必不可少的(练习 5):去掉它,这个算法的遗憾和 ε-贪心一样。
5.2 深度 RL 中的探索
在 Atari、机器人等大规模问题中,状态几乎不会重复出现,“计数”失去了意义。几类主要的思路:
- 伪计数(pseudo-count)(Bellemare et al., 2016):用一个密度模型估计”这个状态有多新”,把它转换成一个”等效的计数”,再用 作为探索奖励。它第一次在 Montezuma’s Revenge 中取得了实质性的进展。
- 随机网络蒸馏(RND)(Burda et al., 2018):随机初始化一个固定的”目标网络”,训练另一个网络去预测它的输出。在见过很多次的状态上,预测很准;在新状态上,预测误差大——预测误差就是”新颖程度”,用作探索奖励。
- 好奇心 / 内在动机(Pathak et al., 2017):训练一个模型预测”做了动作 之后状态会怎样变化”,预测误差作为奖励——“对自己预测不了的东西感到好奇”。
- 一个著名的陷阱是”嘈杂的电视”问题:如果环境中有一台播放随机噪声的电视,它永远无法被预测,好奇的智能体会一直盯着它看。这说明”预测误差”混淆了两种不确定性:可以通过学习减少的(认知不确定性,这才值得探索)和本身就是随机的(偶然不确定性,探索也没用)。计数和后验方法天然只针对前者。
- Bootstrapped DQN(Osband et al., 2016):训练多个 Q 网络的”集成”,每个在数据的不同子集上训练;每个回合随机选一个网络,按它贪心地行动一整个回合——这就是 PSRL 在深度 RL 中的近似,每个网络相当于一个”后验样本”。
- 噪声网络(NoisyNet)、参数空间噪声:在网络参数上加噪声,同样是”一个回合内保持一致”的随机性。
这些方法的共同思路,正是本讲的两大原则:对不确定的地方保持乐观(1、2、3)和从后验中采样、坚持一个回合(4、5)。
6. 比较与规模
6.1 链越长会怎样?
演示 3:链长 从 6 到 12(视界 ),1000 个回合的累积遗憾(10 个种子;* 表示有种子从没到过上游):
| 算法 | ||||
|---|---|---|---|---|
| 4.63 | 5.27 | 5.89 | 6.50 | |
| 确定性等价 + ε-贪心 | 3904.2* | 5125.4* | 5709.7* | 6282.0* |
| Q-learning + 计数奖励 | 931.6 | 2004.0 | 3431.3 | 4947.2 |
| R-max() | 132.9 | 170.2 | 218.7 | 246.9 |
| MBIE-EB() | 18.3 | 26.6 | 33.3 | 44.2 |
| MBIE-EB() | 37.7 | 51.9 | 75.1 | 94.5 |
| PSRL | 101.4 | 204.5 | 355.9 | 576.3 |
- ε-贪心: 时所有种子都从没到过上游——遗憾就是”一直守着岸边”。
- R-max、MBIE-EB:遗憾随 大致线性增长,始终能学会——对应”样本复杂度是多项式”。
- PSRL 的遗憾随 增长得更快。一个重要原因是先验: 认为”转移到任何状态都同样可能”,状态越多,这个先验越分散,样本中经常出现”一步跳到上游”这样离谱的转移(4.2 节),需要更多数据才能排除。换成只允许转移到相邻状态的稀疏先验后,PSRL 的遗憾在 时从 101 降到 42,在 时从 576 降到 137(练习 6)。另外,MBIE-EB 的 是在 上挑出来的,这个比较对 PSRL 并不完全公平。
- 无模型的计数奖励能学会,但随 增长明显变慢。
6.2 怎样选择?
- 小规模、可以建模的问题(比如教育、医疗中的离散决策):基于模型的乐观方法或 PSRL,样本效率最高。
- 有好的先验知识:PSRL 能自然地利用它(先验选得好,效果显著)。
- 大规模问题:需要函数逼近;探索奖励(伪计数、RND)或近似后验采样(Bootstrapped DQN)。
- 不管用什么:ε-贪心只适合”随便试试就能发现好东西”的问题。对于需要深度探索的问题,它会失败。
7. 本讲总结
7.1 核心概念清单
- MDP 中探索更难:需要连续做对很多步才能发现的东西,“每一步独立地随机”的探索需要指数时间。
- “到达过”不等于”学会了”:偶尔碰到一次,数据太少,估计仍然认为不值得——探索需要持续。
- 遗憾 与 PAC-MDP 样本复杂度(非 ε-最优的步数是多项式)。
- 乐观 + 规划 = 深度探索:乐观的奖励通过动态规划传播,把智能体有计划地拉向未知区域。
- R-max:未知的 (访问少于 次)假设最大奖励;“要么探索,要么利用”; 太小会被错误模型困住。
- MBIE-EB:奖励 + ,UCB 的直接推广;对参数不敏感。
- PSRL:每个回合从后验抽一个 MDP,执行它的最优策略一整个回合;Dirichlet 后验;先验很重要。
- 无模型的计数奖励:必须配合乐观初始化;比基于模型的方法慢。
- 深度 RL 的探索:伪计数、RND、好奇心(注意”嘈杂的电视”)、Bootstrapped DQN。
7.2 公式速查表
| 名称 | 公式 |
|---|---|
| 回合制遗憾 | |
| 期望到达时间 | , |
| 有限视界动态规划 | |
| R-max | |
| MBIE-EB | |
| Dirichlet 后验 | |
| PSRL | , |
| 计数奖励 Q-learning | , |
7.3 中英术语对照表
| 中文 | 英文 | 中文 | 英文 |
|---|---|---|---|
| 深度探索 | Deep exploration | 期望到达时间 | Expected hitting time |
| 样本复杂度 | Sample complexity | PAC-MDP | Probably Approximately Correct in MDPs |
| 确定性等价 | Certainty equivalence | 探索奖励 | Exploration bonus |
| 已知/未知状态-动作对 | Known / unknown state-action pairs | 要么探索要么利用 | Explore or exploit |
| 后验采样强化学习 | Posterior Sampling for RL (PSRL) | Dirichlet 分布 | Dirichlet distribution |
| 伪计数 | Pseudo-count | 随机网络蒸馏 | Random Network Distillation (RND) |
| 内在动机 / 好奇心 | Intrinsic motivation / curiosity | 嘈杂的电视问题 | Noisy-TV problem |
| 认知不确定性 | Epistemic uncertainty | 偶然不确定性 | Aleatoric uncertainty |
| 自助法 DQN | Bootstrapped DQN | 噪声网络 | NoisyNet |
8. 练习题
练习 1(到达时间):把 RiverSwim 中间状态”向右”的成功率从 0.35 改成 0.5(原地不动 0.45,被冲回 0.05)。完全随机地走,到达上游的期望时间还随 指数增长吗?每多一个状态大约乘以多少?
参考答案
随机选动作时,每步前进的概率 ,后退的概率 ,后退仍是前进的 2.1 倍,所以仍然是指数增长,每多一个状态约乘以 2.1。实测(用代码 01 的 hitting_time): 时分别为 54、295、1381、6196 步,每多 2 个状态约乘以 4.5 ≈ 。只要”随机游走偏向远离目标的方向”,到达时间就是指数的。
练习 2(遗憾与 PAC):一个算法在前 1000 个回合每个回合都有 1 的遗憾,之后遗憾为 0。另一个算法每个回合都有 的遗憾。 时,谁的累积遗憾更小?谁的”样本复杂度”(遗憾大于 0.01 的回合数)更小?
参考答案
第一个:累积遗憾 1000,样本复杂度 1000。第二个:;遗憾大于 0.01 意味着 ,样本复杂度 。第一个在两个指标上都更好。但如果 只有 ,第二个的累积遗憾(约 62)远小于第一个(1000)。两个指标衡量的角度不同:PAC 关心”犯错多少次”,遗憾关心”犯错的总代价”。
练习 3(R-max 的失败):解释为什么 R-max 在 时有一半的种子从没到过上游,而 MBIE-EB 在 时从不失败。两者的根本区别是什么?
参考答案
时,每个 试一次就变成”已知”,之后完全相信经验模型。在状态 1 向右只试一次,有 0.65 的概率没能前进(原地不动或被冲回),经验模型就认为”从状态 1 游不过去”;上游的 虽然仍是未知的(乐观的),但模型认为到不了,乐观传播不过去,R-max 从此只在岸边利用。MBIE-EB 没有”已知”的硬门槛:试得少的 的探索奖励 仍然不小,状态 1 的”向右”本身就显得有吸引力,智能体会继续尝试,直到数据纠正错误的转移估计(3.5 节演示 2 正好记录了这个过程)。根本区别:R-max 在”已知”之后完全放弃乐观,MBIE-EB 的乐观随数据平滑地减少。
练习 4(PSRL 的抽样频率):如果 PSRL 在每一步(而不是每个回合)重新从后验中抽一个 MDP 并按其最优策略选动作,会发生什么?
参考答案
智能体会失去”一致性”:这一步抽到的样本认为上游很好,于是向右;下一步抽到的样本认为岸边更好,于是向左。行为变成了”每一步独立地随机”,与 ε-贪心类似,无法连续很多步地走向上游,深度探索的能力就丧失了。PSRL 的关键之一,正是在一个回合内坚持同一个假设,直到获得足够的证据验证或否定它。这与 Bootstrapped DQN “每个回合选一个网络”的设计是同一个道理。
练习 5(动手)★:在 agents.py 中去掉”Q-learning + 计数奖励”的乐观初始化(把 Q 初始化为 0),在 上运行 2000 个回合。它还能学会吗?为什么?
参考答案
实测(20 个种子):累积遗憾在第 100、500、2000 回合分别为 301.5、1507.8、6032.0,和 ε-贪心 Q-learning 几乎一样——完全学不会(有乐观初始化时是 282.5、597.6、659.1)。原因:探索奖励 只加在被访问过的 上。没访问过的 的 Q 值停在 0,而访问过的因为加了奖励反而显得更好——这恰好与探索的方向相反,智能体会反复选择已经试过的动作。在 UCB 中,没拉过的臂的上界是 ;在这里,乐观初始化扮演的正是”没试过 = 最乐观”的角色。探索奖励负责”试得少的要多试”,乐观初始化负责”没试过的一定要试”,缺一不可。
练习 6(动手)★:给 PSRL 换一个稀疏的先验:从状态 出发只允许转移到 (这些位置的 Dirichlet 参数为 1,其余为 0.01)。 和 (,1000 个回合)时遗憾分别是多少?这说明了什么?
参考答案
实测(10 个种子): 时从 101.4 降到 42.3, 时从 576.3 降到 137.0。稀疏先验排除了”一步跳到任何地方”这类不可能的转移,抽到的 MDP 不再去追逐想象中的捷径,探索集中在真正不确定的地方。这说明:PSRL 的效率很大程度上取决于先验是否反映了问题的结构。这既是它的优势(可以利用领域知识),也是它的风险(先验错了会误导探索,第 12 讲 5.1 节)。
练习 7(思考题):用”认知不确定性”和”偶然不确定性”解释”嘈杂的电视”问题。为什么基于计数的探索奖励不会被嘈杂的电视吸引?
参考答案
认知不确定性来自”数据不够”,可以通过收集更多数据来减少;偶然不确定性来自环境本身的随机性,无论收集多少数据都无法减少。好奇心用”预测误差”作为奖励,而随机噪声的预测误差永远很大(偶然不确定性),所以智能体会一直盯着电视。基于计数的奖励 只取决于访问次数:电视前的状态访问得越多,奖励越小,最终降到 0——它只衡量认知不确定性。(在大规模问题中,“电视画面”每次都不一样,如果把每一帧当作不同的状态来计数,同样会出问题;所以伪计数的质量取决于密度模型能否把”本质上相同”的状态归为一类。)
9. 延伸阅读
- CS234 Spring 2024 Lecture 13–14 录像与课件。
- Strehl & Littman (2008),An Analysis of Model-Based Interval Estimation for Markov Decision Processes:MBIE、MBIE-EB 与 RiverSwim。
- Brafman & Tennenholtz (2002),R-max – A General Polynomial Time Algorithm for Near-Optimal Reinforcement Learning。
- Osband, Russo & Van Roy (2013),(More) Efficient Reinforcement Learning via Posterior Sampling(PSRL)。
- Osband & Van Roy (2017),Why is Posterior Sampling Better than Optimism for Reinforcement Learning?
- Jin, Allen-Zhu, Bubeck & Jordan (2018),Is Q-learning Provably Efficient?
- Bellemare et al. (2016),Unifying Count-Based Exploration and Intrinsic Motivation(伪计数)。
- Burda et al. (2018),Exploration by Random Network Distillation。
- Osband et al. (2016),Deep Exploration via Bootstrapped DQN。
- Agarwal, Jiang, Kakade & Sun,Reinforcement Learning: Theory and Algorithms(免费在线书):第 7 章(UCBVI)。
10. 下一讲预告
前三讲都在问”怎样学到一个未知的世界”。下一讲换一个角度:如果世界的规则是已知的(比如围棋、国际象棋),但状态多到无法枚举(围棋约有 个状态),怎样做出好的决策?
- 第 2 讲的动态规划需要遍历所有状态——不可能;
- 但我们只需要知道”当前这个局面该怎么走”——可以只在当前局面附近做前向搜索;
- 蒙特卡洛树搜索(MCTS):用模拟来评估局面,用 UCB(第 11 讲!)决定搜索树中往哪里扩展——这叫 UCT;
- AlphaGo / AlphaZero:用神经网络提供”直觉”(策略和价值),用 MCTS 提供”深思熟虑”,再用自我对弈不断改进两者。
你会看到,本讲”乐观地探索”的思想,在搜索树的每一个节点上被反复使用。
下一讲之前,建议你:跑通 code/lecture13/ 下的 3 个脚本,完成练习 1、3、4,并尝试练习 5、6。