基于预测奖励的强化学习
摘要
OpenAI 推出随机网络蒸馏 (RND),一种基于预测的方法,通过好奇心驱动强化学习智能体进行探索,无需演示或获取游戏状态信息就能在 Montezuma's Revenge 上达到人类水平的性能。
我们开发了随机网络蒸馏 (RND),一种基于预测的方法,通过好奇心驱动强化学习智能体探索其环境,首次在 Montezuma's Revenge 上超越了平均人类水平的表现。
查看缓存全文
缓存时间:
2026/04/20 14:43
# 基于预测的奖励强化学习
来源:https://openai.com/index/reinforcement-learning-with-prediction-based-rewards/
OpenAI
我们开发了随机网络蒸馏(RND),这是一种基于预测的方法,通过好奇心驱动强化学习智能体探索环境,首次在《蒙特祖玛的复仇》上超越了平均人类表现。RND 实现了最先进的性能,周期性地找到了所有 24 个房间,并在不使用演示或访问游戏基础状态的情况下解决了第一关。
RND 通过测量固定随机神经网络在访问状态上的输出预测难度,来激励访问陌生状态。在陌生状态中,很难猜测输出,因此奖励很高。它可以应用于任何强化学习算法,实现简单且易于扩展。以下我们发布了 RND 的参考实现,可以重现我们论文中的结果。
为了让智能体实现所需目标,它必须首先探索其环境中的可能性以及什么构成朝向目标的进展。许多游戏的奖励信号提供了一个课程,即使是简单的探索策略也足以实现游戏目标。在介绍 DQN 的开创性工作中,《蒙特祖玛的复仇》是唯一一款 DQN 只获得 0% 平均人类得分(4.7K)的游戏。简单的探索策略极不可能获得任何奖励,或看到超过几个的 24 个房间。自那以后,在《蒙特祖玛的复仇》中的进展一直被看作是探索进展的同义词。
点图显示《蒙特祖玛的复仇》的进展
2016 年取得了重大进展,通过将 DQN 与基于计数的探索奖励相结合,产生了一个探索 15 个房间、最高得分为 6.6K、平均奖励约 3.7K 的智能体。自那时以来,RL 智能体得分的重大改进仅来自于利用对人类专家演示的访问,或访问模拟器的基础状态。
我们运行了一个大规模 RND 实验,配备 1024 个回滚工作进程,在 9 次运行中获得了 **10K 的平均回报**,最佳平均回报为 14.5K。每次运行发现了 20 到 22 个房间。此外,我们的一个规模较小但运行时间较长的实验产生了一次运行(共 10 次),实现了 **17.5K 的最佳回报,对应于通过第一关并找到所有 24 个房间**。下图对比了这两个实验,显示了参数更新函数中的平均回报。
显示参数更新上平均情节回报的图表
下面的可视化显示了较小规模实验在发现房间方面的进展。好奇心驱动智能体发现新房间并找到增加游戏中分数的方法,而这种外在奖励驱动它在训练后期重新访问这些房间。
在开发 RND 之前,我们与加州大学伯克利分校的合作者一起研究了在没有任何环境特定奖励的情况下学习。好奇心为我们提供了一种更容易的方式来教导智能体与任何环境互动,而不是通过一个精心设计的、我们希望对应于解决任务的特定任务奖励函数。像 ALE、Universe、Malmo、Gym、Gym Retro、Unity、DeepMind Lab、CommAI 这样的项目使大量模拟环境通过标准化界面可供智能体交互。使用不特定于特定环境细节的通用奖励函数的智能体可以在广泛的环境中获得基本的能力水平,使智能体能够确定即使没有精心设计的奖励,什么有用的行为甚至存在。
在标准强化学习设置中,在每个离散时间步,智能体向环境发送一个动作,环境通过发出下一个观察、转移奖励和情节结束指示符来响应。在我们之前的论文中,我们要求环境仅输出下一个观察。在那里,智能体从其经验中学习一个下一状态预测器模型,并使用预测的误差作为内在奖励。因此它被吸引到不可预测的东西。例如,它只有在分数显示在屏幕上且变化很难预测时,才会发现游戏分数的变化是有奖励的。智能体通常会发现与新对象的交互是有奖励的,因为这些交互的结果通常比环境的其他方面更难预测。
类似于之前的工作,我们试图通过选择对观察的特征进行建模来避免对环境的所有方面(无论是否相关)进行建模。令人惊讶的是,我们发现即使随机特征也效果很好。
我们在 50 多个不同的环境上测试了我们的智能体,并观察了从看似随机的动作到有意与环境互动的一系列能力水平。令我们惊讶的是,在某些环境中,智能体实现了游戏的目标,尽管游戏的目标并未通过外在奖励传达给它。
**Breakout**
智能体在训练初期看到砖块的新配置以及在训练数小时后首次通过关卡时经历内在奖励的尖峰。
**Pong**
我们训练智能体同时控制两个挡板,它学会了保持球在游戏中,导致长时间的往返。即使在与游戏内 AI 对战时,智能体也试图延长游戏而不是赢。
**Bowling**
智能体学会了比直接最大化(剪裁的)外在奖励的智能体更好地玩游戏。我们认为这是因为智能体被罢工后记分牌的难以预测的闪烁所吸引。
**Mario**
内在奖励与游戏的通过关卡目标特别一致。智能体因发现新区域而获得奖励,因为新发现区域的细节是不可能预测的。因此智能体发现了 11 个关卡,找到了秘密房间,甚至击败了老板。
像老虎机前被偶然结果吸引的赌徒一样,智能体有时会被其好奇心困住,这是嘈杂电视问题的结果。智能体在环境中发现了随机性来源并持续观察它,总是对这样的转换获得高的内在奖励。观看播放静态噪声的电视就是这样一个陷阱的例子。我们通过在 Unity 迷宫环境中放置一个播放随机频道的电视,从字面上演示了这一点。
虽然嘈杂电视问题在理论上是一个问题,对于像《蒙特祖玛的复仇》这样的大部分确定性环境,我们预期好奇心会驱动智能体发现房间并与对象互动。我们尝试了下一状态预测好奇心的几个变体,将探索奖励与游戏得分相结合。
在这些实验中,智能体通过一个嘈杂的控制器控制环境,该控制器以一定的概率重复最后一个动作而不是当前动作。这种带有粘性动作的设置被建议作为在完全确定性游戏(如 Atari)上训练智能体的最佳实践,以防止记忆化。粘性动作使房间间的转换不可预测。
由于下一状态预测本质上容易受到嘈杂电视问题的影响,我们确定了以下相关的预测误差来源:
- **因素 1**:预测误差很高,因为预测器无法从之前看到的例子进行泛化。新奇的体验对应于高预测误差。
- **因素 2**:预测误差很高,因为预测目标是随机的。
- **因素 3**:预测误差很高,因为进行预测所需的信息丢失,或预测器的模型类太受限,无法拟合目标函数的复杂性。
我们确定因素 1 是有用的误差来源,因为它量化了体验的新奇性,而因素 2 和 3 导致嘈杂电视问题。为了避免因素 2 和 3,我们开发了 RND,一个新的探索奖励,基于在给定下一状态的情况下预测固定和随机初始化神经网络在下一状态上的输出。
下一状态与 RND 并排堆叠
直觉是预测模型在与已训练过的状态相似的状态中误差低。特别是,智能体对随机初始化神经网络输出的预测在新奇状态中的准确性将低于在智能体频繁访问的状态中。使用合成预测问题的优势是我们可以让它是确定的(绕过因素 2)并在预测器可以表示的函数类内部(通过选择预测器与目标网络具有相同架构来绕过因素 3)。这些选择使 RND 对嘈杂电视问题免疫。
我们通过使用两个价值头处理两个奖励流的 Proximal Policy Optimization (PPO) 变体将探索奖励与外在奖励相结合。这允许我们为不同的奖励使用不同的折扣率,并组合情节和非情节回报。有了这种额外的灵活性,我们最好的智能体经常在《蒙特祖玛的复仇》第一关中找到 24 个房间中的 22 个,偶尔在找到剩余两个房间后通过第一关。相同的方法在 Venture 和 Gravitar 上获得了最先进的性能。
六个图表对比 PPO 和 RND 的游戏得分
下面 RND 奖励的可视化显示了《蒙特祖玛的复仇》一个情节中内在奖励的图表,其中智能体首次找到了火焰。
大局考虑,如对嘈杂电视问题的易感性,对选择好的探索算法很重要。然而,我们发现在我们的简单算法中让看似很小的细节正确做出,在永远不离开第一个房间的智能体和能够通过第一关的智能体之间产生了差异。为了增加训练的稳定性,我们避免了特征的饱和,并将内在奖励带到可预测的范围。我们还注意到每次我们发现并修复错误时 RND 性能都有显著改进(我们最喜欢的一个涉及意外地将一个数组清零,导致外在回报被视为非情节;我们只有在对外在价值函数看起来可疑周期的困惑之后才意识到这一点)。即使使用概念上类似于之前工作的算法,让这样的细节正确也是实现高性能的重要部分。这是一个倾向于尽可能选择更简单算法的原因。
我们建议以下未来研究的前进方向:
- 分析不同探索方法的好处,并找到组合它们的新方法。
- 在没有奖励的许多不同环境上训练好奇的智能体,并调查向有奖励的目标环境的转移。
- 研究涉及长时间跨度协调决策的全局探索。
如果你有兴趣在克服这些挑战方面工作,那就申请与我们合作吧!
相似文章
OpenAI Blog
OpenAI 展示了一种通过单个人类演示来训练强化学习智能体玩蒙特祖玛的复仇的方法,通过课程学习和仔细的超参数调优来解决稀疏奖励的挑战。该方法在这款臭名昭著的 Atari 游戏上取得了强劲表现,但在其他游戏上的泛化能力有限。
OpenAI Blog
OpenAI 展示了一项大规模实证研究,研究了在 54 个基准环境中不依赖外在奖励的好奇心驱动强化学习,展现了强大的性能,并探讨了特征空间在基于预测的奖励信号中的作用。
OpenAI Blog
# 从仿真泛化 来源: [https://openai.com/index/generalizing-from-simulation/](https://openai.com/index/generalizing-from-simulation/) 仿真机器人的强化学习成果充斥市场,这可能会给人一种印象,即强化学习能轻松解决大多数机器人任务。但常见的强化学习算法只在那些对动作的小幅扰动能带来奖励增量变化的任务中表现良好。一些机器人任务具有简单的奖励函数,比如行走任务,可以根据行进距离来评分
OpenAI Blog
OpenAI 提出了参数噪声技术,该方法向神经网络策略参数添加自适应噪声,而不是向动作空间添加噪声,使得智能体能够比传统动作噪声方法快得多地学习任务。该方法在 HalfCheetah 上实现了 2 倍的学习速度提升,代表了进化策略与 TRPO、DDPG 等深度强化学习方法之间的平衡点。
OpenAI Blog
OpenAI 提出了一种使用人类偏好反馈训练 AI 智能体的方法,智能体通过人类对行为轨迹的比较来学习奖励函数,并使用强化学习来优化推断的目标。该方法展示了很强的样本效率,需要少于 1000 比特的人类反馈就能训练智能体完成后翻。