腾讯王者荣耀AI论文首次曝光:五AI王者局开黑与人类战队打成平手

腾讯王者荣耀AI论文首次曝光:五AI王者局开黑与人类战队打成平手

2018-12-23 16:51量子位 合作伙伴
现在王者段位水准的AI已经出现了,就问你怕了没。

王者峡谷可能马上要被AI支配了!

腾讯刚刚发布的一篇论文显示,王者荣耀AI在不声不响间,又掌握了新的技能:组团开黑。而且战绩不俗。

5个各自独立的王者荣耀AI学会开黑技能后,5v5对阵《王者荣耀》王者段位人类玩家,大战250局,一举拿下48%的胜率,几乎可算战成平手。

不得了。

上个月,王者荣耀体验服开启了困难等级的人机练习模式测试,据说机器人只有铂金段位的水平,然而已经让一票大牛觉得不好打。

现在王者段位水准的AI已经出现了,就问你怕了没。

王者荣耀AI难在哪里

腾讯去年就隐隐约约的透露在搞王者荣耀AI。

有时说得“明目张胆”,有时又显得有点“遮遮掩掩”。去年,腾讯高管就曾透露下围棋的绝艺,正在尝试学打王者荣耀。

在最新披露的论文里,腾讯表示虽然AlphaGo已经是AI里程碑,但下围棋与现实世界相比,仍然是一个非常简单的问题。

更复杂的问题是实时战略(RTS)游戏,而其中最受欢迎的分支是MOBA游戏,包括Dota、英雄联盟以及王者荣耀等等。

一局王者荣耀平均时长20分钟,大约相当于2万帧。

围棋一局通常不超过361手。

在每一帧画面中,玩家需要在数十个选项中作出决定,包括有24个方向的移动键,以及一些技能键,有的技能键还有方向。及时经过大幅简化和离散化,以及把响应时间增加到200ms,动作空间的数量级仍有101500。

而围棋的动作空间约为10250。

至于状态空间,王者荣耀地图的分辨率是130000×130000像素,每个英雄的大小是1000像素。在每一帧,每个英雄都有不同的状态,如血量、等级、经济等等。即便经过大幅简化,状态空间仍有1020000。

总结如下表,两个字:复杂。

王者局5v5开黑战绩亮眼

即便这么复杂,腾讯还是取得了突破。

来看看AI是怎么打农药的。

先看看开局,这是最重要的阶段之一。下面的四张注意力分布图,这些代表着AI学会的不同开局策略。四张图从左到右,分别是:貂蝉(法师)、韩信(刺客)、亚瑟(坦克)和后裔(射手)。

可以看到,AI貂蝉在开局阶段重点关注中路外塔,AI韩信关注本方上路野区蓝Buff,AI亚瑟和AI后裔关注本方下路野区红Buff。没有列入的第五个英雄AI宫本武藏,会去守卫本方上路的外塔。

这就是一个王者荣耀的常见开局。

随着游戏的推进,AI对走位的注意力也会逐渐发生变化。通过下面这个图表可以看到,随着时间的推移,AI各个英雄之间的走位也会越来越近。

这种分工联动是这次王者荣耀AI最大的提升之处。

说结果。升级之后的王者荣耀AI,为了验证自己的实力,开始找人类练手。五个AI组队开黑,与人类玩家5v5大战250局。最后,AI战队的胜率达到了48%。

这些玩家都是王者段位,属于人类玩家中Top 1%那一部分。

腾讯在论文中表示,AI战队取得的人头数,比人类战队少15%;而在推塔、团战率和经济获取方面,与人类战队相当。

在开局前10分钟,AI战队比人类战队要多推掉2.5个塔。10分钟之后,由于团战能力较弱,双方的推塔数量逐渐接近。这个特点被腾讯归纳为:AI在宏观战略的制订方面,已经接近甚至优于人类高手。

王者AI背后的算法

AI逼平人类王者,靠的是什么手段?

答案是,一个基于学习的分层宏观策略(Hierarchical Macro Strategy)模型。经过这个模型的熏陶,控制每个英雄的智能体就既能独立做出决策又不忘与队友沟通,成为顶尖选手。

名字里的“分层”,指的是这个模型分为注意力层(Attention Layer)和时期层(Phase layer),前者用来预测英雄该去哪儿,后者负责识别游戏进行到了什么阶段,是前期、对线还是后期。

我们先看注意力层,也就是AI怎样判断它的英雄该去哪儿

培养这项能力,首先要有合适的训练数据,而在王者荣耀里,想判断英雄“到了这儿”,最合适的标准莫过于“在这儿打起来了”。

于是,腾讯在标注训练数据时,把下一次攻击发生的地点,定为英雄现在该去的地点。

比如说上图就以韩信为例,展示了游戏开局时英雄该往哪走。其中左侧显示的是游戏在初始阶段s-1时的状态,中间和右侧红框标出的ys、ys+1显示的是韩信进行第一、二次攻击的位置,也就是他在s-1、s两个阶段该去的位置。

AI的目标,就是学会在s-1阶段该准备去y位置,在s阶段该去ys+1位置。

用这样的数据训练注意力层,就能让AI掌握英雄移动的奥义。

知道了该去哪还不够,要想上王者,还得会判断局势,调整策略。这就是时期层的工作了。

想知道游戏进行到了前期、对线期还是后期,只靠时间当然不够。好在游戏里主要资源的状况和阶段密不可分。比如说,如果英雄还在以推外塔打暴君(小龙)为目标,那游戏一定刚刚开局;如果打到了敌方家里,那当然是后期了。

所以,教AI判断局势,根据的也是对敌方主要资源的打击状况,包括塔、暴君、主宰(大龙)和水晶(base)。

上图显示的就是时期层关注的敌方主要资源,模型要从中学会的,是根据资源状况来判断现在该打击什么主要资源了,并进一步判断要完成哪些小目标。

比如下图显示的偷蓝buff(野怪)、清下路兵线,就都是推一塔这个时期的小目标。

能分析局势、确定目标,还知道该往哪儿走,剩下的就是队友之间的沟通配合问题了。

不过要学沟通,真的没什么人类对战的数据能拿来训练。毕竟人类队友的沟通充满怨念

于是,腾讯设计了一种全新的跨智能体沟通机制,用队友的注意力标签来训练AI,让它学会预测队友要往哪走,并据此做出决策。

就这样,一支队伍中的5个智能体就可以协作了,也算是一种“沟通”机制吧。腾讯称之为模仿跨智能体沟通(Imitated Crossagents Communication)。

论文

这篇论文名为:

Hierarchical Macro Strategy Model for MOBA Game AI

地址:

https://arxiv.org/abs/1812.07887v1

作者:Bin Wu、Qiang Fu、Jing Liang、Peng Qu、Xiaoqian Li、Liang Wang、Wei Liu、Wei Yang、Yongsheng Liu,来自腾讯AI实验室。

关于第一作者Bin Wu,量子位查了一下,他现在是腾讯AI实验室的高级研究员,也是王者荣耀AI算法设计和开发的技术负责人。

此前,他还还是腾讯一个量化交易项目的核心成员,负责机器学习算法的设计和开发。这个团队搞的模型,已经获取了70%的净收益,2017年在A股市场的回报率为5%。

公开的资料显示,Bin Wu于2016年12月加入腾讯至今。此前,他曾在百度供职一年,负责Duer相关的项目。

2011年,Bin Wu本科毕业于上海交大,2015年在香港科技大学获得博士学位。

*本文作者夏乙 问耕,由新芽NewSeed合作伙伴量子位授权发布,转载请联系原出处。如内容、图片有任何版权问题,请联系新芽NewSeed处理。