游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”

本文来自AI新媒体量子位(QbitAI)

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第1张图片

欢迎来到游戏世界。

没听过Unity没关系,你肯定对王者荣耀、纪念碑谷、神庙逃亡2、Pokémon GO等游戏了如指掌。没错,Unity就是它们的游戏引擎。

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第2张图片

今天,Unity宣布推出Unity Machine Learning Agent(ML-Agent),将游戏引擎连接到谷歌TensorFlow等机器学习框架中。通过深度强化学习算法,让非玩家角色(NPC)通过不断尝试和犯错,变得更有创造性和策略性。

在游戏开发的过程中,既不能让玩家因过于简单而无聊,也不能因难度太高丧失玩家兴趣。Unity开发者Arthur Juliani表示,Unity的ML-Agent将帮助增加游戏的可玩性。

 Unity工程师自述ML-Agent在游戏开发中的意义

过去,开发人员需要手工编写代码,让训练环境中的相互作用逐步训练Agent,典型场景是一个单一环境+紧密耦合的Agent。Agent的动作改变环境状态,环境反馈给Agent各种奖励。

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第3张图片

 典型的强化学习训练循环

Unity希望设计一个系统,让游戏引擎更灵活易用。因此,Unity推出了ML-Agents,并且发布了开放测试版SDK。ML-Agents SDK让开发者可用Python API将Unity Editor中创建的游戏和模拟场景转换成可被深度强化学习、进化策略或其他机器学习方法训练的环境。

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第4张图片

 在ML-Agents中配置学习环境的可视化描述

对任何学习环境来说,Agent、Brain和Academy是必不可少的三大对象。

每个Agent都可以有独特的状态和观察值,可在环境中单独采取动作并获取奖励。Agent的行动由与之相关的Brain决定的,每个Brain定义一个特定的状态和动作空间,并负责决定关联的Agent将采取哪些动作。之后,Brain将信息汇总到Academy中,定义了环境的范围,比如引擎配置、跳帧控制、场景长度等。

Agent、Brain和奖励不同的连接方式能创造不同场景,因此,Unity的ML-Agents够解锁各种训练场景。对于训练Agent的新手来说,Unity提供了典型的环境配置示例,并解释了如何用ML-Agents SDK创建它。

Unity在官方博客中展示了一些不同场景的训练实例,经过一段时间的训练,Agent的表现都很惊人:

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第5张图片

 30秒内训练Agent玩3D平衡球

Unity游戏引擎能高精度模拟现实场景,比如物体的纹理、光效、材质等。Unity AI和机器学习技术部的副总裁Danny Lange在接受采访时表示,Unity的ML-Agents的作用并不局限于虚拟游戏,还将加速现实生活中机器人等技术的进步。比如对自动驾驶行业来说,可以在计算机生成的但逼真的虚拟环境中较为真实地训练它们。

游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”_第6张图片

最后,附Unity官方博客介绍:

https://blogs.unity3d.com/cn/2017/09/19/introducing-unity-machine-learning-agents/

及ML-Agents GitHub代码:

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

祝你玩得愉快~

本文作者:安妮
原文发布时间:2017-09-20

你可能感兴趣的:(游戏大咖Unity发布机器学习工具,可大幅提高NPC的“智商”)