本文将介绍我们取得的一项重大技术成果——3D生存类AI“猎户座α”。在西山居研发中的吃鸡类游戏《荣耀之海》里,“猎户座α”通过从零开始的强化学习训练,具备了复杂3D环境感知、物资搜索/使用、作战、团队配合等能力,展现出广阔的应用前景。

更好的阅读效果,请点击此处

      2016年AlphaGo的横空出世,吹响了人工智能在游戏领域攻城掠地的号角。短短三年间,星际、Dota2、德州扑克、麻将相继被AI攻克。随着OpenAI Five和AlphaStar血洗天梯竞技场,游戏领域似乎已经被AI完全拿下。然而,还是有两个悬而未决的问题始终萦绕。
      其一是环境的复杂度问题。电子游戏作为「第九艺术」的最大魅力在于虚拟世界对现实世界的仿真模拟。但是,目前AI已攻克的游戏,大部分是运行在2D空间内。即使是3D空间的DeepMind雷神之锤3 AI,也是基于上世代的游戏内核,地图简单、智能体数量少。这里的游戏AI能力能否迁移到现实世界是存疑的。
       其二是AI的拟人度问题。现有的游戏AI清一色以竞技为目的,追求更高的胜率和段位。但从开发商和玩家的角度,AI并不只是越强越好,还要求越像人越好。以射击游戏为例,简单几行代码写出的AI就可以轻松碾压人类,但谁会自讨没趣找一个自瞄锁头的AI对战呢?
       基于上述两点,我们判断具有复杂3D环境、要求多人在线的3D生存类游戏将成为AI的下一大挑战。在西山居研发中的新游戏《荣耀之海》里,我们训练了名为“猎户座α”的AI智能体。可以看到,AI已经具备了复杂3D环境感知物资搜索/使用作战团队配合等全方位的能力。

 

“猎户座α”演示视频 (请点击此处

 

 这是一款什么游戏 


     《荣耀之海》是西山居自主研发的新一代多人在线战术竞技游戏。游戏主打时下最火热的“吃鸡”玩法,百名玩家通过海上与陆上的大逃杀决出胜者。在游戏中,25支四人小队通过跳伞降落到某个区域,玩家需要在海洋与岛屿间搜集武器、防具、道具等各种资源。随着游戏的进行,地图上的安全区域将逐渐缩小,战斗爆发得也更加频繁,玩家需要配合队友,通过灵活多变的海陆策略,击杀其他队伍的玩家、生存到最后。

 

游戏中元素与真实物理世界非常接近


 问题有多复杂 


      《荣耀之海》作为一款3D游戏,复杂度相比一般2D游戏已经上了一个台阶,而吃鸡类游戏的超大地图、百人同局等要素又进一步增加了技术难度。
具体来说,AI需要处理的挑战包括:
1)实时性与长期性

        玩家不仅要做出实时的操作决策,还要做出长期的规划决策,平衡兼顾两者。为了最终获胜,整局游戏通常需要进行30分钟以上,对应的决策步数在7000步以上。
2)非完美信息

       在3D游戏中,玩家只能看到一定视角范围内的信息,并且无法看到被障碍物遮挡住的信息。因此,玩家需要有效探索不可见的信息,并具备记忆能力。
3复杂的状态空间

      3D环境比2D环境包括更多的信息,例如带深度的复杂空间结构、庞大的地图(10公里*10公里)、众多的玩家(100人)、丰富的元素(大量建筑、障碍、物资等),对环境感知和探索提出了巨大挑战。

4)复杂的动作空间

       玩家需要同时操作移动方向、视角方向、攻击、姿态(站、蹲、趴、跳)、交互(拾取、打药、换弹)等一系列操作,产生复杂的组合动作空间。我们估算离散化后的可行动作数量在10^7这个数量级。
5)战略与战术

       玩家需要对瞬息万变的环境和局势做出快速准确的判断,采取丰富的战略和战术,例如火力掩护、拉枪线、抢点、卡毒圈、封烟救援等等。
6)多人博弈

      玩家不仅需要与队友进行密切的合作和通信,还需要与其他队伍在资源搜集、武装交火时进行对抗。与两人博弈相比,多人博弈的情况会更加复杂多变。
上述这些难点也是导致行为树AI不可能做出复杂、拟人操作的主要原因。
我们在本阶段的研究聚焦于一个迷你对局(mini-game)——在230米*230米岛屿上、时限6分钟内、组队2V2,最终存活的一方获胜。除这些限制外,其他游戏元素与完整游戏完全相同。

 

 我们的实现路径 


    “ 猎户座α”采用了深度强化学习方法,从零开始,通过与环境的交互和试错,学会观察世界、执行动作、合作与竞争策略。AI没有使用任何人类玩家的对战数据,完全基于自我对战(self-play)的方式进行学习。
AI观测的状态信息包括玩家/物资的实体信息、深度图、雷达图、小地图,以及宏观标量信息。与人类一样,AI观测到的状态是非完美的——即只能看到一定视角范围内的信息,看不到视野外或是被障碍物遮挡住的信息。与直接用RGB图像作为特征相比,我们的方式省去了图像目标检测和识别的过程,专注在AI的决策过程。此外,雷达图和小地图相当于自动驾驶中的高精度地图,深度图相当于深度摄像机捕捉到的信息。
AI动作输出分为移动方向、水平/俯仰朝向、身体姿态、物资拾取/使用、武器切换、攻击等任务,多个任务可以同时执行,形成巨大的复合动作空间。人类玩家在操作时,会存在反应时间的限制,APM(每分钟操作次数)也会有上限。为了与人类一致,我们对AI也进行了相应限制。考虑到网络传输延时、特征提取和模型预测的耗时,AI从“观测到1帧状态”到“产生1次动作”需要120ms的延时。在此基础上,我们额外增加了100ms延时。同时,AI每秒最多执行4次动作、每次最多包含3个动作。
每个智能体是一个深度神经网络模型,输入状态信息,输出预测的动作指令。我们通过Transformer模型处理玩家、物资等实体信息,通过ResNet处理深度图、雷达图、小地图等图像信息,通过MLP模型处理宏观标量信息,然后通过LSTM模型实现记忆能力。为实现多智能体合作,我们采用了分布式的策略网络和中心式的价值网络,并引入了策略网络之间的通信机制。

 

AI模型结构示意图


   “猎户座α”的训练在我们自研的通用分布式强化学习引擎Delta上进行。该引擎通过大量弹性CPU资源产生训练数据,通过GPU资源更新神经网络模型参数,并且可以通过监控组件监控AI的训练过程。在该项目中,“猎户座α”训练一天相当于人类玩家打了10万年。该引擎可以部署在任何公有云上,目前已经支持了多款游戏的AI训练。

分布式强化学习引擎Delta架构示意图
 

 目前达到的效果 


      我们看到“猎户座α”从零开始逐渐学会了在3D环境中生存所需的全方位能力。
     AI学会了通过搜集物资跑毒来照顾好自己:

AI出生后会快速搜集物资,观察到毒圈外有高级物资时,选择快速出去拾取后再尽快返回安全区。

AI具有避障导航能力,可以通过翻窗快速进出房屋搜集物资。


      AI也学会了通过寻找掩体灵活走位武器使用等方式,以及记忆等认知能力,在竞争对抗中提升自己的生存能力:

AI在对战中会合理利用掩体,并保持灵活的走位躲避攻击。

 

 

进入肉搏后,AI会切换为近战武器,拉开距离后再切换回远程武器。
 

      AI还学会了发挥团队配合的力量,与队友互相掩护,在不同的战斗环境中采取针对性的战略战术,最大化自身优势:

某个AI被击倒后,AI队友立刻实施救援,救活后会帮忙望风等队友打药。

 

在团队作战中,AI分散站位并拉开枪线,集中火力优先消灭单个敌人。

 

消灭敌人取得人数优势后,AI强势冲锋,依次经过楼梯进入房间,击杀剩余敌人。


      我们的开发人员也与“猎户座α”进行了多次人机对战测试,包括作为队友和对手。

 

人类玩家与AI的对战测试

 

 AI的进化过程 


       在AI的训练过程中,我们还观测到了许多与人类生存进化过程相似的地方。

人类在进化过程中,先学会采集食物补充能量、应对恶劣天气,然后学会各种工具的使用,掌握记忆等高级认知能力,进而学会与族群内同伴分工合作、与其他族群竞争对抗。AI通过多智能体的自我训练的方式,也表现出了类似的进化现象。随着训练局数的增加,AI逐渐涌现出了物资搜集物资使用空间感知认知能力复杂策略等智能行为。

AI的进化过程

 

 下一步的工作 


       3D生存类游戏给AI研究提出了非常巨大的挑战。尽管我们取得了一定进展,但目前的方案还存在诸多限制和待解决的问题:例如,AI只能在单个岛屿上进行陆战对抗;AI仅在2支队伍之间进行博弈;AI掌握的物资和武器还比较有限。我们将逐步去掉上述限制,最终让AI在完整地图上进行100人的吃鸡对战。

 

《荣耀之海》游戏全景


 

 展望未来


       环顾我们生活的世界,智慧既存在于个体中,更存在于群体中。有着独立目标的个体们聚集在一起,展现出了令人惊叹的群体智慧,这种能力被称为“多智能体学习”。每个智能体必须既能独立行动,又能与其他智能体进行合作或竞争,在这个不断变化的世界中适应与生存。在目前的全部游戏品类中,3D生存类游戏可能是最接近真实物理世界的。我们有理由相信,AI智能体在其中学到的能力,包括3D环境感知与理解、对复杂环境变化的适应、对不确定性的评估与推理、对各种战略战术的灵活应用,以及多智能体间的竞争与合作等,一定能从虚拟反哺现实,在无人驾驶、智慧城市、医疗等更广泛的领域带来价值。

       正如“猎户座α”这个名字所代表的,我们希望游戏AI的研究会如同浩瀚宇宙中的明亮星光,指引人类探索光年之外的未知空间,迈向通用人工智能(AGI)的星辰大海。我们期待与更多志同道合的人一起,「用进化演绎智能,让智能造福人类」。
特别致谢:感谢西山居在游戏侧给予我们的大力支持。

超参数与西山居联合发布3D生存类游戏AI“猎户座α”

2019-12-12
0