写点什么

ML-Agents Unity Package v1.0 发布

作者: Marwan Matta 等人

  • 2020-05-28
  • 本文字数:4285 字

    阅读完需:约 14 分钟

ML-Agents Unity Package v1.0 发布

导读:前不久有关虚幻引擎 5.0 的新闻,引起了人们的阵阵惊叹,被誉为“来自外星的黑科技”。其实,除了虚幻引擎外,还有一个游戏引擎也非常牛逼:Unity 引擎。它也是全球开发人员中最受欢迎的第三方游戏开发软件。虚幻引擎集成了人工智能,Unity 自然也不甘落后。今天,Unity 的 ML-Agents v1.0 已经正式发布了!从 1950 年香农教授提出为计算机象棋博弈编写程序开始,无数的科学家贡献了自己的才华和岁月,取得了许多里程碑意义的成果。游戏人工智能就是人工智能技术研究的前沿,被誉为人工智能界的 “果蝇”,推动着人工智能技术的发展,并对社会产生深远影响。InfoQ 中文站曾经翻译过《漫谈电子游戏中的人工智能》,读者可以先看看这篇文章。


2017 年 9 月 17 日,Unity Machine Learning Agents Toolkit(ML-Agents)(意即 Unity 机器学习智能体工具包)的第一个版本发布了。它的任务很简单,就是让游戏开发者和人工智能研究人员都能使用 Unity 作为平台,利用机器学习的最新进展来训练、嵌入智能体。自从最初的“Hello World”发布以来,我们见证了该工具包的社区和发展都得到了极大的增长,该项目已经积累超过 8400 个 GitHub 星。今天,经过两年半的发展和 15 个以上的版本更新,我们很高兴地宣布,ML-Agents Unity Package 版本已达到 v1.0,并以预览包的形式发布。同时,我们还为 ML-Agents 发布了新的产品和资源页面


让我们首先介绍一些背景知识。ML-Agents 是一个开源项目,它使游戏和模拟能够成为训练智能体的环境。它包括一个用于设置场景并在其中定义智能体的 C#SDK,以及一个最先进的机器学习库,用于训练 2D、3D 和 VR/AR 环境中的智能体。


今天,ML-Agents 达到了一个重要的里程碑:C#SDK 已经升级到第一个主要版本 v1.0,现在可以以预览包的形式(com.unity.ML-Agents)通过 Unity Package Manager(包管理器)获得。这为我们的用户带来了三个主要优势:


  • API 稳定性:经过两年多的开发和测试,从我们自己的 Unity 演示环境(从运动任务到多人游戏和机械臂)再到使用 Unity 制作真实游戏,ML-Agents C#SDK 得到不断的发展,为我们带来一个灵活的、功能丰富且稳定的 API,可以轻松集成到任何游戏或 Unity 环境中。

  • 易于安装:现在,你可以直接在 Package Manager 开始使用 ML-Agents Unity Package,而无需克隆 GitHub 项目。

  • 经验证的 Unity 软件包(即将推出):现在,ML-Agents Unity 软件包有望成为 Unity Editor 2020.2 版本经过验证的软件包。


本文将介绍 ML-Agents 的简史,概述我们最新的里程碑版本 ML-Agents Release 1,并提供了即将到来的 ML-Agents 改进的一瞥。

ML-Agents 的简史

在我们的首篇博文中,我们曾写道:


作为世界上最受欢迎的创作引擎,Unity 正处于机器学习和游戏之间的十字路口。对于我们的使命而言,至关重要的是为机器学习研究人员提供最强大的训练场景,让他们能够用最新的机器学习技术来回馈游戏社区。



ML-Agents 中从简单到复杂的训练场景


在接下来的两年半时间里,ML-Agents 恪守自己的使命,并在游戏和机器学习社区的交汇处中不断发展。我们不断改进工具包,添加了新的训练选项,如课程学习(Curriculum Learning),启用 Curiosity 模块的稀疏回报环境,提高训练的速度和效率,启用多智能体场景下的自我对局(Self-play),以及为所有使用 ML-Agents 训练的模型提供原生的、跨平台的推理支持。(请参见我们的 GitHub ML-Agents 概述页面,以了解 ML-Agents 的所有功能介绍。)我们已经见证这些改进如何实现新的演示和环境,如 Puppo 以及与真实游戏的集成,如 Jam City 的《史努比泡泡》(Snoopy Pop) 和 Carry Castle 的《狂怒之源》(Source of Madness)。



Snoopy Pop(左上),Puppo Day at the Races(右上),Source of Madness(下)


我们专门为人工智能研究人员创建了障碍塔(Obstacle Tower)环境和挑战(用 ML-Agents 构建),作为视觉、控制和规划的基准。我们还看到其他研究人员和实验室采用 ML-Agents 来创建研究基准。典范包括竞技场(Arena)多智能体环境、动物人工智能奥运会(Animal AI Olympics)和连续控制的马拉松(Marathon)环境



Obstacle Tower(左上),Marathon Environments(右上),Animal AI Olympics(左下),Arena(右下)


自我们的最初版本开始,ML-Agents 社区就从一个由人工智能研究人员、游戏开发人员和学生组成的松散联盟,发展成了成千上万的社区参与者。这其中包括一些 ML-Agents 的创意演示,可直接与我们在线分享。我们的 GitHub 仓库得到了超过 8400 个星标(star)和 2300 个复刻(fork),我们的研究论文《Unity:智能体的通用平台》(Unity: A General Platform for Intelligent Agents) 的引用次数超过 115 次。

ML-Agents Unity Package v1.0

今天,我们很高兴地宣布,我们最新发布ML-Agents Unity Package 的版本已经达到 v1.0.0,并在 Unity Package Manager 中以预览包的形式提供。为了反映这一新版本的 ML-Agents,我们的论文《Unity:智能体的通用平台》(Unity: A General Platform for Intelligent Agents) 也已更新。


这一版本的更改体现了 ML-Agents 的两个核心改进:


  1. 软件包的组织。ML-Agents 现在有四个软件包:一个 Unity 软件包和三个 Python 软件包,其中包括 Unity 到 Python 的通讯和机器学习算法,除非你打算修改我们的训练算法,或构建自己的训练算法,否则你只能将 Unity 软件包集成到你的项目中并使用我们的训练 CLI 来与 ML-Agents 进行交互。

  2. API 的改进。几个月前,我们开始对 C#SDK 进行全面修改,使其使用起来更简单、更直观。其结果是,从 2019 年 9 月的 V0.10.0 开始,我们在几个版本中分阶段进行了大量的重大改进,并最终发布了我们的最新版本。有关这些改进的更多详细信息,请参阅我们的发行说明


ML-Agents Release 1 开始,每个 GitHub 版本都将为构成 ML-Agents 的每个包发布一个新版本。对于 ML-Agents Release 1,我们设置了以下版本:


  • com.unity.ml-agents (v1.0.0, C#)

  • 已经定义 Public API(公共 API),并将在未来版本中遵循语义版本控制。此外,该软件包已经作为预览包被添加到 Unity 包管理器中。我们计划为 Unity 2020.2 版本发布一个经过验证的软件包。

  • Communicator (v1.0.0, C#/Python)

  • Unity 和 Python 之间的通讯协议已经稳定,并将遵循语义版本控制。该功能将在使用同一主要版本的通讯协议的 C#和 Python 包之间实现向后和向前兼容。

  • ml-agents、ml-agents-envs、gym-unity (v0.16.0, Python).

  • Python 包将以一种非向后兼容的方式继续发展和改进。虽然未来对 CLI 的改进可能会引起突破性的变化,但我们计划尽快完成并稳定 CLI。


更多关于我们的软件包的版本控制,以及对 GitHub 版本的相应修改的详细信息,可以在版本控制页面上找到。

下一步是什么?

ML-Agents Release 1 是一个非常令人兴奋的旅程的开始。我们计划通过提高训练算法的性能和效率,根据用户的反馈改进我们的 Unity 软件包,并增加更多的示例环境,这些示例环境受 ML-Agents 的游戏和工业应用启发。你可以在 ML-Agents 论坛上跟进我们的路线图并提供建议。


除了改进核心工具包之外,我们还计划进行一些激动人心的改进,现在,我们将简要描述这些改进。

已验证的 Unity 2020.2 验证软件包

在 Unity 中,作为一个经过验证的软件包,部分目的是为了让用户安心,因为这个软件包将经过重大测试,并经过验证,可以安全地在特定版本的 Unity 中使用。这意味着,如果你想在生产游戏中使用 ML-Agents,我们希望确保我们能够提供支持。我们正计划为 Unity 2020.2 发布一个验证软件包。这也意味着,我们将在 Unity 2020.2 LTS 周期中支持 ML-Agents Unity 软件包。

ML-Agents Cloud


使用 ML-Agents Cloud 扩展训练


我们从 ML-Agents 用户那里得到的一个常见反馈是,他们希望能够无需安装 Python 即可进行训练。我们还看到了用户在本地机器上进行训练的限制,限制了一次可训练的环境和超参数变化的数量。ML-Agents Cloud 是我们计划在今年晚些时候推出的云服务,它将使 ML-Agents 用户能够在我们可扩展的云基础设施上进行训练。用户将能够提交多个并发的训练,或者轻松地将一个训练扩展到多台机器上,以获得更快的结果。


当前我们正在开放注册,以便考虑人们能够提前预览访问 ML-Agents Cloud。如果你是现有的 ML-Agents 用户,并且需要扩展和管理实验方面的帮助,请点击此处进行注册。

DOTS 世界的 ML-Agents

请下载上传视频 https://youtu.be/4hckoKnIgBU


Unity 的核心正在使用面向数据的技术栈(Data-Oriented Technology Stack,DOTS)进行重建。DOTS 通过使构建的规模更小,运行速度更快,从而提供了显著的性能优势。这些优势在模拟和机器学习的背景下被放大了。因此,我们一直在内部开发一个为 DOTS 构建的 ML-Agent 版本。我们已经成功地将我们的 DOTS 原型集成到示例场景(见上文)和 Unity 演示中,如 MegaCityTinyRacing。成绩非常出色。我们在标准的笔记本电脑上只用了几个小时就能在 MegaCity 等复杂的大型环境中训练智能体。我们打算在今年晚些时候发布用于 DOTS 的 ML-Agent 实验版本。


请下载上传此视频: https://youtu.be/A740jfboGBw

机器人技术

请下载上传此视频:https://youtu.be/VqR7pEyy5sM


对机器人研究人员来说,Unity 与 NVIDIA PhysX 4.0 已经显著提高了机器人仿真的质量(参见 Unity 2019.3 中的物理学更新)。Unity 2020.1 中包含了由 NVIDIA 的 PhysX 4.1 驱动的新的关节系统,在模拟机械臂和连续关节方面有了显著的改进。它使用 Fratherstone 算法、简化坐标表示法,并采用了新的非线性迭代求解器,大幅减少了关节中不需要的拉伸动作。在实际应用中,这意味着我们现在可以将许多关节串联起来,仍然能够实现稳定而精确的运动。


现在,你可以在 Unity 2020.1(测试版)中开始使用新的关节系统。如果你想尝试使用上面的机器人环境,或者将其作为示例项目来创建自己的机器人环境,请查看 Unity Robotics Demo 项目(与 ML-Agents Release 1 集成)。此外,我们还计划扩展 ML-Agents 中的示例环境,以包含更多的机器人和连续控制环境。

了解如何实现 ML-Agents Release 1

我们与 Immersive Limit 合作开发了 ML-Agents: Hummingbirds,这是 Unity Learn 平台上的一门课程,通过练习、代码演练和有用的讨论,教你如何实现 ML-Agent Release 1。



学习如何训练神经网络来执行一项具有挑战性的任务:让蜂鸟拥有六自由度并沿着复杂的飞行路径到达它们的花朵。在本课程结束时,你将掌握如何利用 ML-Agents Release 1 来创建智能体,并将它们集成到你自己的 Unity 游戏和模拟项目中。


原文链接:


https://sourl.cn/Pgudsj


2020-05-28 12:001284

评论

发布
暂无评论
发现更多内容

《福布斯》评英特尔最新财报:业绩之外,制程路线图的稳步推进是真正的好消息

科技之家

腾讯架构师极力推荐:Java多线程与Socket实战微服务框架

小小怪下士

Java 程序员 socket 多线程

为什么工厂要投资设备智能维护管理技术?

PreMaint

设备管理 设备预测性维护

如何将物理机Windows系统迁移到VMware虚拟机?

天翼云开发者社区

Knative Autoscaler 自定义弹性伸缩

天翼云开发者社区

为什么选择免费文件共享方法上的托管文件传输

镭速

压力测试、并发测试实践,后端工程师必看

爱研究代码的极客人

Jmeter 压力测试 并发测试 测试工具

线下学习前端培训机构怎么选?

小谷哥

开心档之bootstrap折叠

雪奈椰子

bootstrap

大数据培训的方法有哪些

小谷哥

关于 OAuth 你又了解哪些?

API7.ai 技术团队

api 网关 Oauth APISIX

3Dmax和C4d有什么区别?

Finovy Cloud

3DMAX

3D可视化:18个WebGL框架和Web3D图形库

2D3D前端可视化开发

WebGL 三维可视化 web3d 3d绘图引擎

初学者前端培训机构需要注意什么

小谷哥

【SpringBoot】简述springboot项目启动数据加载内存中的三种方法

No8g攻城狮

springboot spring-boot

参加大数据培训有什么好处

小谷哥

共铸国云智领未来| 数据进超市,海岛更善治

天翼云开发者社区

开心档之boostrap轮播

雪奈椰子

bootstrap 开心档

“云”上书店,氛围感拉满!

天翼云开发者社区

开心档之bootstrap卡片

雪奈椰子

bootstrap 开心档

领导者!天翼云蝉联政务公有云基础设施市场第一

天翼云开发者社区

找 ChatGPT 写 SQL? 不如试试 PromQL,三行解决复杂时序场景查询

Greptime 格睿科技

sql 云原生 时序数据库 PromQL 可观测

您有一个MatrixOne Beta Program专属权益待领取

MatrixOrigin

MatrixOrigin MatrixOne betaprogram MO企划

天翼云第八代云主机助力企业攻克上云“大象流”加密处理业务难题

天翼云开发者社区

Elasticsearch 利用 Enrich Processor 实现 MYSQL Join 的操作,支持 Nested 类型,具体应用。

alexgaoyh

MySQL elasticsearch ES 多表join enrich processor

RESTful API 为何成为顶流 API 架构风格?

API7.ai 技术团队

API APISIX REST API

文本数据标注已上线,支持文本分类、实体识别|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 云计算 数据分析 编程建模

java培训与线上自学哪个比较好?

小谷哥

高性能网络SIG月度动态:SMC 与 IBM 就扩展协议达成一致,virtio 支持 XDP 新特性

OpenAnolis小助手

开源 高性能网络 virtio 龙蜥sig smc

软件测试/测试开发 | Web测试方法与技术之JavaScript 讲解

测试人

软件测试 自动化测试 测试开发 Web自动化测试 web测试

《解构领域驱动设计》-领域驱动设计统一过程

珑彧

Java 读书笔记 架构 方法论 领域驱动设计

ML-Agents Unity Package v1.0 发布_AI&大模型_InfoQ精选文章