从单次示范学习蒙特祖玛的复仇
OpenAI 开发了一种强化学习(RL)代理,能够在 Atari 游戏《蒙特祖玛的复仇》中取得 74,500 的高分,超越了所有先前公开的结果。该代理通过使用近端策略优化(PPO)来优化游戏得分,并利用一次人类示范来绕过稀疏奖励环境中固有的探索困难。
稀疏奖励游戏中的探索问题
强化学习代理通常在《蒙特祖玛的复仇》这类游戏中表现不佳,因为它们依赖随机探索来发现奖励。在奖励稀疏且需要长而精确的动作序列的环境中,随机偶然获得奖励的概率会随序列长度呈指数级增长(exp(N)).
例如,在《蒙特祖玛的复仇》中获取第一把钥匙需要一系列特定动作:下梯子、跨绳索、跳过障碍物。成功的总体概率是每个单独动作概率的乘积,使得随机代理成功的可能性极低。
通过示范驱动的课程简化探索
为了解决探索问题,OpenAI 将探索与学习解耦,使用人类示范构建子任务课程。代理不再每次都从游戏开始处启动,而是从示范中精心挑选的状态开始。
逆向课程流程
代理遵循逆序学习过程:
- 终点状态初始化:代理首先在接近人类示范结束的位置开始训练。
- 增量回退:一旦代理能够在至少 20% 的 rollout 中击败或追平示范者在剩余游戏部分的得分,起始点就会向时间上更早的位置回退。
- 完整游戏掌握:该过程持续进行,直至代理能够从游戏原始起点独立开始并达到目标。
这种方法将指数级的探索问题转化为随动作数量 (N) 线性增长的问题,实际上把 RL 问题视为一种动态规划。
与模仿学习的比较
不同于基于模仿的方法——这些方法训练代理模仿示范中的特定状态或动作——OpenAI 的方法直接优化游戏得分。这一区别带来了若干优势:
- 避免过拟合:代理不受可能次优的人类示范限制。
- 性能优化:代理可以发现人类示范者未曾考虑的新解法。
- 通用性:该方法更适用于多玩家游戏,目标是超越对手而非单纯模仿特定玩家。
技术挑战与泛化
尽管探索已被简化,代理仍面临若干技术难题:
状态泛化
由于帧跳差异和动作本身的随机性,代理往往无法到达示范中的精确状态。因此,代理必须能够在非常相似但不完全相同的状态之间进行泛化。该方法在《蒙特祖玛的复仇》中有效,但在《Gravitar》和《Pitfall》等游戏中效果不佳,OpenAI 将其归因于更困难的视觉问题。
超参数调优
要实现高分,需要对 PPO 的熵奖励系数、学习率和奖励缩放进行精确调节。该算法仍表现出显著的随机波动,部分运行会出现收敛失败。
鲁棒性与扰动
为测试泛化能力,OpenAI 对策略施加了扰动:
- 粘性动作:以 0.25 的概率重复上一次动作,平均得分为 10,000。
- 随机动作:以 0.01 的概率插入随机动作,平均得分为 8,400。
虽然这些扰动降低了得分,但结果仍优于先前公开的基准。