Skip to content
←返回论文库

PAPER DEEP DIVE

强化学习Sparse RewardExploration

从单次演示中学习蒙特祖玛的复仇

仅用一次人类演示,把演示状态作为强化学习回合的起点并逐步后移,将稀疏奖励探索从指数级降到二次方;在《蒙特祖玛的复仇》上取得 74,500 分,超过此前所有公开结果。

Learning Montezuma's Revenge from a Single Demonstration

作者:Tim Salimans(OpenAI / Google Brain)、Richard Chen(OpenAI / Happy Elements Inc.)

会议:NeurIPS 2018(NIPS 2018)|论文:arXiv:1812.03381|代码:openai/atari-reset(已归档,可直接运行)|演示录制工具:openai/atari-demo

一句话总结

把一条人类演示切成"从易到难"的课程:每个强化学习回合都从演示中的某个状态开始,学会之后再把起点逐步往前挪,最终在完全不依赖演示的情况下通关,并在《蒙特祖玛的复仇》上拿到 74,500 分。

研究背景与动机

无模型强化学习靠试错学习。策略梯度和 Q-learning 这类方法在回合开始时从环境初始状态出发,随机探索;只有当随机动作序列碰巧带来奖励,这些动作才会被强化。奖励密集时这套机制运转良好,但在需要一长串精确动作才能拿到第一个奖励的任务里,随机探索几乎不可能命中。

论文用一个非常直白的概率论证说明了困难所在。假设通关需要依次完成五个关键动作——下第一段梯子、抓住绳子、下第二段梯子、跳过骷髅、爬上第三段梯子——那么拿到第一把钥匙的概率就是这五个事件概率的乘积。每一项都小于 1,连乘之后得到的概率会小得惊人。作者给出的经验数字是:在《蒙特祖玛的复仇》里,均匀随机动作平均大约每 50 万步才能产生一次奖励。

更一般地,如果第一个奖励需要长度为 $N$ 的正确动作序列,那么随机策略期望需要探索大约 $\exp(N)$ 个时间步才能第一次见到奖励。这个指数级复杂度是稀疏奖励任务的核心障碍,也是 Atari 硬探索游戏长期被视为试金石的原因。

此前的工作大致分成两条路。一条是改进探索本身:伪计数、内在奖励、集成不确定性、基于预测误差的好奇心等。另一条是模仿学习:让智能体去复现演示中的动作或状态。前者在《蒙特祖玛的复仇》上收益有限,后者虽然有效,却要求演示质量足够高、数量足够多,否则策略会继承演示的次优性,甚至过拟合到某一条特定轨迹。

本文选择第三条路:不模仿演示的动作,而是只借用演示中的状态来重置环境,把长程探索问题拆成一串短程问题,奖励仍然由原始环境给出、由强化学习直接最大化。这个设计让智能体保留发现新解的自由,同时绕开了最致命的探索瓶颈。

预备知识

稀疏奖励与盲崖行走。论文用 Schaul 等人提出的 blind cliff walk 作为分析工具:一条长度为 $N$ 的一维悬崖,智能体从状态 0 出发,每步有两个动作,一个正确、一个掉下悬崖;只有到达最后一个状态才能拿到奖励。由于假设状态之间不能泛化,智能体必须为每个状态单独学习一个表格型策略,这使得该环境成为分析探索复杂度的理想沙盒。

分布式 PPO。训练侧采用 PPO(Proximal Policy Optimization)。实现中每个 rollout worker 收集固定长度 $L$ 的轨迹,中心优化器用裁剪后的策略梯度更新共享的 RNN 策略;价值函数同样使用裁剪,避免单次更新过大。论文没有为方法本身发明新的优化器,而是把"从演示状态重置"作为一层与算法无关的课程机制,因此 PPO、A3C、IMPALA 都可以直接套用。

回合、重置与隐藏状态。对 recurrent policy 来说,仅仅把环境状态恢复到演示中的某一帧还不够:策略的循环隐藏状态必须与"最近发生了什么"一致。论文因此要求先回放起点之前的若干步演示动作,用这些动作把 RNN 的隐状态"预热"到与当前局面匹配,再交给策略接管。

方法详解

1. 把演示变成一组可重置的状态。给定一条演示轨迹 $\{(\tilde{s}_t,\tilde{a}_t,\tilde{r}_t,\tilde{s}_{t+1})\}_{t=0}^{T}$,方法是让每个 rollout worker 从某个演示时刻 $\tau^*$ 的状态 $\tilde{s}_{\tau^*}$ 开始一整个回合。训练刚开始时,所有 worker 的起点都靠近演示末尾 $T$——此时智能体距离成功只差几步,探索问题几乎不存在,学习可以立刻发生。

2. 用成功率决定起点何时前移。中心优化器统计"本回合得分不低于演示在同一段上的得分"的比例:

$$\frac{\sum_{D} W_i}{\sum_{D} d_{i,t}} \ge \rho$$

其中 $W_i$ 是第 $i$ 个 worker 的成功计数,$d_{i,t}$ 标记回合是否结束,阈值 $\rho$ 在实验中取 20%。一旦成功率越过阈值,中心起点就向前移动一个固定步长:

$$\tau \leftarrow \tau - \Delta$$

这一步是整篇论文最关键的工程判断。作者在相关工作里明确说,他们试过预先写死课程,但在《蒙特祖玛的复仇》这种难任务上,动态调整起点是取得结果的前提。

3. 每个 worker 在窗口内随机取起点。为了避免所有 worker 卡在同一个状态、把策略训练成只会应付单一局面,每个 worker 并不直接使用中心起点 $\tau$,而是在一个小窗口 $\{\tau-D,\ldots,\tau\}$ 内均匀采样自己的 $\tau^*$。代码中这个窗口由 worker 编号映射到不同的演示位置实现:起始点等于演示长度减去"编号除以每组 worker 数",相当于把并行 worker 均匀铺在最近一段演示上。

4. 回放 K 步演示来预热 RNN。确定 $\tau^*$ 之后,worker 先把时间计数器设为 $\tau^*-K$,回放演示中紧邻起点的 $K$ 步动作,把观测、动作、奖励、终止信号都灌进策略,但把这些转移标记为"不可训练"。代码里用 actions_to_overwrite 队列实现:回放阶段返回 valid=False,这些样本随后在损失函数中被 VALID 掩码剔除。这样既恢复了隐藏状态,又不会让策略去模仿演示动作。

5. 策略接管,直到回合结束。回放结束后,智能体按当前策略 $\pi(\theta)$ 采样动作,与环境交互,得到真实奖励。回合结束时比较本段累计回报与演示在同一段的回报:

$$\sum_{t \ge \tau^*} r_t \ge \sum_{t \ge \tau^*} \tilde{r}_t$$

满足则该回合记为一次成功。代码还加了两条实用的终止规则:如果智能体得分已经达到演示的最终分数,就在若干额外帧后主动结束;如果动作数超过 50 且得分落后演示同一时刻的回报,也立刻终止。这两条规则把算力集中在"有希望"的回合上,是论文正文没有展开、但实现中真实存在的细节。

6. 课程结束,智能体独立通关。当中心起点退到 $\tau=0$,也就是从游戏真正的初始状态开始时,智能体已经学会了整条链路;此时演示不再参与任何决策,策略完全靠自己通关。作者把这一过程类比为动态规划:长序列被拆成 $N$ 个短片段,每段只需要在已有能力的基础上再学一小步。

7. 复杂度从指数降到二次。假设每个状态需要 $O(N)$ 步学会,$N$ 个状态依次学习,总代价是 $O(N^2)$;而从头探索需要 $O(\exp(N))$。论文在图 3 中给出了实测拟合:从头开始约等于 $6.0 \cdot 2^{N}$,使用演示起点约等于 $47 \cdot N^{2}$。这两个常数不是装饰——它们说明在 $N=18$ 时,差距已经跨过两个数量级。

8. 与模仿学习的边界。方法只要求能重置环境、能访问演示中的完整状态,不要求演示动作可执行、也不要求策略复现这些动作。代价是它比模仿学习更依赖环境控制权;收益是它直接优化任务回报,因此可以超越演示——论文中的智能体最终比人类演示多拿了 3,000 分,并发现了作者都不知道的机制。

flowchart TD
    A[单条人类演示 T 步] --> B[中心起点 tau 设为演示末尾]
    B --> C[每个 worker 在 tau-D 到 tau 之间取本地起点]
    C --> D[回放起点前 K 步演示
预热 RNN 隐状态并掩码] D --> E[策略接管并采样动作] E --> F{本段回报 >= 演示同段回报} F -->|是| G[成功计数 W 加一] F -->|否| H[不计数] G --> I{成功率 >= 20%} H --> I I -->|是| J[tau 前移 Delta] I -->|否| K[保持起点继续训练] J --> L{tau == 0} K --> L L -->|否| C L -->|是| M[智能体从初始状态独立通关]

实验结果

盲崖行走:复杂度分析得到验证。作者在 $N$ 从 1 到 18 的 blind cliff walk 上训练表格型策略,要求以 95% 的概率解出问题,并对 20 个随机种子取几何平均。图 3 显示:从初始状态出发的曲线紧贴指数拟合,使用演示起点的曲线紧贴二次拟合。这不是"看起来更好",而是两种渐进复杂度在同一个坐标轴上被直接测量出来。

盲崖行走的复杂度对比
图 3:求解 blind cliff walk 所需步数。红色为从初始状态开始,绿色为从演示状态开始;虚线分别为 $6.0 \cdot 2^x$ 与 $47 \cdot x^2$ 拟合。

《蒙特祖玛的复仇》:一次演示换来 74,500 分。演示由作者用带"倒放时间、纠正失误"的工具辅助录制,得分 71,500,约 15 分钟;这个分数仍比不使用工具的高手低一个数量级以上。智能体最终在约 12 分钟内拿到 74,500 分,超过演示 3,000 分。超越的部分来自两处:多收集了钻石,以及在 4 分 25 秒时利用"钥匙会重新出现"的机制走了与演示不同的路线——后者是作者在录制演示时并不知道的。

在蒙特祖玛的复仇中逐步后移起点
图 1:训练过程中的起点演化。智能体先学会在钥匙前起跳,再依次学会爬梯、抓绳、跳骷髅,最终从游戏初始状态独立通关。

方法得分
Count-based exploration(Ostrovski 等,2017)3,705.5
Unifying count-based exploration(Bellemare 等,2016)6,600
DQfD(Hester 等,2017)4,739.6
Ape-X DQfD(Pohlen 等,2018)29,384
Playing by watching YouTube(Aytar 等,2018)41,098
本文74,500

训练规模。智能体使用一个比常规 Atari 策略大得多的卷积网络:输入是 $105 \times 80$ 的灰度画面,先过一层 $7 \times 5$、步长 $2 \times 2$、64 通道的二维卷积,再接四层三维卷积,空间核依次为 $5 \times 5$、$5 \times 5$、$5 \times 5$、$5 \times 3$,时间维核大小为 2、步长随层数按 $2^l$ 增长,通道数逐层翻倍。训练用 PPO,128 张 GPU、每张 8 个 worker,共 1024 个并行 rollout worker,累计约 500 亿帧,耗时两周。

项目取值
观测尺寸105 × 80 灰度
网络结构1 层 2D 卷积 + 4 层 3D 卷积(时间核 2)
优化算法PPO(GAE λ=0.95,γ∈[0.999, 0.9999])
并行规模128 GPU × 8 worker = 1,024 个 rollout worker
总训练帧数约 500 亿帧
课程阈值 ρ20%
训练时长约 2 周

鲁棒性评估。为了检验策略是否只是记住了演示轨迹,作者用两种扰动方式重新评测:以 0.25 的概率重复上一动作(sticky actions),以及以 0.01 的概率随机动作。前者平均得分 10,000,后者 8,400。绝对分数下降明显,但作者指出这仍优于此前公开的全部结果;在回合开头插入 0 到 30 个随机 no-op,也没有显著破坏结果,多数 rollout 仍能达到演示的最终分数。

评测条件平均得分说明
干净评测74,500低熵采样,约 12 分钟
Sticky actions(p=0.25)10,000每帧以 25% 概率重复上一动作
ε-greedy(ε=0.01)8,400每帧 1% 概率随机动作
0–30 个随机 no-op不显著下降多数 rollout 仍达到演示分数

blind cliff walk 示意
图 2:blind cliff walk。只有一条正确动作序列能走到终点拿到奖励,其余动作都会掉下悬崖;每个状态独立学习,因此问题规模可以直接控制探索难度。

局限性

1. 需要能任意重置环境。方法的前提是"可以把环境恢复到演示中的任意状态"。这在 Atari 模拟器里很容易,在真实机器人上却往往代价高昂甚至不可行。作者在相关工作中也承认,模仿学习路线不需要这种控制权,这是本文方法最硬的结构性限制。

2. 状态无法精确复现。作者自述,智能体从较早状态出发时,通常无法精确到达演示中稍后的状态:一方面是训练时的 frameskip 与录制演示时不同,另一方面是动作采样的随机性使精确复现某条动作序列几乎不可能。策略必须学会在"相似但不相同"的状态之间泛化。

3. 跨游戏泛化失败。同样的流程在《蒙特祖玛的复仇》上有效,但在 Gravitar 和 Pitfall 上明显更差;作者尝试更大更深的网络后只看到部分改善。他们推测这两款游戏需要更强的视觉理解,但没有给出系统性解决方案。

4. 对超参数高度敏感。作者明确写道,PPO 的熵奖励系数必须与学习率、奖励缩放一起仔细调,才能跑通完整课程;在 Gravitar 和 Pitfall 上他们根本找不到能跑通课程的组合。这种脆弱性意味着方法还不是"开箱即用"的通用方案。

5. 单次运行,无法估计方差。训练一次需要 128 张 GPU 跑两周,因此作者无法用多次独立运行来量化算法的一致性,只能报告单次结果。这一点在论文里被明确列为遗留工作,也是复现时最容易被低估的成本。

6. 与站点定位的关系。这篇论文本身是 Atari 硬探索研究,不是机器人论文;但它提出的"演示状态重置 + 动态课程"后来被大量用于机器人操作的课程学习与仿真重置。读者应把它当作方法源头来读,而不是当作机器人系统的直接结果。

总结与展望

这篇论文的贡献不在于发明了更复杂的网络或更强的探索奖励,而在于重新定义了演示的用途:演示不再是"要复制的标准答案",而是"可以借用的跳板"。通过把回合起点从演示末尾逐步移回开头,作者把一个指数级难度的探索问题改写成了一系列短程问题,并用成功率阈值自动控制课程推进。

对今天的具身智能研究,这个思路的价值反而更大。仿真环境天然支持任意状态重置,机器人操作、locomotion、灵巧手任务都可以把人类演示或专家轨迹切成分段起点,用"反向课程"把长程任务拆开;而在真实机器人上,难点会转化为"如何低成本地重置到目标状态",这正是后续 reset-free 学习、示范初始化课程等方向要解决的问题。

如果要把这篇工作继续往前推,至少有三个方向:一是把固定的成功率阈值换成对策略能力更敏感的自适应课程;二是把"状态重置"与少量在线纠正结合,减少对完整状态访问的依赖;三是在真实机器人上研究近似重置(例如用人类把物体摆回目标构型)是否足以保留二次复杂度的收益。

金句

演示不是要背诵的标准答案,而是一组可以反复借力的起跳点;真正被学习的,仍然是智能体自己走出来的那条路。

相关论文

基于注意力接触规划的人形机器人移动控制

基于注意力接触规划的人形机器人移动控制

本文把人形机器人全身移动中的接触关系作为感知、规划与控制之间的中间接口。系统先从人体动作中提取机器人可执行的接触标签,训练接触条件全身跟踪器;随后使用注意力网络从局部地形高度图直接预测双脚、双膝、双手、双肘与骨盆的未来接触点;最后在程序生成的目标到达地形上强化学习微调,并把成功轨迹回收为规划器的监督数据。部署时策略不依赖参考动作,仅使用机载本体感觉、LiDAR 地形图和目标命令。仿真中,该方法在十一类地形上均优于 MGMT,八条复合路线平均成功率为 92.5%,稀疏全身地形经第三阶段微调后提升 54.8 个百分点;Unitree G1 真机展示了攀爬、爬行、起身、通过复杂地形和失败恢复等能力。

Junzhe He, Kehan Wen, Chong Zhang · 30次阅读 · 2026年10月22日
人形机器人运动
2026年10月22日
Draft:面向机器人设计探索的参数化工具

Draft:面向机器人设计探索的参数化工具

Draft 将连杆参数、表达式运动学树和根体网格直接编译为可运行的 MuJoCo MJCF,并用 114 个集成执行器和 118 份公开机器人描述拟合质量、体积、传动比与转子惯量。论文通过四台 Unitree 数字孪生和三种四足强化学习实验,展示无 CAD 的快速设计探索、可行性筛选及速度、地形、抗推和效率之间的能力权衡。

David Nguyen, Marcelo Coelho, Sangbae Kim · 10次阅读 · 2026年9月29日
机器人设计Parametric Modeling
2026年9月29日
DONIC:从人类演示学双手灵巧跟踪

DONIC:从人类演示学双手灵巧跟踪

DONIC 是首个跨操作类别与人类动作数据源联合训练的通用双手跟踪器;配套 BiHOI 多视角数据集含 1575 段序列、229 个物体,强调持续双手接触。方法以物体为中心的逐手奖励与 Clip-Centered Advantages 支撑 PPO 加行为克隆的闭环,单个检查点在未见轨迹与未见物体上分别取得 86.79% 与 57.32% 的成功率,无需任何微调。

Mingze Sun, Ziang Cao, Yuan Fei · 38次阅读 · 2026年10月21日
灵巧操作Bimanual Manipulation
2026年10月21日
SimpleVLN:不改架构释放原生多模态大模型的视觉语言导航能力

SimpleVLN:不改架构释放原生多模态大模型的视觉语言导航能力

视觉语言导航(VLN)要求具身智能体把自然语言指令落到第一视角观测上并完成长程决策。现有方法大多靠任务专用结构补能力——全景拼接、3D 几何编码器、双系统分层决策——因此很难判断成绩里有多少来自 MLLM 本身。SimpleVLN 把问题反过来问:在引入任何任务专用模块之前,原生 MLLM 的导航潜力是否已经被榨干? 它的回答分三层。表述层:每次决策都重新构造一轮独立输入,即指令 + 当前观测 + 固定预算的全局-局部历史(默认全局 8 帧均匀采样、局部 1 帧),不再累积成越来越长的多轮对话;输出侧用动作块,一次推理给出多个基元动作(前进 0.25 m、左右转 15 度、停止)依次执行。数据层:R2R、RxR、ScaleVLN 的专家演示转成决策级监督样本,基于偏离度的 DAgger 在策略自己走到的状态上收集纠偏轨迹,RL 任务则在训练场景里自动合成新的起点-终点与指令。优化层:IL 到 DAgger 再到 RL 三段递进,RL 只用二值成功奖励(停在目标 3 m 内记 1 分),主结果用 DAPO 训 40 步。 只用单目 RGB、不改一行网络结构,Qwen3.5-9B 版在 R2R-CE 与 RxR-CE 的 val-unseen 上分别拿到 76.7% 与 80.1% 成功率,超过依赖全景、深度或里程计的现有方法;单次动作块决策耗时 293 ms。消融显示单轮输入把成功率从 35.7% 抬到 53.6%,DAgger 再贡献 7.5 与 8.1 个点。评测代码与八个权重已开源,并在 Daystar 四足机器人(Jetson Thor 机载)上完成真实环境验证。

Lingyi Hong, Weiren Cai, Jiayu Chen · 73次阅读 · 2026年10月16日
视觉语言导航具身智能
2026年10月16日

作为亚马逊联盟会员,我们可能从符合条件的购买中获得佣金。