据机器之心了解,这是腾讯 AI Lab 与王者荣耀共同探索的研究项目——策略协作型 AI「绝悟」首次露面,并于昨天在KPL秋季决赛接受前职业 KPL 选手辰鬼、零度和职业解说白乐、九天和立人组成的人类战队(平均水平超过 99% 玩家)的水平测试。最终 AI 战队获得胜利。这是继围棋 AI「绝艺」后,腾讯 AI 在深度学习与强化学习领域的又一项前沿研究。
其实,腾讯 AI Lab 一直以来都在研究如何使用人工智能来打王者荣耀,我们可以从一些论文和演讲中略知一二。今年五月,他们和匹茨堡大学的研究人员曾经向 AI 顶级会议 ICML 2018 提交了一篇论文,其中人们尝试了 AlphaGo Zero 中出现的蒙特卡洛树搜索(MCTS)等技术,并取得了不错的效果。
那时,人工智能还只能玩狄仁杰一个英雄。几个月后,它们已经可以「五人」组队,在王者段位和人类玩家打得有来有回了。
那么问题来了:王者荣耀的「前 1%」玩家是有多强?作为流行手机游戏,王者荣耀自上线到现在已经有三年了,有的高手早早就上了王者,但大部分都还卡在钻石和铂金段位上。今年 10 月,腾讯官方统计了王者荣耀玩家的段位分布图:
看起来,能和 AI 打的至少需要是「最强王者」级别水平的玩家。
以下是腾讯 AI Lab 在 arXiv 上传的最新一篇论文《Hierarchical Macro Strategy Model for MOBA Game AI》的相关内容:
AlphaGo 打败世界冠军李世乭让我们看到了通用人工智能的曙光(Silver et al. 2016)。从那时起,游戏 AI 不仅引起了研究者的注意,还吸引了大量来自公众的目光。游戏 AI 的目标远不止玩游戏的机器人那么简单。游戏为模拟真实世界提供了理想的环境。AI 研究人员可以在游戏中开展实验,并将卓越的 AI 能力应用到现实世界。
尽管 AlphaGo 是通往通用人工智能的里程碑,但与现实世界相比,它所解决的问题仍然非常简单。因此,研究者们近来更加关注即时战略游戏(RTS),如 Dota(OpenAI 2018a)、星际争霸(Vinyals et al. 2017; Tian et al. 2017),这些游戏涉及的问题更加复杂。Dota 是一款著名的奇幻 5v5 多人在线战术竞技游戏(MOBA)。每个玩家控制一个英雄,与其他四个队友一起保护防御塔,攻击敌人的防御塔并通过杀死小兵收集资源。他们的目标是摧毁敌人的基地。
作为 MOBA 游戏,王者荣耀内含防御塔、野区、装备等机制。
与围棋相比,RTS 游戏的难度主要体现在四个方面:1)计算复杂度。RTS 游戏动作空间和状态空间的计算复杂度可能达到 10^20,000,但围棋的复杂度只有 10^250 左右(OpenAI 2018b)。2)多智能体。RTS 游戏通常包含多个智能体。多个智能体协调、合作非常关键。3)信息不完整。与围棋不同,许多 RTS 游戏利用战争迷雾(Vinyals et al. 2017))来增加游戏难度。4)奖励稀疏、延迟。在围棋中,基于游戏奖励进行学习的挑战性在于稀疏和延迟。RTS 游戏长度通常大于 20,000 帧,而每局围棋通常不超过 361 步。
围棋和 MOBA 的计算复杂度对比。
为了掌握 RTS 游戏,玩家在宏观战略操作和微观执行方面都要有很强的技巧。在最近的研究中,大多数注意力和研究都集中在微观执行方面 (Vinyals et al. 2017; Tian et al. 2017; Synnaeve and Bessiere 2011; Wender and Watson 2012)。到目前为止,由 OpenAI 开发的 Dota2 AI 使用的是强化学习,OpenAI Five 已经取得了最先进的成果 (OpenAI 2018a)。OpenAI Five 是通过最近的策略优化算法和团队奖励直接在微观动作空间上训练的 (Schulman et al. 2017)。在 2018 年的国际比赛(DOTA2 2018)中,相比顶尖的职业 Dota2 队伍,OpenAI 展示出了强大的团队战斗技能与合作意识。OpenAI 的方法没有明确地模拟宏观战略,而是使用微观操作来学习整个游戏。然而,由于宏观战略管理薄弱,OpenAI Five 无法击败职业队伍 (Vincent 2018; Simonite 2018)。
关于明确的宏观战略操作的研究已经做了不少,大部分都集中在导航上。导航旨在为智能体提供合理的目的地和有效的路径。大部分关于导航的研究都使用势力图(influence map)或势场法(potential field)(DeLoura 2001; Hagelbäck and Johansson 2008; do Nascimento Silva and Chaimowicz 2015)。势力图使用手工制作的方程式量化单元。然后,使用规则将多个势力图融合,以提供单值输出来为智能体导航。
就宏观战略操作而言,为智能体提供目的地是最重要的导航目的。在正确的时间到达正确的地点至关重要,这也是高级玩家和其他玩家之间的区别。在宏观战略操作中还使用了规划。Ontanon 等人提出用对抗分层任务网络(AHTN)规划(Ontanón and Buro 2015)来搜索 RTS 游戏中的分层任务。虽然 AHTN 在 mini-RTS 游戏中展示出了一定的前景,但它存在效率问题,这也导致很难将其直接应用于完整的 MOBA 游戏中。
虽然文献很多,但以前关于宏观战略的研究终究没能提供完整的解决方案:
首先,通过在微观动作空间层面学习来隐式地推理宏观战略可能会很困难。OpenAI Five 在微观执行和宏观战略操作方面的能力差距很明显。如果想让模型通过简单地观察微观动作和奖励后想出高级战略,这显然是过于乐观的。作者认为明确的宏观战略建模十分必要。
其次,先前关于明确的宏观战略的研究过于依赖于手工绘制的方程式来计算和融合势力图/势场法。在实际操作中,通常有成千上万的参数需要手动决定,因此几乎不可能实现良好的性能。而另一方面,规划方法无法满足完整 MOBA 游戏的效率要求。
第三,RTS 游戏宏观战略操作中最具挑战性的问题之一是多个智能体之间的协调。然而,据作者所知,先前的研究并没有明确地考虑这一点。OpenAI Five 虽然在微观建模中使用了团队奖励来考虑多智能体协调问题,但每个智能体在独立做决定时并没有考虑队友的宏观战略决策,因此它很难在宏观战略级别发挥出最好的协调能力。
最后,作者发现建模战略阶段对 MOBA 游戏中 AI 的表现至关重要。然而,据其所知,先前的研究同样没有考虑到这一点。
然而,教智能体学习宏观战略操作颇具挑战性。首先,从数学上定义宏观战略,如围攻和分线推进就很困难。此外,在 OpenAI Five 的强化学习框架(OpenAI 2018a)上加入宏观战略需要相应的执行才能获得奖励,但学习宏观战略操作本身就是很复杂的过程。因此,作者认为监督学习是更好的方案,因为可以充分利用高质量游戏的回放来学习宏观战略以及相应的执行示例。需要注意的是,通过监督学习学到的宏观战略和执行可以进一步作为强化学习的初始策略。
MOBA AI 宏观战略架构
MOBA AI 宏观战略模型的设计灵感来自人类玩家的战略决策方式。在 MOBA 游戏中,经验丰富的人类玩家完全了解游戏的每个阶段,如开启期、对线期、游戏中期和游戏后期(Silva and Chaimowicz 2017)。在每个阶段,玩家都要关注游戏地图并根据情况决定将英雄派往何处。例如,在对线期,玩家会将更多的注意力放在自己的线路上,而不是支持队友。但在游戏中期和后期,玩家会更加关注团战地点,向敌方的基地推进。
宏观战略操作过程可以总结为「阶段识别-> 注意力预测-> 执行」。为了建模这一过程,作者提出了一个双层宏观战略架构,如阶段层和注意力层:
阶段层旨在识别当前游戏阶段,这样注意力层就能更清楚地知道应该将注意力放在哪里。
注意力层旨在预测地图上适合派遣英雄的最佳地点。
阶段层和注意力层为宏观执行提供高级指导。下文将详细说明建模细节。宏观模型的网络架构几乎与 OpenAI Five1(OpenAI 2018a)中用到的结构一样,只不过前者是以监督学习的方式。经过一些小幅修改,作者将其应用到《王者荣耀》中,例如删除 Teleport。
论文:Hierarchical Macro Strategy Model for MOBA Game AI
论文链接:https://arxiv.org/abs/1812.07887
摘要:游戏 AI 的下一个挑战是即时战略游戏(RTS)。即时战略游戏提供了部分可观察的游戏环境,其中智能体之间交互的动作空间要比围棋游戏大得多。掌握即时战略游戏既需要强大的宏观战略,又需要微妙的微观执行操作。最近,微观执行层面已经取得了很大进展,但仍然缺乏针对宏观战略的完整解决方案。在本文中,作者提出了一种基于学习的新型分层宏观战略(Hierarchical Macro Strategy)模型,用于掌握 RTS 游戏的子类型——MOBA(多人在线战术竞技)游戏。通过用分层宏观战略模型训练,智能体可以明确做出宏观战略决策,并进一步指导其微观执行。此外,虽然会利用一种新型的模拟跨智能体通信机制同时和队友沟通,但每个智能体会做出独立的战略决策。作者在流行的 5V5 MOBA 游戏中对模型进行全面评估。在与人类玩家队伍(这些队伍在玩家排行榜系统中排名前 1%)的竞技中,由 5 个 AI 智能体组成的队伍达到了 48% 的胜率。