近日,DeepMind的游戏AI登上了《Science》杂志。在3D射击游戏《雷神之锤3》中,AI不仅超越了顶尖人类水平,还学会了配合,把游戏AI的智能程度推上了全新高度。本文将回顾AI在3D射击游戏上的探索历程。

原创: 可厉儿 超参数科技  

从游戏AI的发展历史来看,经过2013年的Atari游戏、2016-17的棋类游戏,到2018-19年已经呈现出百花齐放的态势。一方面,针对以RTS(即时战略游戏)为主的全局复杂游戏,DeepMind、OpenAI、腾讯等AI巨头均有所动作;另一方面,针对游戏中的局部简单玩法(比如竞技场),NCSoft、育碧、网易等游戏大厂也都在尝试。

 

 

 

然而,上述这些游戏虽然是基于3D渲染,其玩法内核却仅为2D:无论操作还是视角,都无法在垂直于地面的Z轴上调整角度。而以“吃鸡”类游戏为例,视角可以上下左右随意旋转,而且存在两人处于同一水平面坐标、但位于上下楼导致互相看不到的情况,这些在2D玩法中是不可能出现的。

 

 

显然,3D环境相比2D更接近真实物理世界,也相应带来了更高的技术难度。在这一领域,研究者们已经进行了一些有意义的尝试。

 

 

 ViZDoom竞赛 

 

 

《毁灭战士(Doom)》是ID Software于1993年推出的一款3D FPS(第一人称射击)游戏,也是该类游戏的先驱者。2016年,在深度学习与强化学习兴起的背景下,基于该游戏的 ViZDoom AI竞赛诞生,探索基于原始视觉信息的强化学习技术,吸引到了Facebook FAIR、Intel、Tencent AI Lab等众多顶级AI实验室参与。

 

 

 

 

比赛分为2个挑战,其中Track 2的随机对战模式(Death Match)要求AI在同一个地图里对杀10分钟,击杀数-死亡数多者获胜,可以捡血包和武器、可以无限复活。AI基于像素级视觉信息的输入,通过强化学习来习得到控制策略,包括前后左右移动、左右水平旋转、拾取、寻敌、开火等行为。

 

 

作为一款20多年前的游戏,游戏整体设计和渲染都比较粗糙。操作上只有位置移动和水平视角移动,不支持跑、跳、蹲等复杂动作,也不支持多人合作

 

 

 EA公司的尝试 

 

 

2018年,EA游戏公司旗下的技术研究部门SEED,也开发了一个3D FPS仿真环境用来进行智能体训练。AI智能体需要在一个类似“吃鸡”的地图中,守卫一块目标区域防止敌方入侵,地图中散布了一些弹药和血包可供拾取。

 

AI的信息输入操作方式与ViZDoom基本一致,但在学习方式上,不仅有强化学习,还有依赖人类带标签数据的模仿学习。从结果上看,AI的走位和操作非常像人类玩家,能同时进行多个操作(比如边移动边转向,同时开火),导航到目标点时不会撞到障碍物,能做到巡逻和保护目标区域。更重要的是,AI能理解自身的状态,比如发现自己没有弹药时主动寻找弹药并避免与敌方交火。

 

 

 

 

相比于ViZDoom,这款游戏的渲染水平显著提升,但环境的复杂程度距离真实游戏还有距离,而且依旧无法支持复杂动作多人合作

 

 

 DeepMind的进展 

 

 

早在2016年,DeepMind基于Quake III Arena(雷神之锤3竞技场)开发了第一人称3D游戏平台DeepMind Lab,用于研究通用人工智能(AGI)。2018年,DeepMind宣布其AI智能体已经能在该游戏的夺旗模式中达到人类玩家水平,并且展现出了多智能体间的合作能力。近日DeepMind发表在《Science》的这篇论文介绍了算法细节,并且补充了AI在完整游戏模式上的表现。

 

 

游戏环境与规则

红蓝双方(每方2-4人)各有一块大本营,目标是抢夺对方旗帜同时守住己方旗帜。可以通过射击敌方使其返回出生点,如果敌方身上有我方旗帜则会掉落在原地、被本方触碰后旗帜会返回大本营。5分钟内夺旗数目多者获胜。

 

 

AI如何进行观察

AI与人类视角相同,仅依赖一种输入——低分辨率的第一人称视角图像输入,无法得知其他玩家的信息(位置、状态等)。

 

AI如何进行操作

AI可以前后左右移动、左右旋转、调整射击朝向(俯角、仰角)、跳、蹲、开火射击。

 

 

AI如何进行学习

AI需要从零开始学会视觉感知、操作、配合、对抗等一系列操作,这是一个极具挑战的任务。根据论文介绍,AI通过强化学习,不依赖标签数据、仅通过游戏中的得分来学习。游戏得分既包括最终胜负的大目标,也包括夺旗、收集物品等小目标,并采用了一种基于种群的训练方法(Population-based Train)来训练不同风格的智能体,这里的不同风格体现在目标选取上(比如头铁的AI喜欢强势夺旗、重运营的AI喜欢收集资源)。在神经网络结构上,采用了快和慢两个时间尺度的长短期记忆网络(LSTM),分别对应微观操作宏观战术,使得AI能更好地利用记忆能力、产生动作序列。

 

 

 

 

AI学到了什么

训练出的AI既可以作为人类对手也可以作为人类队友,在战略和战术层面都体现出了丰富的合作对抗行为,比如下图所示的防守己方基地、骚扰敌方基地、跟随队友等行为。

 

 

 

看到了AI在夺旗模式上的成功后,DeepMind将该方法应用到了Quake III Arena的完整游戏上。完整游戏提供了更复杂的地图、更多的参与者、更丰富的道具,AI在完整游戏上也展现出了亮眼表现。

 

 

 

 未来展望 

 

 

不难发现,目前的3D FPS AI基本都是基于相对古老的游戏。实际上,要想将AI技术应用于最新的3D FPS游戏,会面临不小的挑战,主要有以下几个方面:

 

1)更复杂的环境感知

从2D到3D的环境变化对状态空间来说是极大的跃升,包括更复杂的空间结构(比如窗户)、更复杂的目标计算(人物是有体积的而非一个点),此外还有多模态输入(图像+语音)带来的难度。

 

2)更复杂的决策操作

视角上需要进行3D感知,操作上也变得更丰富(跳、蹲、爬、翻墙等),而且经常需要同时执行多个动作,导致组合动作空间巨大。

 

3)大规模多智能体的合作与对抗

更大的地图和更多的玩家,使得团队间的配合变得更加重要,以“吃鸡”类游戏为例,涵盖了集火、拉枪线、封烟、分头打野等多种协同操作,以及丰富的团队作战策略。

 

 

正如DeepMind在其博客中所说:

我们数十亿人类生活在同一个星球上,每个人都有自己独立的目标和行为,但仍然能通过团队、组织和社会聚集在一起,展示出令人惊叹的集体智慧。这种机制我们称之为多智能体学习:每个智能体必须能独立行动,同时要学会与其他智能体的互动与合作,共同适应这个不断变化的世界。https://deepmind.com/blog/capture-the-flag-science/

 

 

人类对于“智慧的本质”的好奇心,驱使了一代又一代的科学研究,从生物学到计算机科学、从归纳到演绎。如今,随着AI技术和游戏行业的双双发展,让人们终于有机会在一个足够仿真的复杂3D环境里,训练和试验各种智能体行为。我们相信,未来这一领域的进展一定会让我们在迈向通用人工智能(AGI)的道路上,更进一步。

 

 

 

参考文献:

[1] Marek Wydmuch, Michal Kempka, and Wojciech Jaskowski, "ViZDoom Competitions: Playing Doom from Pixels", https://arxiv.org/abs/1809.03470

[2] Jack Harmer, Linus Gisslen, Jorge del Val, et al., "Imitation Learning with Concurrent Actions in 3D Games", https://arxiv.org/abs/1803.05402

[3] https://deepmind.com/blog/capture-the-flag-science/

 

3​D射击游戏:AI智能进化的训练场

2019-06-20
0