让人工智能来打王者荣耀 狄仁杰成最强英雄

如果让人工智能来打王者荣耀,应该选择什么样的英雄?近日,匹茨堡大学和腾讯 AI Lab 提交的论文给了我们答案:狄仁杰。在该研究中,人们尝试了 AlphaGo Zero 中出现的蒙特卡洛树搜索(MCTS)等技术,分析王者荣耀的对战与英雄,让我们一起看看吧。
让人工智能来打王者荣耀 狄仁杰成最强英雄-DVBCN

AI与游戏的化学反应

对于研究者而言,游戏是完美的 AI 训练环境,教会人工智能打各种电子游戏一直是很多人努力的目标。

AlphaGo 在围棋上战胜人类顶尖选手之后,DeepMind 与暴雪合作开展星际争霸 2 的人工智能研究。去年 8 月,OpenAI 的人工智能也曾在 Dota 2 上用人工智能打败了职业玩家。

那么如果是手机上流行的多人在线战术竞技游戏(MOBA 游戏)《王者荣耀》呢?最近,匹茨堡大学、腾讯 AI Lab 等机构提交到 ICML 2018 大会的一篇论文揭开了王者荣耀 AI 研究的面纱。

案例分析:《王者荣耀》MOBA 游戏 AI

《王者荣耀》中,玩家被分为对立的两队,每一队有一个基地,分别在游戏地图的相反角落。每条线上有防御塔来防御,它可以攻击在一定范围内的敌人。每支队伍的目标是推塔并最终摧毁对方的水晶。

让人工智能来打王者荣耀 狄仁杰成最强英雄-DVBCN

该实验中采用 1v1 模式,使用AI分析1V1对战中的游该方式,不同英雄的对战方法。结合模拟战斗训练,分析出英雄的强弱。

实验设置

系统的状态变量是一个 41 维的向量,包含直接从游戏引擎获取的信息,包括英雄位置、英雄健康度(血量)、小兵健康度、英雄技能状态和不同结构的相对位置。有 22 个动作,包括移动、攻击、治疗术(heal)和特殊的技能动作,包括(扇形)非指向技能。

奖励函数的目标是模仿奖励形态(reward shaping),使用信号组合(包括健康、技能、伤害和靠近水晶的程度)。研究者训练了五个《王者荣耀》智能体,使用的英雄是狄仁杰:

1、FBTS 智能体使用基于反馈的树搜索算法进行训练,一共迭代 7 次,每次进行 50 局游戏。搜索深度 d = 7,rollout 长度 h = 5。每次调用 MCTS 运行 400 次迭代。

2、第二个智能体因为没有 rollout 被标注为「NR」。它使用和 FBTS 智能体相同的参数,除了未使用 rollout。总体来看,它在批量设置上与 AlphaGo Zero 算法有些相似。

3、DPI 智能体使用 Lazaric et al., 2016 的直接策略迭代技术,进行 K = 10 次迭代。没有价值函数和树搜索(因为计算限制,不使用树搜索就可能进行更多次迭代)。

4、AVI 智能体实现近似价值迭代(De Farias & Van Roy, 2000; Van Roy, 2006; Munos, 2007; Munos & Szepesvari ´ , 2008),K = 10 次迭代。该算法可被认为是 DQN 的批量版本。

5、最后是 SL 智能体,它通过在大约 100,000 个人类玩游戏数据的状态/动作对数据集上进行监督学习来训练。值得注意的是,此处使用的策略架构与之前的智能体一致。

AI分析模型

事实上,策略和价值函数近似在所有智能体中都是一样的,二者分别使用具备五个和两个隐藏层的全连接神经网络和 SELU(scaled exponential linear unit)激活函数(Klambauer et al., 2017)。

初始策略 π0 采取随机动作:移动(w.p. 0.5)、直接攻击(w.p. 0.2)或特殊技能(w.p. 0.3)。除了将移动方向挪向奖励方向之外,π0 不使用其他启发式信息。MCTS 是 UCT 算法的变体,更适合处理并行模拟:研究者不使用 UCB 分数的 argmax,而是根据对 UCB 得分应用 softmax 函数所获得的分布进行动作采样。

让人工智能来打王者荣耀 狄仁杰成最强英雄-DVBCN

与理论不同,在算法的实际实现中,回归使用 cosine proximity loss,而分类使用负对数似然损失。由于在该游戏环境中我们无法「倒带」或「快进」至任意状态,因此采样分布 ρ0 由第一次采取的随机动作(随机的步数)来实现并到达初始状态,然后遵循策略 πk 直到游戏结束。

为了减少价值逼近中的相关性,研究者丢弃了在这些轨迹中遇到的 2/3 的状态。对于 ρ1,研究者遵循 MCTS 策略,偶尔带入噪声(以随机动作和随机转向默认策略的方式)来减少相关性。在 rollout 中,研究者使用游戏内部 AI 作为英雄狄仁杰的对手。

实验结果

由于该游戏几乎是确定性的,因此研究者的主要测试方法是对比智能体对抗内部 AI 对手的有效性。研究者还添加了游戏内建 AI 的狄仁杰作为「完整性检查」基线智能体。

为了选择测试对手,研究者使用内建 AI 狄仁杰对抗其他内建 AI(即其他英雄)并选择六个内建 AI 狄仁杰能够打败的射手类英雄。研究者的智能体每一个都包含内建狄仁杰 AI,使用智能体对抗测试对手。

下图显示了每个智能体打败测试对手的时间长度(单位为帧)(如果对手赢了,则显示为 20,000 帧)。在与这些共同对手的战斗中,FBTS 显著优于 DPI、AVI、SL 和游戏内建 AI。

让人工智能来打王者荣耀 狄仁杰成最强英雄-DVBCN

但是,FBTS 仅稍微超出 NR 的表现(这并不令人惊讶,因为 NR 是另外一个也使用 MCTS 的智能体)。研究者的第二组结果帮助可视化了 FBTS 和四个基线的对决(全部都是 FBTS 获胜):下图显示了 FBTS 智能体及其对手的金币比例,横轴为时间。

让人工智能来打王者荣耀 狄仁杰成最强英雄-DVBCN

王者荣耀游戏中英雄对敌人造成伤害或者战胜敌人时,都会得到金币,因此金币比例大于 1.0(高出红色区域)表示 FBTS 的良好性能。如图所示,每个游戏结束时 FBTS 的金币比例都在 [1.25, 1.75] 区间内。

同时也展示出几种智能体战胜其他射手英雄所用时间(以帧为单位,即帧的数量),数字越小越好。其中 FBTS 为新研究提出的智能体。

相关文章
四川省:2027年算力总规模达到40EFLOPS,5G基站总数达32万个
四川省:2027年算力总规模达到40EFLOPS…
【破局】这家广电有线省网将率先成立人工智能(AIGC)实验室?
【破局】这家广电有线省网将率先成立人…
中国电影电视技术学会发布《AIGC媒体应用产业图谱(1.0版)》
中国电影电视技术学会发布《AIGC媒体应…
以数实融合创新未来,探访泉城看得见的数智化新进展
以数实融合创新未来,探访泉城看得见的…
工信部陶青:5G行业应用覆盖到76个行业大类,间接带动总产出约14万亿元
工信部陶青:5G行业应用覆盖到76个行业…
工信部赵志国:全国已累计建成207个千兆城市,GAI服务大模型注册用户超6亿
工信部赵志国:全国已累计建成207个千兆…
我还没有学会写个人说明!