作者:leo
从事:腾讯后台策略工程师
《Supervised learning achieves human-level performance in MOBA games: A case study of honor of kings》
这是一篇腾讯AI lab发表的文章,其主要利用MOBA游戏王者荣耀的数据进行强化学习,训练出一个能够打败人类顶尖选手的AI。
同时在文章中,提出了在游戏中的两个概念:Macro-strategy(宏观策略)、Micro management(微观控制)。
01
论文简介
✦
我们知道,在MOBA游戏中,会存在应用的多个动态位置和不同的团队策略中,同时每一个用户需要控制一个英雄,共10个玩家。
在论文中,在利用强化学习之前,提出先使用监督学习(SL)来进行模型的预训练。
论文主要有两个贡献:
1 | 根据有经验的人类玩家,会执行不同的动作和策略,提出了`macro-strategy`和`micromanagement`。其中`macro-strategy`表明玩家会倾向于去哪个区域,做什么动作。而`micromanagement`则表明玩家最小的执行单位:比如`移动`,`攻击`等。 |
---|---|
2 | 从实验表明,利用监督学习和强化学习,训练得到的AI达到甚至超过人类水平 |
论文简单的把王者荣耀的游戏界面分为:A(全局信息)、B(游戏当前状态)、C(玩家操作);之后的特征设计也是根据这些来进行。
02
特征与模型
✦
特征输入类型
1 | 输入有两个特征:vector特征、图像特征;论文中称为多模态输入特征 |
---|---|
2 | vector特征:主要用来表征当前英雄、队友、敌方的状态信息,包含英雄的基础属性和游戏状态信息等。比如英雄血量、等级、buff |
3 | 图像特征(image-like, 类似图像,不是真的图片):分为局部图和全局图,局部图表征当前英雄所处的位置信息,技能信息等;全局图表征所有英雄的位置信息,小兵,塔信息等。 |
标签构造
论文中构造了两个任务进行监督训练,分布是macro-strategy:意图标签,micro-management:动作标签。具体来说,从游戏中玩家的注意力中抽象出来的意图标签,是带有全局和局部意图的多视图。
Macro-strategy
1 | 宏观策略可预测玩家要移动的区域。根据人类的知识,发生攻击的区域可以指示玩家的目的地,否则,玩家将不会在其他地点花费时间。 |
---|---|
2 | global intent:定义攻击的地方为ground-truth区域:只考虑持续性的攻击。玩家可能获得的收益。把王者中地图划分为24*24,共576个类别 |
3 | local intent:是局部作战的短期计划,包括在丛林或安全点集合,撤退到附近的炮塔,或等待目标英雄,最后攻击目标。已自身为中心,划分12*12个区域。local intent从两次攻击事件中抽取玩家的中间位置。比如王者荣耀中,平均6.5s计算一次中间位置。 |
Micromanagement
1 | 它包含了两种不同的类型 |
---|---|
2 | level-1:移动,攻击,放技能等 |
3 | level-2:根据level-1,执行对应的动作类型:方向类型、目标类型、位置类型 |
数据预处理
场景识别:作为预处理步骤,MOBA游戏中,由于英雄的动作轨迹有所不同,从而实现不同的目的,因此游戏被细分为不同的场景。基于轨迹分析,论文为MOBA定义了以下游戏场景:
- 推塔、团战、攻击小兵、攻击野怪、返回、移动
- 数字列表
- 在定义的场景中,大多数都与攻击目标和距离有关系
- 由于定义的场景类型会出现不平衡:比如推塔和团战出现的频率不一致。所以对一些过多的场景进行欠采样,把不同场景进行平衡。
- 在移动场景中,会存在大量的noise(因为大部分的移动都是无效移动),因此在团战中取5帧,其他场景取15帧
- 攻击场景:模型会学习攻击高血量的英雄(高血量样本往往也更多),因此需要欠采样高血量的样本,过采样低血量的样本
03
模型
✦
整体模型如下:
- 输入特征中:多模态
- 在输出中,构建了两个多维度标签:`macro-strategy`和`micro-management`
04
实验
✦
实验主要有三种:
与baseline方法进行比较:本文训练的AI胜率都较高
人工智能对抗人类团队的表现。在标准的MOBA 5v5模式下进行比赛,即五名人工智能AI与五名人类玩家比赛。考察了觉悟SL作为一个团队的战斗能力。
人工智能与人类队友合作的表现。
可以看到(a)AI-1用防护罩保护AI-2,以确保安全。(b)和(c)AI-1迫使敌人改变其技能的移动方向,从而为AI-2留出空间以其最终技能锁定目标。(d)AI-2的技能命中,敌人被杀死(从左到右分别是a,b,c和d)。