雷锋网 AI 科技评论按:各位读者想必今天一睁眼就被「OpenAI 的人工智能在 DOTA 5v5 比赛中也打败了人类选手」的新闻刷屏了。OpenAI 开发的 DOTA AI 去年在 1v1 solo 中打败顶级职业选手 Dendi 和 Sumail之后,紧接着就放出豪言还要在 5v5 的 DOTA 比赛中击败人类,这一天仿佛这么快就到来了。
5v5 AI,一个新的台阶,不过这个 AI 其实还比较初级
DOTA(以及 DOTA2)是目前最火热的电子竞技游戏之一,也是当之无愧的职业比赛规模最大、奖金最高的游戏。DOTA 游戏有很高的难度,对人类玩家来说都需要很长的学习时间,因为 DOTA 中有上百种英雄、上百种物品、多种游戏策略、不同英雄有不同的玩法、不同的英雄组合之间也有独特的技能和装备配合;除此之外玩家还需要审时度势,同一个英雄在不同局面中也有不同的玩法。DOTA 的职业比赛也因此而变得激动人心,选手的局部小操作和整个团队改变战局的战略执行都会被玩家们津津乐道。
复杂的英雄、物品、配合、长短期策略结合等方面正是我们长期认为 DOTA 这样的游戏对现阶段的 AI 来说过于困难的原因。而且除了这些人类眼中的认知难题之外,DOTA 游戏的行动空间还非常庞大。相比于围棋中每一步操作只需要在棋盘上剩余的空位中选一个落子,DOTA 中的行动是非常密集的(每分钟操作在 100 次数量级)、考虑时间长短的(比如持续施法技能)、数值连续的(比如走位)、复杂多值化的(比如购买装备)、信息是部分可观察的(地图上有大量的无视野区域),反馈也可以认为是稀疏的(胜负最为重要),所以主流观点一度认为类似 DeepMind 开发 AlphaGo 时那样的纯粹强化学习自我对弈是无法学会玩 DOTA (以及星际等即时战略游戏)的,过大的行为空间会让训练过程长期停留在没有有效反馈的区域从而无法收敛。层级强化学习被认为是一种有希望帮助训练过程快速走出低效探索的方法,但发展仍不成熟。
OpenAI 对于 DOTA AI 的最终目标是开发出能够打败人类职业选手的 AI。显然这样的目标是无法一蹴而就的,所以他们的指导思想是分步走,从英雄、物品、地图范围、策略都有高度限制的 1v1 比赛开始,然后逐步减少限制,同时逐步改善模型,一步步接近最终目标;去年 TI(国际邀请赛)中 1v1 打败 Dendi,以及在测试比赛中打败 Sumail 的 DOTA AI 就是其中的第一步。对于这样的结果,初看有些意外,但细想之下还是比较合理的。毕竟玩 Atari 游戏我们都已经司空见惯了。
对于接下来的 5v5 AI(名为 OpenAI Five),自然也保留了诸多限制,游戏环境和各位玩家熟悉的样子有诸多不同。OpenAI Five 在这个环境里做了多次迭代更新,4 月 23 日版本首次打败了 OpenAI 自己编写的基于脚本的基准模型,5 月 15 日的版本与 OpenAI 员工队伍(天梯分段 2500,高于 46% 的玩家)打了一胜一负;而 6 月 6 日的版本则在与业余战队(天梯分段 4200,高于 93% 的玩家)和半职业战队(天梯分段 5500,高于 99% 的玩家)的比赛中都赢得了三局中的前两局。
OpenAI Five 目前设定的游戏中的限制有以下这些方面:
比赛双方都使用固定的瘟疫法师、冥界亚龙、矮人火枪手、水晶室女、巫妖 5 个英雄,而不是在超过 110 个英雄中任意选择(显然我们也可以推测出 OpenAI 就是以这组固定的英雄进行训练的)
禁止使用守卫,禁止使用隐身物品(消耗品及装备)
禁止使用幻象和分身
禁止打肉山
禁止购买圣剑、魔瓶、压制之刃、远行鞋、知识之书、眼泪
禁止使用扫描
OpenAI Five 方有五个无敌的信使,不过也禁止使用这些信使看视野以及承受伤害
显然各位 DOTA 玩家一看就知道,仅英雄选择的限制这一项就极大降低了游戏的复杂度;隐身、肉山之类的禁用也缩小了战略战术的选择空间;至于 5 个无敌的信使就更像是对 5 个 AI 之间(也许并不理想的)协作能力的妥协了。
不过,能打败业余和半职业战队的表现毕竟还是有一些特色的,能在三局中赢得前两局也说明了 AI 的策略选择与执行的效果。在几场比赛中 OpenAI Five 的玩法体现出了这些特点:
采取的策略总是放空自己的优势路,攻击对方的优势路(以及到中路的这小半场),以求造成压力、形成优势。(所以人类职业选手到了第三局也就能够反制这样的固定策略了)
OpenAI Five 五个英雄都集结在对方优势路到中塔之间的区域
快速主动地组织 gank 并推搭
比赛开始 2 分钟,AI 的 2 级冰女和 2 级毒龙 gank 中路
比赛前期给辅助英雄让钱让经验,这让辅助英雄更快地达到最高输出,同时也更快地结束比赛
人类方进攻高地,AI 冰女 BKB 跳大,配合队友击杀对方四人
复杂的强化学习任务比预想的要简单?
即便游戏中有一些限制,但还是有足够的复杂度,而且我们也看到了 AI 在游戏中的精彩表现。从技术角度来说,这也给了我们新的启发。
正如前文提到的,DOTA 中复杂的行动空间以及对长短期策略结合的需求的让领域内的研究者,甚至包括 OpenAI 的人自己都认为 DOTA 需要层次化强化学习这样的全新的深度学习技术,但其实只通过雷锋网 AI 科技评论也曾介绍过的近端策略优化 PPO就已经达到如此的水平 —— 至少是在用足够大的规模做训练,以及选用了合适的超参数平衡了探索行为的程度的时候。
OpenAI 使用了256 个 V100 GPU 和 128000 个 CPU 训练模型,不使用人类数据,80% 的时间自我对弈,20% 的时间和过去的版本对弈。训练中每天进行的游戏数量时长相当于大约 180 年。根据 DOTA 解说 Blitz 评价,OpenAI Five 的补刀只是普通玩家水平,但整场游戏的长期策略执行已经有了职业选手水准。用现有的方法就能达到短期策略和长期策略之间的均衡,算是一项惊喜的发现。
另一方面,OpenAI Five 中使用的模型架构也出人意料地简单。每一个英雄由一个单独的 LSTM 模型控制,而它只是一个单层的、含有 1024 个单元的 LSTM 网络。网络从 Value (DOTA2 制作公司)提供的 BOT API 获取数据,然后通过多个不同的动作输出接口进行控制。
OpenAI Five 的网络架构图
OpenAI 对于反馈的设计也别有用心。除了输赢之外也选用了人类选手常用的指标:总财产、击杀数、死亡数、助攻数、补刀数等等。但是为了避免 AI 过于关注这些偏向于短期策略的数据,他们的反馈设计只鼓励 AI 在这些方面做到人类玩家的平均水平。
还有一个项目是 AI 之间的合作。OpenAI 并没有为 AI 之间设计显式的沟通频道,目前他们设计了一个名为「团队精神」的超参数,这个 0 到 1 之间的值会反应每个英雄关注自己单独的反馈和整个团队的反馈之间的比例。在训练中 OpenAI 通过退火来优化这个值的具体大小。
总结
虽然我们说到目前的 5v5 OpenAI Five 的实际表现不过如此,但以现有的资源和方法就达到了超出预期的效果,这也值得我们反思以往的强化学习研究中,方法与实现是否有诸多做的不完善的地方才导致容易遇到训练困难、表现瓶颈、表现不稳定性等问题;另一方面,在现有方法的威力完全得到发挥的地方,我们也更容易清晰地看到继续提升表现还需要哪些创新。
OpenAI 还会在 7 月 28 日组织顶尖人类职业玩家再与 OpenAI Five 进行比赛,这之前系统还会进行调试更新。我们期待 OpenAI Five 近期能有更新、更强的表现,也期待它早日在无限制的完全展现了 DOTA 复杂程度的环境中再展风姿,更与 OpenAI 全体一起期待这些用于 DOTA AI 的技术能为更多真实世界问题带来帮助。
雷锋网 AI 科技评论报道。