电子游戏开发者一直渴望使用人工智能来帮助创造可信的世界;反过来,研究人员也可以使用一些游戏制作工具来训练人工智能。Unity Technologies 人工智能和机器学习副总裁丹尼·兰格(Danny Lange)认为,游戏引擎非常适合创造计算机智能——能够在短时间内产生复杂行为的自学习系统。

在 VentureBeat 举办的 2019 年变革大会上,兰格阐述了他们的想法和实验成果。他表示,使用游戏引擎(比如该公司的 Unity 引擎),您可以模拟现实世界的规则,并测试智能代理。“游戏引擎有三维空间、时间和物理……它拥有你所需要的一切,可以用来处理那些导致人类智能的核心元素。”他说。

Unity Technologies 一直通过其 Unity ML-Agents 工具包插件在各种场景中培训代理。代理通过强化学习获得新的技能和行为,在任何给定的虚拟环境中,代理只知道什么是对的(完成任务后获得奖励),什么是错的(做错了受到惩罚)。

兰格举的一个例子是一只鸡试图穿过一条繁忙的马路。这名代理的目标是抢到散落在地上的礼物(奖励),而不会被车撞到(惩罚)。起初,AI 在学习游戏规则时遇到了困难,但经过 6 个小时的反复训练,它变成了“超人”,一边灵巧地躲避汽车,一边连续收集了 100 多件礼物。

在另一个场景中,代理有一个蜘蛛一样的化身,由八个关节和四条腿组成。AI 必须弄清楚如何使用和控制这些身体部位,这样它才能向前移动。效果不是很好,蜘蛛四处乱跳,而不是走路,但这种加速学习可以帮助游戏开发者在创建不可玩角色时节省一些时间。

“想象一下我需要编写的程序——一些 Java、c#、c++编程、Python,你能想到的所有程序——它告诉我应该移动哪个关节,什么时候移动,移动多少。”兰格说,“或者我可以让蜘蛛左右摆动一个小时,通过反复试验,它会知道如何从左到右移动四条腿和八个关节。”

兰格和他的团队将这一想法又向前推进了一步,他们设计了一只可爱的柯基犬形状的代理。通过强化学习和基于物理的运动,Puppo 学会了走路、跑步、跳跃和拿棍子。研究人员甚至制作了一个简单的游戏(用鼠标轻弹棍子)来展示狗狗找回棍子的效率。

在另一个演示中,兰格展示了将几十个单独训练的 Puppos 放在一起会发生什么。他们的目标是在田径场上追逐装满骨头的碗。当它们向碗跑去的时候(碗总是沿着轨道不停地移动),狗狗们变得争强好胜,开始互相推搡,在草地上跑出了自己的捷径。

今年早些时候,Unity 与谷歌合作,开发了一款只有 AI 代理才能玩的电子游戏《障碍塔》(Obstacle Tower)。它由 100 个关卡组成,挑战玩家穿越障碍的能力,包括谜题、复杂的布局和危险的敌人。Unity 目前正在举办一场比赛,看哪个 AI 能跑得最远,兰格说领先的选手只能达到 19 级。

通过《障碍塔》等项目,该公司试图证明,当与游戏引擎相结合时,强化学习可以成为创建复杂人工智能模型的强大方法。兰格说,毕竟,这是我们星球上所有智慧生命赖以生存的过程。

“孩子们就是这么做的。这就是我们的运作方式。这就是动物的运作方式。通过这个学习过程,你从对某件事毫无头绪,到真正开始理解它。”他说。(编译自 venturebeat)

【数字叙事 黎雾】