@王者荣耀玩家,今后你们可能连人机都打不过
2019年12月24日 由 KING 发表
400418
0
今年夏天腾讯宣布已开发出一种人工智能系统,该系统可以在王者荣耀比赛中击败职业选手。而且AI系统选择阵容时是盲选,对于AI来说游戏信息并不完整,因此,这个系统的意义不只是赢得王者荣耀游戏,而且可以用于开发能够解决社会最严峻挑战的系统。
本周腾讯发表的一篇论文揭示了此AI系统技术的各个层面,作者将其描述为“高度可扩展”。与传统的棋盘游戏和街机游戏相比,王者荣耀这样的实时策略游戏需要高度复杂的技能控制,游戏状态也往往充满不确定性(大约有10 * 600个可能的状态和10 * 18000个可能的技能组合),并且目标总体上更复杂。系统不仅要学会制定策略,攻击和防御,而且还必须控制技能施放顺序,诱导和欺骗对手,同时还要对抗小兵和防御塔等。腾讯的AI系统架构由四个模块组成:强化学习(RL)、人工智能服务器、调度模块和内存池。
人工智能服务器 - 它在单个处理器核心运行,使它能够学会如何与游戏环境的对象AI模型交互,调整游戏策略,并且,由于它具有从游戏状态提取信息的功能,它会预测玩家的行为并将其转发到芯片。然后芯片返回一个命令状态和相应的奖励值。 至于调度模块,它与同一台计算机上的多个AI服务器捆绑在一起,并且在把信息发送到内存池之前,它会收集数据反馈、功能、技能概率等组成的数据样本。
内存池(也是服务器)支持各种长度的采样以及基于时间生成的数据采样,并且实现了循环队列结构,该循环队列结构以数据有效的方式执行存储操作。
最后,强化学习(一种分布式培训环境)通过上述行为来加速策略更新。多个加固学习者从内存池取并行数据,与它们进行通信使用共享存储器。一个机制(目标关注)有助于敌方目标的选择,而另一个长短期记忆(LSTM),能够学习长期依赖的算法,使AI系统的英雄伤害最大化。
腾讯研究人员开发的系统编码图像特征和游戏状态信息,使得每个单元和敌方目标数据都得以表示。AI系统巧妙地结合了人类玩家丰富的经验知识,从而防止AI在游戏中走入的物理“禁区”(即危险的地形)。
在实验中,研究人员在总共60万个内核和1064个图形卡(Nvidia Tesla P40和Nvidia V100的混合物)上运行了该AI框架,并处理了16000个包含隐蔽的单位属性和游戏信息的功能。训练一个英雄需要48张图形卡和18000个处理器内核,每卡每秒的速度约为80000个样本。每天进行集体训练,该系统积累了相当于人类玩家500年的经验。 作者指出,AI的Elo分数源自用于计算零和博弈(指参与博弈的各方,在严格竞争下,一方的收益必然意味着另一方的损失,博弈各方的收益和损失相加总和永远为“零”,双方不存在合作的可能。)中玩家的相对技能水平的系统,根据研究人员的说法,它在80小时内变得相对稳定,并且在短短30小时内就开始击败排名前1%的人类玩家。
系统每133毫秒(或大约是顶级业余玩家的响应时间)通过AI模型执行一次动作。五名职业选手 - “QGhappy.Hurt”,“WE.762”,“TS.NuanYang”,“QGhappy.Fly”和“eStarPro.Cat,” 被邀请参与对战,研究人员指出,尽管eStarPro.Cat在法师型英雄方面表现出色,但AI还是每场杀了5次,平均每场只被杀了1.33次。在公开比赛中,其在2100场比赛中的获胜率为99.81%,八位由AI控制的英雄中有五位的胜率达到了100%。
腾讯研究人员表示,他们计划在不久的将来将其框架和算法开源,以促进对《王者荣耀》等复杂游戏的研究。