Skip to main content
QUICK REVIEW

[论文解读] Using Unity to Help Solve Intelligence

Tom Ward, Andrew Bolt|arXiv (Cornell University)|Nov 18, 2020
Reinforcement Learning in Robotics参考文献 30被引用 6
一句话总结

本文提出了一种利用Unity——一种通用游戏引擎——构建多样化、复杂强化学习环境的框架,以克服现有平台的局限性。通过开发标准化的通信协议和可复现的打包方法,作者实现了高效、可复用且可扩展的仿真环境,支持广泛的人工智能研究任务,如其在多篇已发表论文中的应用所示。

ABSTRACT

In the pursuit of artificial general intelligence, our most significant measurement of progress is an agent's ability to achieve goals in a wide range of environments. Existing platforms for constructing such environments are typically constrained by the technologies they are founded on, and are therefore only able to provide a subset of scenarios necessary to evaluate progress. To overcome these shortcomings, we present our use of Unity, a widely recognized and comprehensive game engine, to create more diverse, complex, virtual simulations. We describe the concepts and components developed to simplify the authoring of these environments, intended for use predominantly in the field of reinforcement learning. We also introduce a practical approach to packaging and re-distributing environments in a way that attempts to improve the robustness and reproducibility of experiment results. To illustrate the versatility of our use of Unity compared to other solutions, we highlight environments already created using our approach from published papers. We hope that others can draw inspiration from how we adapted Unity to our needs, and anticipate increasingly varied and complex environments to emerge from our approach as familiarity grows.

研究动机与目标

  • 为解决现有强化学习平台的局限性,这些平台受限于其底层游戏引擎,且环境设计缺乏多样性。
  • 实现复杂、视觉丰富且计算高效的虚拟环境,用于评估智能体的通用智能。
  • 通过引入标准化的环境打包与分发方法,提升强化学习研究中的可复现性。
  • 展示Unity作为构建异构性、第一人称、3D及程序化环境的强化学习平台的多功能性与可扩展性。
  • 提供可复用的开源通信系统,实现外部智能体与基于Unity环境的无缝集成。

提出的方法

  • 将Unity游戏引擎改造为灵活的平台,用于创建具有高视觉与仿真保真度的多样化强化学习环境。
  • 设计一种自定义的开源通信协议,用于连接外部智能体与Unity环境,实现实时观测与动作交换。
  • 实施标准化的打包方法,将预构建的环境及其所有依赖项捆绑在一起,确保在不同系统间的可复现性。
  • 利用Unity的开发者友好工具和活跃社区,简化环境开发流程,降低工程复杂度。
  • 采用程序化生成技术,在环境中创建动态且多变的初始状态,以增强泛化能力的测试。
  • 通过与多篇已发表的强化学习研究集成,验证该框架的兼容性与大规模性能表现。

实验结果

研究问题

  • RQ1Unity能否被有效重用于构建超越现有基于游戏平台限制的可扩展、灵活的多样化强化学习环境?
  • RQ2如何通过标准化打包与依赖管理,提升强化学习研究中环境的可复现性与分发效率?
  • RQ3基于Unity的环境在多大程度上能够支持复杂、基于物理且内存密集型的强化学习任务,以评估通用智能?
  • RQ4统一通信协议的使用在提升智能体与多样化Unity环境之间互操作性方面有何作用?
  • RQ5在大规模强化学习训练与评估中,同时运行多个Unity实例的计算效率如何?

主要发现

  • 该框架成功支持了13个多样化、第一人称、3D环境的构建,这些环境已被用于已发表的强化学习研究,涵盖记忆、导航与物理搭建等任务。
  • 在Fortunato等人(2019)的研究中,13个环境中有8个是基于所提出的Unity方法构建的,证明了其在复杂、内存密集型任务中的适用性。
  • Gregor等人(2019)研究中的Random City与Voxel Environment是程序化生成的3D世界,支持信念状态建模与积木操作任务。
  • Paine等人(2019)构建的八项高难度探索任务套件,基于该框架实现,具有高度可变的初始条件,并要求长时程规划能力。
  • Bapst等人(2019)的2D搭建环境采用连续的物理仿真,用于测试智能体使用积木搭建结构的能力,智能体的episode终止条件基于任务成功或发生碰撞。
  • 该框架在计算效率方面表现良好,可在CPU或GPU上同时运行多个Unity实例,支持大规模训练与评估。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。