视频游戏开发商一直渴望使用人工智能来帮助创造可信的世界。因此,研究人员现在可以使用一些同样的游戏制作工具来训练人工智能也就不足为奇了。
在VentureBeat上周举办的年变革大会上,UnityTechnologies人工智能和机器学习裁丹尼兰格在一次演讲中表示,游戏引擎非常适合创造他所谓的“真正的”计算机智能——能够在短时间内产生复杂行为的自学习系统。使用游戏引擎(比如该公司自己的Unity引擎),您可以模拟现实世界的规则,并针对其测试智能代理。兰格说:“如果你仔细想想,这个游戏引擎有三维空间、时间和物理……它拥有你所需要的一切,可以用来处理那些导致(人类)智能的核心元素。”
该公司一直通过其UnityML-Agents工具包插件在各种场景中培训代理。agent通过强化学习获得新的技能和行为,在任何给定的虚拟环境中,agent只知道什么是对的(完成任务后获得奖励),什么是错的(受到惩罚)。除此之外,一切都是空白。兰格举的一个例子是一只鸡试图穿过一条繁忙的马路。这名特工的目标是在不被车撞到的情况下抢到散落在地上的礼物(奖励)(惩罚)。起初,人工智能在学习游戏规则时遇到了困难,但经过6个小时的反复训练,兰格说它变成了“超人”,一边灵巧地躲避汽车,一边连续收集了多件礼物。
在另一个场景中,特工有一个蜘蛛一样的化身,由八个关节和四条腿组成。人工智能必须弄清楚如何使用和控制这些身体部位,这样它才能向前移动。这样做的结果有点不太好(蜘蛛四处乱跳,而不是走路),但在未来,这种加速学习可以帮助游戏开发者在创建不可玩角色时节省一些时间。兰格说:“想象一下,我需要在这里编写的程序——一些Java、c#、c++编程、Python,你能想到的所有程序——它告诉我应该移动哪个关节,什么时候移动,移动多少。”“或者我可以让蜘蛛左右摆动一个小时,通过反复试验,它知道如何从左到右移动四条腿和八个关节。”
兰格和他的团队将这一想法又向前推进了一步,他们设计了一只可爱的柯基犬形状的代理。通过强化学习和基于物理的运动,Puppo学会了走路、跑步、跳跃和拿棍子。研究人员甚至制作了一个简单的游戏(用鼠标轻弹棍子)来展示狗狗找回棍子的效率。在另一个演示中,Lange展示了将几十个单独训练的Puppos放在一起会发生什么。他们的目标是在田径场上追逐装满骨头的碗。当他们向碗跑去的时候(碗总是沿着轨道不停地移动),狗狗们变得争强好胜,开始互相推搡,在草地上跑出了自己的捷径。
今年早些时候,Unity与谷歌合作,开发了一款只有人工智能代理才能玩的电子游戏《障碍塔》(ObstacleTower)。它由个关卡组成,挑战玩家穿越障碍的能力,包括谜题、复杂的布局和危险的敌人。Unity目前正在举办一场比赛,看哪个AI能跑得最远(Lange说领先的选手只能达到19级)。通过障碍塔等项目,该公司试图证明,当与游戏引擎相结合时,强化学习可以成为制作复杂人工智能的强大方法。兰格说,毕竟,这是我们星球上所有智慧生命赖以生存的过程。“孩子们就是这么做的。这就是我们的运作方式。这就是动物的运作方式。通过这个学习过程,你从对某件事毫无头绪,到真正开始理解它,”他说。