Go-Explore 与归档式探索
Go-Explore 把探索拆成两阶段:维护已到达状态的归档,选择有希望的状态、确定性地返回、再从那里随机探索;随后用模仿学习使策略鲁棒。本章讲其设计动机(分离"回去"与"探索")、对可重置环境的依赖,以及后续的策略化版本。
随机探索的两个失败模式
Section titled “随机探索的两个失败模式”稀疏奖励任务里,随机探索(-greedy、熵奖励都算)有两个结构性失败模式:
- 绕路(detachment):策略曾经到达过很远的位置,但后来的更新让它"忘记"了怎么回去——有希望的区域从经验里脱落;
- 脱轨(derailment):每次从起点重走,靠随机性再次到达远处位置的路径不可靠——探索的成功无法复现,有价值的位置像"曾经去过但再也回不去的地方"。
两个模式指向同一个结构缺陷:探索(前进)与返回(复现已到达的位置)被混在同一个随机过程里。随机性善于前进、不善于精确返回。
两阶段:归档、返回、再探索
Section titled “两阶段:归档、返回、再探索”Go-Explore (Ecoffet et al., 2019, 2021) 把探索拆成两阶段,直接针对这两个模式:
Phase 1:归档式探索
- 归档(archive):把每个到达过的状态存进归档,按 cell(状态的粗粒度表示,如位置/进度)去重——每个 cell 保留"最值得从那里出发"的代表;
- 选择:从归档中选一个有希望的 cell(新发现的、或到达次数少的);
- 确定性返回:从当前状态确定性地回到该 cell(记录轨迹重放、或直接重置环境到该状态)——返回不靠运气,绕路与脱轨被同时解决;
- 再探索:从该 cell 出发随机探索一小段——前进靠随机性,若有新发现则更新归档。
重复以上循环:归档沿"有希望的方向"逐步扩张,每个新区域都被精确保存、可从那里继续出发。
Phase 2:鲁棒化
Phase 1 产出的轨迹依赖"确定性返回"(工程后门),策略本身不会走路。Phase 2 用模仿学习(在归档轨迹上做 BC + DAgger)训练出鲁棒的端到端策略,不再依赖后门(→ 行为克隆与 DAgger)。
Go-Explore 在 Montezuma's Revenge 上首次超越人类水平,并在更难的 Pitfall! 上同样超越人类——这两个任务是深度 RL 探索的标志性难题,多年无人突破。算力需求也远低于当时主流方法:Go-Explore 用相对廉价的计算拿到了当时最好的结果。
cell 表示是关键
Section titled “cell 表示是关键”归档按 cell 去重,cell 的设计决定探索的方向:
- 太粗(只有位置):所有"同一位置"的状态被合并,可能丢失关键差异(手里有没有钥匙);
- 太细(原始状态):几乎不去重,归档爆炸;
- 好的 cell:保留与任务进度相关的维度(位置、收集物),去掉无关细节。
这与内在奖励方法的共性一致:新颖度的定义决定探索去哪里(→ 好奇心与预测误差:ICM 与 RND)。
Phase 1 依赖可重置/可回放的环境(确定性返回需要能精确回到旧状态)——真实机器人或纯在线环境做不到。后续工作(Policy-based Go-Explore 等)把"确定性返回"换成"学一个返回策略",摆脱对环境后门的依赖;Go-Explore 的思想(分离返回与探索、归档 + 课程)也影响了目标条件探索与自动课程方向(→ 目标导向的探索)。
- 解决了"绕路"(detachment)与"脱轨"(derailment)两个探索失败模式
- 在 Montezuma 与 Pitfall 上超越人类
- 归档的状态表示(cell)设计是关键