查看原文
其他

Unity机器学习代理ML-Agents Toolkit v0.5发布

Unity Unity官方平台 2018-11-15

我们致力于让Unity成为人工智能研究的首选平台。近期我们发现社区涌现出非常多关于Unity机器学习的实践,例如:OpenAI通过Unity训练机械手来执行抓取任务;加州大学伯克利分校的团队使用Unity来测试基于好奇心学习的新方法等。


本文我们将分享ML-Agents Toolkit推出全新的改进内容和资源,以实现我们为AI研究社区提供更多支持的使命。


本次更新包含:

  • 全新版本ML-Agents toolkit v0.5,具有更灵活的行为规范和课程;

  • 关于ML-Agents和Unity平台的研究论文;

  • Gym接口,以便帮助研究者更轻松地将ML-Agents环境集成到训练工作流程中;

  • 学习环境的全新套件,它能仿造许多深度强化学习研究者使用的连续控制基准(Continuous Control benchmarks)。


特别说明:本文中涉及的资源下载或者参考说明,请访问文末“参考资源”章节。


关于Unity作为AI平台的研究论文

随着Unity和ML-Agents工具包逐渐广泛用作研究平台,我们收到了大量请求,希望我们发表介绍Unity平台的论文用于参考。于是,我们在arXiv发表了《Unity: A General Platform for Intelligent Agents》。在该参考文献中,介绍了我们对Unity作为仿真平台的愿景,它能构建和扩展其它类似平台的功能,文献还概述了研究工具ML-Agents工具包,探讨了基础设计和其它功能。

 

我们还使用近端策略优化(Proximal Policy Optimization)算法为示例环境提供了基准测试结果,部分Unity成员提供了用于对比的人类基准测试结果。有了这些基线,我们希望看到各研究小组得出更好的成果,在更多示例环境中取得“超越人类”的表现。


Gym接口支持

在首次发布ML-Agents工具包时,我们提供了自定义Python API,用于Unity训练环境与机器学习工具的交互。这是因为我们想提供强大灵活的方法来交互环境,它不受限于现有规则。该功能允许我们启用包含多代理和多大脑学习的情景,该情景还带有复杂的混合观测空间。


研究社区有许多人咨询了Gym包装器在这些环境的可用性。Gym是现今比较流行的与模拟环境交互的标准化方法。因此我们这次发布的Gym接口,将能用于交互Unity环境。如果你是一位使用Gym来构建实验管线的研究者,通过该接口你可以轻松将Gym环境换为Unity环境。


马拉松环境介绍

去年,社区成员Joe Booth使用ML-Agents工具包将连续控制基准的经典集合,在Unity环境中重新实现了出来,该基准经常在深度强化学习文献中出现。


使用的环境包含Walker、Hopper、Humanoid和Ant环境,它们基于DeepMind Control Suite和OpenAI Gym中的环境制作。我们将这些环境统称为马拉松环境(Marathon Environments),因为其目标是为了让代理学会快速持续地奔跑。我们将提供这些环境给研究社区使用,针对经典任务提供处理基准算法的简单方法。


 

这些环境是在Joe Booth的帮助下实现的,他是一位游戏行业的资深机器学习研究者,下面是Joe Booth的一些感想。


 “我想知道OpenAI、DeepMind和其它平台关于连续控制和运动的研究是否能应用于现代游戏引擎,例如:Unity和PhysX。试想在未来,游戏设计师可以输入想要动画的视频链接,然后AI会模拟该行为,并同时应对变化的环境,这效果会非常酷!通过创建框架在Unity中实现这些基线,开发者可以逐步取得进展。

 

在实现论文或创新想法时,开发者可以先测试简单的模型,例如:Hopper模型,从而确信该结果可以扩展为更为复杂的模型;例如:Walker或Humanoid,你可以了解如何在研究中将这个循序渐进的做法用于管理动态环境、控制器和风格转换器。

 

我希望了解别人如何使用马拉松环境。加入Gym后,我们能够为ML-Agents带来更多的前沿算法,例如:HER和MAML。最后,我非常高兴能在机器学习社区中贡献自己的一份力量。”


更多功能介绍

1

扩展的离散动作空间 

扩展的离散动作空间(Expanded Discrete Action Space):我们改变了离散动作空间的工作方式,允许使用此空间类型的代理一次性进行多个动作选择。ML-Agents之前的版本只允许代理一次选择一个离散动作,ML-Agents v0.5允许为代理创建动作分支,每个分支可包含不同固定数量的可选行为。

 

当得到请求时,代理会在运行时为每个分支选择一个动作。这意味着现在可以让代理在所选的方向上移动并跳跃,就像WallJump中的情况一样。我们还修改了BananaCollector环境,使该环境中的代理能够移动、转身和发射激光。


2

离散行为遮罩 

离散行为遮罩(Discrete Action Masking):在特定情况下,应禁止代理执行某些具体动作。例如:如果代理在空中时,它无法跳跃。在v0.5中,你可以为代理下一决策指定不可能动作。在收集观测时,你可以为代理的每个动作分支指定一个或多个不可能动作。代理在下一决策阶段不会尝试执行指定的这些动作。这意味着可以轻松避免代理执行不可能动作,而且不需要在动作方法中编写额外代码。



我们修改了GridWorld环境,以便遮蔽不合理动作,例如:让代理尝试穿进一面墙。这样代理不会在探索网格时浪费时间,从而加快学习速度。参考下图,对比有无动作遮罩时的学习过程。


3

元课程 

元课程(Meta-Curriculum):课程学习是项很棒的功能,它能够随着代理的进步,创建难度逐渐提高的环境。该功能在ML-Agents v0.2引入,在v0.5中得到改进。新的元课程功能可以让你在多大脑环境中创建课程情景。你可以分别为每个大脑指定课程。还可以创建学习环境让多种代理按各自节奏进行学习。我们还为WallJump环境加入了课程示例。


参考资源

  • 下载ML-Agents Toolkit v0.5

    https://github.com/Unity-Technologies/ml-agents


  • 马拉松环境下载:

    https://github.com/Unity-Technologies/ml-agents/tree/master/gym-unity


  • Gym:

    https://github.com/openai/gym


  • Gym接口工具包:

    https://github.com/Unity-Technologies/ml-agents/tree/master/gym-unity


  • OpenAI通过Unity训练机械手来执行抓取任务

    https://blog.openai.com/learning-dexterity/


  • 使用Unity来测试基于好奇心学习

    https://pathak22.github.io/large-scale-curiosity/


  • 连续控制基准

    https://github.com/deepmind/dm_control


  • 近端策略优化

    https://arxiv.org/abs/1707.06347


  • Unity: A General Platform for Intelligent Agents

    https://arxiv.org/abs/1809.02627


结语

我们希望了解研究社区如何利用这些新资源和改进功能。我们计划在将来通过新版本继续支持研究社区和游戏开发社区。


如果有任何评论,反馈或问题,请在GitHub的Issue页面联系我们,或是通过ml-agents@unity3d.com给我们发邮件。请尽情享受使用Unity ML-Agents进行机器学习训练代理的快乐吧!更多Unity机器学习相关内容介绍尽在Unity官方中文论坛(UnityChina.cn)!

 

推荐阅读


活动信息

Unity for Small Things有奖用户问卷调查

可在即时通讯程序中开发交互式广告和游戏的工具Unity for Small Things正在封闭内测阶段。为了让该工具更满足用户的需求,Unity将进行有奖用户需求调查。参与调查的用户中,我们将选取20名幸运参与者,赠送Unity精美小礼品一份!

调查时间:截至到9月16日 17:00

调查问卷:http://unity2018.mikecrm.com/co22fqP


Unity官方教师培训报名启动

Unity将在10月22-26日,举办为期5天的专业的Unity官方教师培训课程,诚邀广大教师与Unity一同学习分享最新技术!了解详情...

报名地址:

https://connect.unity.com/events/2018jiaoshipeixun


Unity与Humble Bundle限时优惠Humble Unity Bundle 

开发者可以通过购买Humble Unity Bundle,在获得Made with Unity的精品游戏,同时也能够获得Asset Store资源商店的多个精品资源。本次限时优惠促销的部分款项将用于支持慈善机构。[了解详情...

购买地址:

https://www.humblebundle.com/games/unity-bundle


点击“阅读原文”访问Unity官方中文论坛

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存