北京时间 8 月 6 日凌晨,OpenAI的AI系统又跟人类打了三场Dota 2比赛,最终2:1 战胜了人类队伍!

此次比赛旨在检验 AI 系统是否具备在 TI8(2018 年 Dota2 国际邀请赛)上与顶尖职业强队一较高低的水平。如此看来,OpenAI 又将迈向新的征程。

这次代表人类出战的是 Blitz,Cap,Fogged,Merlini 和 MoonMeander,他们是欧美 Dota 圈耳熟能详的主播、解说和前职业选手和现役职业选手,其中 Merlini 更是 Dota 1 的宙斯冠名者,经典的“绕树林三杀”引无数玩家传颂。据 OpenAI 官网介绍,他们的平均水平超过了 99.95% 的 Dota2 玩家,不过5人并没有在一起训练过,默契程度有限。

DOTABUFF 的数据显示,他们都进入了超凡入圣天梯排行榜,其中天梯排名最高的是现役 Complexity 队员 MoonMeander,美服第 40 名,排名最低的是解说 Capitalist,美服第 1054 名。

人类队伍由5名DOTA2大神组成:Blitz, Cap, Fogged, Merlini和Moonm

与一个多月前的 5V5 镜像英雄 Dota2 比赛不同,这一次,OpenAI 不仅扩大了英雄池,允许双方以随机征召模式挑选英雄(无禁用),而且将 AI 系统的反应速度从 80ms 增加到了 200ms,更接近人类的反应速度,同时还移除了此前多种对人类不利的限制:

相比之下,最大的变化就是新的规则允许选手插眼、隐身(使用隐刀或诡计之雾等)和打 Roshan。这些限制的解除代表着人类可以获得更多的信息和发展空间,运用更多的战术和策略,比如利用刁钻的侦察守卫获得更多的信息,弥补技能衔接失误和反应速度较慢的弱点。

OpenAI Five 打 Roshan

这也意味着 AI 在短短一个多月的时间里掌握了这些英雄、操作和相应的对策。此前,一些解说和 Reddit 论坛的大部分声音均认为,掌握这些复杂的游戏机制还有很长的路要走,至少要 1-2 年的时间。但是,人类被人工智能打脸的事情可没少出现过。

在正式较量之前,AI 系统和现场的 5 名观众进行了一场热身赛。只过了 13 分钟,观众队伍就以 4:21 的悬殊人头数输掉了比赛AI 在游戏中表现出了强烈的进攻欲望和压迫性,各种越塔强杀,绕塔 Gank,钻树林 TP,只用了 10 分钟就站在了人类玩家的高地上为所欲为。

第一局阵容

不过这种情况在正式比赛中有所好转,因为玩家的水平有了极大提升。在第一局的对线期,人类选手的补刀并没有落下 AI 多少,AI 的冲塔欲望也收敛了许多,因为选手的走位和耗血都更加慎重。同时人类的优势路拉野技巧也让 AI 不知所措,这也是它控制的英雄第一次出现原地转圈的情况。

然而好景不长,AI 对技能和血量的精准计算使得它们在小规模交战中占尽优势,几次交战人类选手不仅没有占到优势,还被打出多次 3 人小团灭,甚至被 AI 火枪手绕树林反杀。自此,AI 开始占据人头和经济优势,并且展示出了十分明显的抱团推进策略,经常会出现杀人拿塔的“完美节奏”。

人类队伍在影魔做出隐刀后稍稍稳住了局面,几次成功的抓人和互换暂缓了 AI 的杀人节奏。这时的 AI 并没有展现出传统 Bot 的无脑抱团推进,它们开始展开 2-3 人的小型抓人,同时大哥火枪和直升机偶尔钻野补发育。不难看出,AI 系统其实已经形成了对游戏的“理解”,即在不同局面下做出不同的选择。

此后局面持续失控,人类队伍面对 AI 的凶狠 Gank 和抱团拿塔毫无办法,毕竟火枪的狙击和直升机的高射炮随随便便就能秒杀辅助。在 AI 队伍杀上下路高地时,人类的死灵法被秒,但是第一时间选择买活,AI 队伍居然像人类玩家一样选择了撤退,寻找下一次更好的时机。之后再次冲击高地时,人类神牛跳大被莱恩秒羊,这不仅预示着团战的溃败,高地的失守,也奠定了此后游戏的走向。最终人类无力抵抗,24 分钟打出 GG。

第二局比赛的总体走向和第一局十分相似,人类队伍拿出隐刺试图打出更多信息,增加更多的不确定性,影响 AI 的判断。最初虽然打出了一定的效果,但是 AI 的总体思路并没有改变,通过刚三压制人类大哥的发育,积极的游走、换路和 TP 破坏人类选手的击杀和推塔。

虽然隐刺、神牛和影魔的配合打出了一定的积极效果,多次成果击杀 AI 的火枪和辅助,但在人类乘胜追击时,AI 总是会找到突破口反杀人类。值得一体的是,第一局中人类选手因为游戏延迟暂停了游戏,而第二局中 AI 系统也暂停了一次,这似乎证明了 AI 在学习人类的行为,尽管它不明白背后的理由。

游戏进行到15分钟左右,随着人类中路的失守,局势再一次被AI所掌控。最终AI队伍在24分钟拿下次局。

在2:0击败人类队伍后,OpenAI的CTO Greg Brockman宣布,“我们的系统已经准备好在TI8上面对顶尖职业队伍了!”

OpenAI CTO 推文

随后进行的第三局颇有些为人类挽回最后尊严的意思,因为双方的阵容是由观众选出的,AI只负责在游戏中操作。最后我们可以看出 OpenAI 对观众选出的阵容十分“不满”,只给出了2.9% 的赛前胜率预测。

第三局的走向也证明了OpenAI的赛前预测,没有了前两局的顺风顺水和完美节奏。在游戏初期,AI 操刀的斧王选择了双圆盾出门,配合除隐刺外的3名队友强行压制人类优势路,不过效果并不理想,毕竟斯温和小鱼双核在没有装备支撑的情况下效果有限。

在丧失了分路知识和熟悉的节奏后,AI 英雄在 10 到 25 分钟在地图的各个地方频频被抓,5 个英雄各自为战,无法组织有效的反击、防御和游走。比赛也进入了人类的节奏,此后 OpenAI 下路高地被破,我们也看到了很多莫名的举动,比如小鱼人胡乱使用暗影之舞, 女王对着风杖吹起的死亡先知放大,斯温和斧王在敌方塔下乱走等。AI 系统还在游戏中给出了1%的绝望胜率。

人类在 33 分钟攻上了 AI 的中路高地,在 BKB 的直升机面前,AI 并没有做出多少有效的抵抗就被击溃。最终人类扳回一局,守住尊严。同时也揭示了现阶段 AI 系统的不足—从逆风局中学习的知识还不够多,无法有效应对局面不利的情况。

事实上,在此前击败人类业余队伍后,OpenAI 承认,他们在项目最初也没有料到,全无基础的强化学习会达到如此高度。

OpenAI团队紧张观战

OpenAI 的 Dota 2 人工智能系统名为“OpenAI Five”。根据 OpenAI 此前的论文,该系统基于机器学习和神经网络技术,在 256 个 GPU 和 12.8 万个 CPU(谷歌云平台)的加持下,通过近端策略优化(PPO)算法,24 小时不间断地进行自主对抗,其每日训练量等同于 180 年的游戏时间。

训练全程未使用人类选手的数据,也没有搜索和观看人类游戏的录像,全靠自学成才。不过目前英雄的出装和技能选择都是人类编写的脚本,AI 在每局游戏中会随机选择一套。

由于 AI 系统要“操控”5 位英雄,OpenAI 为每位英雄分配了一个长短期记忆递归神经网络(LSTM RNN Network)。网络之间没有直接的沟通渠道,只有在同一局游戏中,5 个网络才会通过“团队精神”的超参数值互相协调。该参数介于 0 和 1 之间,用于协调个人和团队的利益分配比重。最终这一数值被设定为 0.97,促使每个网络将团队利益放在首位。

OpenAI Five 的网络架构图

在训练中,OpenAI 团队使用了奖惩机制来定义每名英雄获得的“得分”:补刀和破塔等行为被视为奖励,而死亡被视为惩罚。

有意思的是,在 GitHub 开源的奖励机制文档中,杀死对方英雄的比重是-0.6,这是因为“击杀”所得到的金钱和经验会增加很多分数,为了平衡“击杀”带来的奖励,故而将其行为本身设为“惩罚”,降低其带来的分数收益,防止 AI 过分追求击杀。

AI系统计算个人奖励比重

以上的种种机制不仅印证了 Dota 2 的本质是“推塔”,而不是“击杀”,更重要的是向我们展现了一个理智的决策机制,是如何进行短期利益和长期利益之间的博弈的。

本质上讲,通过强化学习训练的AI系统是在不断寻找和计算一个“最优解”,可以是局部最优,亦或是全局最优。而比赛中的细节显示,AI系统的确会放弃当下的利益,转而为局势和整体发展着想。

因此 OpenAI 认为,“我们的系统确实在向着长远的方向优化。”

纵观全局,AI 系统展现的战术成长、沟通、协调和取舍可以简单地概括为“为达最终目标的长期规划”。无论是 OpenAI Five 之于 Dota 2,还是 DeepMind Alpha Go之于围棋,人工智能都做出了一些人类难以理解的举动,其中不乏完全没有意义和必要的操作,这归根结底是从零开始学习的结果,AI 系统仍然在摸索并逐步完善。不过事实已经证明,无数个类似的举动最终带来了胜利,也启发了人类。

国外解说 Purge 和 Pixel 在比赛中多次提到,人类选手可以从 AI 身上学到很多技巧,比如仇恨分担和转移。这也是 OpenAI 系统的正确使用方式,人类目前对AI 系统的套路和策略并不了解,相信在多次练习和对战中,人类对抗 AI 的能力一定会有所提高。这反过来也可以用来提升人类玩家的水平。

正如 OpenAI 联合创始人兼 CTO Greg Brockman 所说,因为 OpenAI 背后也是人类智慧的结晶,“无论结果如何,胜利(受益)的一方都是人类。”