AIGC革命已来,如何在企业场景落地?如何选择模型、怎样应用RAG、需要哪些组织流程配套? 了解详情
写点什么

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:001066

评论

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

为什么说rollup比webpack更适合打包库

fengxianqi

大前端 Rollup webpack

“有点技术之外,基本什么都没有”的CTO | 法庭上的CTO(15)

赵新龙

CTO 法庭上的CTO

计算机网络简述

lee

计算机网络 网络协议 网络

像用户一样测试:打破知识的诅咒

QualityFocus

测试 软件质量 可用性 用户体验

人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

刘悦的技术博客

人工智能 tensorflow chatbot 聊天机器人 keras

重磅|中国PostgreSQL分会与腾讯云战略合作协议签订

PostgreSQLChina

数据库 postgresql 软件 开源社区

星域母子币系统软件开发|星域母子币APP开发

系统开发

Spring 源码学习 11:invokeBeanFactoryPostProcessors

程序员小航

Java spring 源码 源码阅读

什么是浮点数?

Kaito

计算机基础 浮点数

英特尔力邀150家产业大咖推动Evo严苛认证,打造PC界的奥斯卡

E科讯

从MongoID的生成讨论分布式唯一ID生成方案

行如风

雪花算法 分布式ID 全局唯一ID 流星算法

云视频技术领军人赵加雨:如何提升在线教育课堂互动体验

拍乐云Pano

音视频 在线教育 RTC 互动课堂 白板

混合用工、被拖欠工资的 CTO | 法庭上的 CTO(16)

赵新龙

CTO 法庭上的CTO

深入浅出 ZooKeeper

vivo互联网技术

zookeeper 分布式 ZAB

九环智能合约开发

V19927655815

APP开发

为什么要TDD(测试驱动开发)

sherlockq

敏捷开发 TDD 极限编程

从一个模糊词查询需求的处理方案讨论到一种极速匹配方案的实现

行如风

模糊匹配 双数组trie树 ahocorasick ac自动机 黑名单过滤

移动生态盘点与HMS生态解析

华章IT

华为 Android Studio 移动开发 HMS

如何基于 SDK 快速开发一款IoT App 控制智能灯(iOS 版)

IoT云工坊

ios App 物联网 IoT sdk

未签订劳动合同的CTO | 法庭上的 CTO(17)

赵新龙

CTO 法庭上的CTO

股东变员工,所以不发工资?| 法庭上的CTO(18)

赵新龙

CTO 法庭上的CTO

重学JS | 数组遍历的7种方法及兼容性处理(polyfill)

梁龙先森

大前端 编程语言

英特尔赵宏:从硬件创新到平台突破,PC的未来非常值得期待

E科讯

生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之基于测试流量的混沌工程(故障演练)

数列科技杨德华

全链路压测 七日更

智慧仓储管理系统,是否能解决购物狂欢节后新一轮爆仓危机?

一只数据鲸鱼

物联网 数据可视化 智慧物流 智慧仓储

快速接入 | 从 0 到 1 构建语音聊天室

拍乐云Pano

音视频 RTC 实时语音 语音聊天室 语聊房

直播中不可缺少的一环-rtmp直播推流

anyRTC开发者

音视频 WebRTC CDN RTC RTMP

犯“走私罪”的CTO | 法庭上的CTO(19)

赵新龙

CTO 法庭上的CTO

“盗窃”公司源代码被开除的CTO | 法庭上的CTO(20)

赵新龙

CTO 法庭上的CTO

anonymous匿名者场外交易系统APP软件开发

系统开发

抢先体验全新升级版Eternal Wallet!

Geek_c610c0

数字货币 数字货币钱包开发

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