OpenAI Roboschool 发布

OpenAI 已发布 Roboschool,一套用于强化学习设计的基于物理的环境。通过将现有的 MuJoCo 任务移植到 Bullet 物理引擎并引入新的复杂场景,Roboschool 提供了一个更易于访问且更稳健的框架,用于训练智能体以处理交互控制和多智能体竞争。

物理环境和 MuJoCo 移植

Roboschool 包含十二个初始环境。这些包括以前在 MuJoCo 中可用的任务,这些任务已被移植到 Bullet 物理引擎并进行了修改以使其更真实。除了移植的任务外,Roboschool 还引入了新的挑战,包括高级版本的 Humanoid 行走者任务和一个多人 Pong 环境。

为了方便立即使用,OpenAI 在 GitHub 仓库的 agent_zoo 文件夹中提供了所有环境的训练好的策略,以及一个 demo_race 脚本,使用户能够模拟三个机器人之间的竞赛。

交互控制和稳健运动

Roboschool 引入了超越简单前进运动目标的环境,以需要交互控制。虽然之前的 OpenAI Gym 环境经常导致脆弱的策略,其中智能体学习了单个循环轨迹并在受到推动时失败,但 Roboschool 的新 3D 人形环境要求智能体导航到一个位置随时间随机变化的旗帜。

HumanoidFlagrun

此环境旨在教机器人如何减速和转向以到达随机移动的目标。

HumanoidFlagrunHarder

此环境通过允许机器人跌倒并给予其恢复时间来增加难度。回合可能以机器人要么直立要么躺在地面开始,并且智能体不断受到白色立方体的轰击,以迫使其偏离轨迹。

OpenAI 指出,这些环境的策略是没有内部状态的多层感知器。基于此,研究人员认为在某些情况下,智能体会使用他们的手臂来存储信息以保持稳定和导航。

多智能体训练和对抗动态

Roboschool 支持在同一环境中同时训练和执行多个智能体,起始于 RoboschoolPong 环境。

多智能体训练允许以下几种配置:

  • 训练单个智能体与自身对抗。
  • 使用相同算法训练两个不同的智能体。
  • 让两个不同的算法相互对抗。

OpenAI 在对抗训练中确定了一个特定的挑战:策略振荡。在应用于 Pong 的策略梯度方法中,研究人员观察到智能体会过度拟合对手当前的策略,而不是学习一个通用解决方案。例如,一个智能体可能学会防御屏幕顶部,而另一个智能体则学会将球发送到底部。一旦第一个智能体适应到底部,第二个智能体又会再次适应,导致出现振荡的学习曲线,在这几个小时的训练后,两个智能体都没有学到有用的通用策略。OpenAI 认为虽然这种对抗互动很棘手,但它可以为发展复杂策略提供自然的课程。

Sources