未分类

《王者荣耀》AI练一天相当于人类练500年,击败职业选手的AI是这样练成的

《王者荣耀》AI练一天相当于人类练500年,击败职业选手的AI是这样练成的

今年8月,《王者荣耀》迎来了一次另类的“更新”,腾讯公布了《王者荣耀》新的AI系统“觉悟”。这一新的AI能在一场5V5比赛里打败职业选手。

《王者荣耀》是一款MOBA游戏,MOBA游戏的特点在于“信息量不完备,不存在最优策略”。战争迷雾的存在导致玩家们彼此不知道对方阵营的决策,需要玩家即时捕捉、处理多种信息。所以,能够击败真人玩家的MOBA AI系统是一个巨大的突破。而它的影响可能不会只停留在《王者荣耀》上,这个技术未来或将成为解决许多社会难题的基础。

一篇本周发布的论文详细分析了腾讯的AI架构。文章作者认为腾讯的AI“极具拓展性”,因为它能够有效地利用actor-critic算法探索游戏地图和信息,并持续独立优化自己的系统。

像《王者荣耀》这样的即时决策类游戏,所需求的动作指令和微操极其复杂,是传统桌面游戏和街机游戏完全无法比拟的。MOBA类游戏的地图设计也会产生巨大的操作序列空间,每一局游戏都有超过10的18000次方种操作可能性。

MOBA的操控“需要从大量、复杂、连续的即时决策到长期决策中不断博弈,一切以最终胜利为目标”——这就意味着AI需要能够同时计划、进攻和防守,能够打出连招、引诱敌人并隐瞒信息,能够争夺中立资源、野怪和防御塔。

腾讯的AI架构有四个模块: 强化学习机器、AI服务器、分发模块和记忆池。AI服务器负责处理AI模型与游戏物件的互动,它会通过自主学习产生一个当前游戏环境的切片。AI服务器能够从这个切片中选取相关的游戏要素,并以此为依据来预测玩家指令,再将它们传达给游戏核心去执行。游戏核心接下来会输出下一个游戏场景以及相对应的奖励值,这个数值将会影响模型的决策。

1.png

分发模块与多个AI服务器捆绑在一起,负责收集包含奖励,游戏环境,决策纪律等数据样本,将它们打包压缩并发送至记忆池。记忆池则是一个存储空间,使用一个圆形队列架构来存储数据。

最后要说的就是强化学习机器。它是一个分布式的训练环境,使用actor-critic算法来提升规则更新速度与效率。多个强化学习机器同时从记忆池中平行地提取数据,然后通过共享的内存来交流。比如一个组件负责目标选取,而另外一个长短期记忆算法(一种时间递归神经网络)将会建立倾向性,学习释放非指向性技能和能够打出大量伤害的关键连招。

腾讯的研究团队将游戏信息和图像全部以数字的形式表现出来。数字化使得AI系统能够从真人玩家的数据中学习,避免它们尝试游戏范围之外的指令——比如试图翻越不可交互的地形。

2.png

在实验中,论文的作者们使用60万个CPU内核和1064张显卡测试了这个架构,得到了16000个游戏场景。训练AI系统使用一个英雄需要48张显卡和18000个核心,每张显卡每秒处理了近80000个样本数据。简单地说,AI系统打一天等于人类打500年;AI的隐藏分在30个小时内就超过了99%的玩家,在80小时后达到职业玩家水平。

这个系统每133毫秒就能执行一个操作,这个反应速度几乎是业余玩家中顶尖的了。8月的China Joy上,腾讯邀请了五位职业选手与“绝悟”对战。尽管这些选手们选择了版本最强的英雄,“绝悟”依然平均每局游戏能拿到五次击杀并仅死亡1.33次。在和普通玩家的2100场对战中,“绝悟”的胜率是99.81%。

腾讯近期宣布他们将会开源“绝悟”的架构和算法,以求继续为《王者荣耀》这样复杂的游戏制作AI系统。

消息来源:https://venturebeat.com/2019/12/23/tencent-details-how-its-moba-playing-ai-system-beats-99-81-of-human-opponents/

游戏葡萄编译整理