【FCon上海】与行业领袖共话AI大模型、数字化风控等前沿技术。 了解详情
写点什么

ML-Agents Unity Package v1.0 发布

作者: Marwan Matta 等人

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

    阅读完需:约 14 分钟

ML-Agents Unity Package v1.0 发布

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

导读:前不久有关虚幻引擎 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


公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2020-05-28 12:001139

评论

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

基于云边协同架构的五大应用场景革新

阿里云视频云

阿里云 边缘计算 边缘云

LeetCode题解:938. 二叉搜索树的范围和,栈,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

制造业数字化发展,瓴羊Quick BI引起了需求者的关注

夏日星河

Intel Arch SIG:介绍下一代数据中心互联协议CXL及在龙蜥的规划 | 第 54 期

OpenAnolis小助手

开源 直播 intel 龙蜥大讲堂 CXL

云计算和虚拟化的三个小区别简单说明

行云管家

云计算 虚拟化

阿里P8面试官总结的《2022最新年底java面试题》,搞定90%以上的技术面

钟奕礼

Java 程序员 java面试 java编程

Kotlin作用域函数[Scope Function](下)

子不语Any

android kotlin 11月月更

ZooKeeper 避坑实践:如何调优 jute.maxbuffer

阿里巴巴云原生

zookeeper 阿里云 云原生

华夏银行:详解iDo平台一体化运维的落地过程

嘉为蓝鲸

运维 金融 银行 数字化

教你用JavaScript完成进度条

小院里的霍大侠

JavaScript 编程开发 初学者 入门实战

开源共建 | TIS整合数据同步工具ChunJun,携手完善开源生态

袋鼠云数栈

大数据 开源 数据同步工具

元器选型攻略之 电阻

元器件秋姐

元器件知识 元器件科普 电阻 电阻定义 常见电阻

降价背后,函数计算规格自主选配功能揭秘

阿里巴巴云原生

阿里云 云原生 函数计算

java 环境变量配置详细教程(2023 年全网最详细,没有之一)

千锋IT教育

火山引擎 DataTester 智能运营,帮企业实现“千人千面”精准营销

字节跳动数据平台

A/B 测试

老工程师荐读!PCB设计避坑指南

华秋PCB

PCB PCB设计

面试官:说说电商系统订单超时自动取消怎么实现?你有几种方案?

程序员小毕

程序员 面试 程序人生 后端 架构师

通过支付网关提高第三方支付接入效率

产品海豚湾

产品经理 产品设计 支付系统 产品架构 11月月更

亚信科技亮相南京软博会,数智赋能百行千业

亚信AntDB数据库

AntDB aisware antdb AntDB数据库

可视化:如何选择数据可视化图表?

2D3D前端可视化开发

数据可视化 可视化大屏 可视化图表 可视化工具 sovitchart

火山引擎DataLeap的Data Catalog系统公有云实践

字节跳动数据平台

大数据 火山引擎 大数据研发

java程序员,是不是很想进字节跳动?开发三年的我拿到了入职通知

钟奕礼

Java 程序员 java面试 java编程

透明LED屏幕如何设计显示效果更好?

Dylan

LED LED显示屏

嘉为科技张敏:一文讲清场景工程方法论及运维组织能力内化

嘉为蓝鲸

运维 数字化

Kotlin伴生对象(Companion Object)

子不语Any

android kotlin 11月月更

Kotlin作用域函数[Scope Function](上)

子不语Any

android kotlin 11月月更

云原生主题学习月|成为社区领学员,解锁专属奖励及超多数量社区学员奖品!

亚马逊云科技 (Amazon Web Services)

云原生 培训与认证

深入了解瓴羊Quick BI,对于商业智能BI发展情况更好分析

巷子

QuTrunk与MindSpore量子神经网络初探

启科量子开发者官方号

人工智能 ai框架 量子编程

常规加密算法是什么?原理是怎么样?有哪些?

行云管家

算法 加密算法 国密

跨越速运如何构建实时统一的运单分析

StarRocks

#数据库

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