选自
作者:JOHN 、JACK CLARK、OLEG
机器之心编译
参与:黄小天、蒋思源
近日, 在其官方博客上宣布推出 ,一款用于机器人仿真的开源软件,它基于 物理引擎,并已实现与 之前发行的 Gym 之间的整合,也使得在同一环境中同时训练多个智能体变得简单。机器之心对该文进行了编译,并在文中附上了 和 Gym 的 项目地址。官方博客地址请见文末。
我们推出了 ,一款用于机器人仿真的开源软件,已与 Gym 相整合。
3 个控制策略分别运行在 3 个彼此不同的机器人上,并在 中互相竞争。你可以通过运行 /.py 重新演示这一场景。每次你运行这个脚本,会随机出现一组的机器人。
提供了模拟控制机器人的 Gym 新环境。这些环境中的 8 个作为 预存而实现自由替换,再调试就可以生成更多的逼真动作。我们同样涵盖了若干个具有挑战性的新环境。
也使得在相同环境中同时训练多个智能体变得简单。
在我们推出 Gym 之后,很多用户反馈了这样一个问题, 组件需要一个付费的许可证(尽管 最近为个人和课堂教学增加了免费的学生许可证)。 不再有这一限制,使得每个人皆可进行研究而无需担心预算。 基于 (一个开源、受到广泛许可的物理库),该库已用于其他仿真软件,比如 和 V-REP。
环境
搭载有 12 个环境,其中有 用户熟悉的任务以及新挑战,比如类人步行者任务(the task)的更难版本,多玩家 Pong 环境。我们计划不断扩展这一集合,并期待来自更多研究社区的贡献。
对于现有的 环境,除了将其移植到 之外,我们已经将其修改得更逼真。以下是我们移植的 3 个环境,并解释它们与其它已有环境的不同之处。
在 库 文件夹中你可以找到所有环境的训练策略。你同样也可以访问 脚本来启动 3 个机器人之间的竞争。
交互和稳健的控制
在 Gym 之前的若干个环境中,其目标是学习一个步行控制器。然而,这些环境包含了问题的一个基本版本,即目标设为简单地前进。实际上,行走策略将学习一个单循环轨迹,并留下大部分状态空间。进而,最后的策略将倾向于非常脆弱:很小的一个推动常常导致机器人崩溃并摔倒。
我们已添加了另外两个 3D 类人环境,这使得运动问题更加有趣、更具挑战性。这些环境需要交互式控制——机器人必须跑向旗帜,在这一过程中其姿态会随机变化。
被设计用来教机器人减速和转向。目标是机器人跑向旗帜,其姿态随机发生变化。
r 允许机器人摔倒,并给它时间重新站立起来。它也以直立或躺在地上的方式开始每一个 ,并且机器人遭到白色立方体的持续轰击以使其偏离轨迹。
我们同时为 和 r 提供已训练的策略。虽然智能体行走并不像普通人那样快速与自然,但这些策略可以从很多情景下恢复,它们也知道如何引导智能体。这种策略本身就是一种多层感知机,其并没有内部状态,所以我们相信是智能体在某些情况下会使用它们的手臂储存信息。
多参与者
能让你在同一环境下同时运行和训练多个智能体。我们最开始推出了 ,但随后会推出更多的环境。
通过对多参与者的训练,你可以训练两个同样的智能体互为双方(所以智能体在和它自己玩),你也可以使用同样的算法训练两个不同的智能体,或甚至你能为智能体设置两种不同的算法。
两个智能体互为对手学习玩
多智能体设定展示了一些有趣的挑战。如果你同时训练两个玩家,你看到的学习曲线就如下图所示,该学习曲线由策略梯度法训练得出:
pong 的学习曲线,其中策略更新与策略梯度算法同时运行。
下面是对这一学习过程具体的解读:
由这种方式,策略就已经震荡了,且经过几个小时的训练,两个智能体都没有学到任何有用的信息。对于生成对抗网络来说,对抗性设定是一个很实用的技巧,但我们认为这是一个十分有趣的研究问题,因为这种相互作用即使在简单的环境中都会产生复杂的策略,其也提供了一种很自然的课程。
研究社区已经为 Gym 构建环境付出了很多努力,其中有一些是基于开源物理模拟器。在最近的项目中,研究者构建了一组 Gym,其可以通过开源物理模拟器 DART 替代 。这表明甚至可以在两个物理模拟器 和 DART 之间转移策略。
原文链接: