AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

今天,DOTA2全球顶级赛事Ti8(The International DOTA2 Championships)淘汰赛进入到第三日,除了惋惜中国战队VG遗憾出局之外,之后举行的 OpenAIFive大战Pain战队则成了一大亮点,

不同于上次 OpenAI大败Dendi,这一次 OpenAIFive首场以败北告终,似乎意味着人工智能在游戏领域的统治能力仍有待于提升。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨OpenAIFive开发团队

这是一场BO1的比赛,也就是一局定胜负。OpenAIFive所对阵的是来自南美赛区的PainGaming(PG)。这支队伍是本次TI18支队伍中,首个被淘汰的队伍。

OpenAIFive的对战规则是:没有Ban选回合,两边阵容已经决定好,通过猜硬币来决定哪一边。机器的操作反应时间是在0.2秒之后,这是因为人类有反射弧,但是机器没有。加入延迟操作后,比赛会更加公平。

本场比赛对于OpenAIFive来说,是首次在DOTA2最高级比赛上以5对5的形式对阵人类职业选手。OpenAI选择的阵容是直升机、巫妖、死亡先知、寒冰室女、潮汐猎人;PG的阵容是恶魔巫师、瘟疫法师、巫医、狙击手、斧王。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨PainGaming(PG)战队

比赛刚刚开始,PG通过使用诡计之雾拿到了潮汐猎人的第一滴血。这还不算完,OpenAIFive在自己的下路一塔旁边插了一个真眼,实际上防御塔是自带真实视野的,OpenAIFive的做法无异于浪费团队资源。

在2分钟左右的时候,OpenAIFive中单的潮汐猎人在满状态的情况下回家补给自己的状态。4分钟左右,OpenAIFive的直升机与PG的巫医发生冲突,导致双方均阵亡。通过这次交锋可以看出,OpenAIFive在计算伤害方面非常精准,直升机最后一击刚刚够杀死巫医。

6分钟的时候,潮汐猎人身上购买了一个显影之尘。这是一件为了识破隐身的消耗品,不过PG的阵容没有一个英雄会使用隐身技能。

OpenAIFive在8分钟时下路集结了三个人,完成了对瘟疫法师的击杀。最神奇的事情,直升机对对方攻击力的把握非常准确,在自己仅剩7滴血的时候杀死了对方。

10分钟的时候,双方人头扳平。狙击手的经济为4500,全场第一。并列第二名是PG的斧王和OpenAIFive的死亡先知。

从前期来看,OpenAIFive非常注重击杀,而经济发育方面落后了不少。从13分钟开始,OpenAIFive选择5人集合从中路推进,并且选择使用诡计之雾对PG的队员进行追击。前者从中路一直追到了下路,并完成了一次1换3。

15分钟时,OpenAIFive再次集合5人进行推进,这次他们的目标是下路一塔。这次推进的结果超过了预期,OpenAIFive不仅夺下了下路二塔,还击杀掉了对方的狙击手和斧王。

OpenAIFive会给出双方的获胜几率,从现场的图表上来看,电脑在比赛全程的胜率都是将近100%。

比赛20分钟的时候,巫妖在中路把大招施放给了落单的狙击手。可是巫妖的大招要在人多的时候才能发挥作用。过了两分钟后,PG的斧王使用闪烁匕首进行偷袭,就算是给电脑设定了0.2秒的反应时间,这种人类根本不可能反应过来的操作还是被电脑躲开了。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨截止至比赛中段,PG一直处于经济领先

讽刺的是,作为OpenAIFive2号位的潮汐猎人,此时的经济成为了全队倒数第二。

在视野方面,OpenAIFive存在严重的BUG。除了上文提到的防御塔下插真眼外,机器还把真眼和假眼插到了主基地的旁边,而在这旁边就是两支拥有真视视野的防御塔。

30分钟的时候,OpenAIFive再次击杀了肉山。不过拿走复活盾和奶酪的人是经济排在全场第6的巫妖。一般来说,复活盾和奶酪会放在队伍1号位和2号位手里。

在比赛进入中后阶段,OpenAIFive突然改变了自己的作战风格。前期他们非常喜欢击杀对方英雄,而现在OpenAIFive开始全场补兵和清理野区。33分钟时,中路的死亡先知在没有对方视野的情况下释放了大招。

34分钟时,死亡先知利用Eul的神圣法杖躲过了斧王的战斗怒吼。这让解说们认为,操作迟应该更长一些,现在看起来还是不太平衡。36分钟时,OpenAIFive被PG团灭,死亡先知、潮汐猎人均阵亡。

PG选择在此时进攻对方高地,潮汐猎人在此时选择买活,死亡先知再一次在视野内没有任何敌人的时候释放了大招。

截止至40分钟,OpenAIFive的信使已经被击杀了两次。随后双方爆发了一场团战,斧王的技能依然被对方利用装备和技能躲掉了,现场的解说再一次吐槽了这个0.2秒延迟。

40分钟时,OpenAIFive选择进攻肉山。死亡先知虽然购买了大勋章装备,但是并未对肉山使用。随后机器在自己的远古野区连续插了两个假眼,每个视野道具的视野都不能叠加,因此这两个假眼等于一个。

43分钟时,死亡先知第三次在没有任何敌人的时候释放大招。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨OpenAIFive击杀数领先

44分钟时,OpenAIFive的击杀数领先对方11个,但是经济落后更多。现场解说认为,OpenAIFive主要赢在操作上,瞬间反应的操作让斧王、恶魔巫师等拥有施法时间的英雄毫无作用,因此操作延迟设定为0.2秒一事有待商权。

46分钟时,寒冰室女在上路停止了操作,被路过的斧王单杀。48分钟,买活的飞机再次被击杀,复活时间为115秒。此时OpenAIFive判定,PG的胜率为75%。

51分钟时,OpenAIFive的三路高地被破,且四人在无法买活的情况下阵亡。52分钟时,PG获得了胜利。

比赛的后期局势终于掌握在了人类手里,成型的火枪无人能够制裁,在失去了对AI的试探之后比赛的观赏性也随之降低,AI虽然表现出来了不少亮点,但距离人类顶级选手的差距依然不可忽视。

值得注意的是,整场比赛中人类方的NEC和斧王前期也都出现了计算失误大招没能收掉对方的问题,跳刀先手更是被对方顶着惊人的延迟躲掉。如果这样无懈可击的操作交给人类选手的意识和局势判断能力来驾驭,不再那么随意的交掉关键性技能,那么人类选手可能将毫无机会。

根据大数据预测分析多数时间都给了AI方90%以上的胜率,随后高地一波降到了70%,50分钟的时候给出了30%的反水结果。而最终结果是经历了53分钟的鏖战之后,人类拿下本场比赛的胜利。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

DOTA2是一个高难度游戏。它要求选手在比赛中展现出团队精神、战略思维和极快的反应能力。OpenAI已经花了较长一段时间来探索如何“攻克”DOTA2,并于2017年8月在TI7上首次登场,在中单SOLO模式用影魔打败了Navi的职业选手Dendi,进而引发了大量的关注。不过在当时,OpenAI虽然打败了职业选手Dendi,但那场比赛设置非常有限,因此不能代表真实的比赛。

但今年,在完善和调整了机器学习系统所需的硬件和运算量后,OpenAI已经突破了许多限制,从而缩短了人与机器之间的竞争差距。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨OpenAI今年8月6日的比赛现场(来源:OpenAI官方博客)

2018年6月,OpenAI开发的AI已经能够组队在5V5对战中战胜DOTA2业余玩家,这些玩家的平均天梯分数超过4200分。匹兹堡卡内基梅隆大学的研究员NoamBrown曾表示:“DOTA2是一个极其复杂的游戏,能打败强大的业余玩家就已经很不容易了,而且,处理DOTA2这种大型游戏中的隐藏信息是一个很大的挑战。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨今年6月,OpenAI的AI团队击败了OpenAI的员工团队(来源:麻省理工科技评论)

到了今年8月初,OpenAI迎来一个新的巅峰:其Five系统以2:1的成绩战胜了人类队伍。而这场比赛的人类选手——Blitz、Cap、Fogged、Merlini和MoonMeander,平均水平超过了99.95%的DOTA玩家,其中的四人都参加过职业比赛。值得一提的是,在当时的第三局比赛中,观众故意针对Five选择了较差的阵容,但OpenAI同样在比赛中展示了团队的初步成果,比如Five对游戏的理解、对形势的判断以及对获胜概率的预测,某些预测甚至出乎意料。

这些结果都表明,OpenAIFive是迈向可以处理现实世界的复杂性和不确定性的高级AI系统。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨8月6日的比赛中,Five仅耗时14分钟就赢下了比赛,而平均一场完整DOTA比赛耗时45分钟左右(来源:OpenAI官方博客)

根据OpenAI此前的介绍,OpenAIFive由五个单人模式、1024单元的长短期记忆(LSTM)网络,每个网络的大小与蚂蚁的大脑大小相当。它通过参加大量的比赛来熟悉DOTA2的相关技能,并在训练期间每天都能获得高达180年的游戏经验,代表了五个AI共900年的经验,这是人类团队永远无法实现的。

OpenAI创建人工智能时使用的是机器学习的一种方法——强化学习。这种技术看似简单,但是能让AI习得非常复杂的行为。让AI学习的过程是,把AI放到虚拟环境中,并通过自我尝试学会实现目标。开发者可以设定奖励机制(比方说在AI杀掉敌人后奖励机器系统),然后让AI一遍遍进行游戏。

这些DOTA机器人的自我训练量惊人,并且会连续训练几个月。研究人员说:“它开始时在地图上乱走,但是,几个小时后,它开始具备基本技能。如果一个人需要花1.2万到2万小时才能成为专业游戏玩家,那AI的速度要快得多,

因为每天积累的游戏经验是一个人一生积累经验的100倍。”

OpenAI通常的开发流程是从头开始训练系统的每个版本。但是,OpenAIFive自6月9日以来,已经经过六个大版本修正,每个新版本系统都使用前一个版本的参数进行初始化,然后再进行训练。具体而言,OpenAI团队在一种迭代训练工具(称为“手术”)上投入了大量资源,从而实现模型能够将旧的参数映射到新的网络架构上。

例如,当第一次训练插眼(Dota术语)时,共用了一个actionhead来决定英雄的移动方向和插眼位置。但是Five往往会把眼插在它试图前进的方向上,于是团队推测这主要是因为OpenAIFive将其大部分运算力分配在了移动上。随后团队利用“手术”工具让将一个actionhead分为完全相同的两个,并使用相同参数进行初始化。

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨可视化模块显示每个英雄被选中后OpenAIFive的预期获胜概率

6月下旬,OpenAI团队开始在系统中添加了一个获胜概率的输出,使得OpenAIFive能够反馈和修正预测的内容。当后来考虑征召模式时,团队意识到可以用这一概率来估计任一阵容的获胜概率——仅在比赛最开始看一下双方选的阵容就可以了。在接下来的一周内,OpenAI团队自行模拟了1100多万个可能的英雄阵容的画面输入给Five系统,并写了一个搜索树(数据结构)来寻找OpenAIFive的最佳阵容选择策略。

从6月击败4000分到8月碾压7000分,OpenAI还通过一种名为近端策略优化(
ProximalPolicyOptimization)的强化学习算法进行训练。在六月的比赛中,该系统更是通过GoogleCloud消耗了惊人的128,000个CPU内核和256个NvidiaP100GPU。

据估计,训练这一DOTA 系统需要的资源如下(注:1petaflop/s-days是指一天执行每秒1015次神经网络操作,或总计1020次操作):

1v1模型l:8petaflop/s-days

6月6日的模型:40petaflop/s-days

8月5日的模型:190petaflop/s-days

AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

图丨8月6日的最新网络架构(来源:OpenAI官方博客)

据OpenAI官方博客介绍,8月份的新模型中,输出可以预测英雄在未来一段时间的预计位置。

除此之外,还可以训练输出来预测各种其他统计数据,比如补刀数、推塔数等。

自开发专注DOTA2的AI以来,OpenAI的团队一直以参加此次的TI8为目标,团队也曾经表示,“我们不知道它是否可以实现,但是我们相信通过自身的努力(和运气),机会还是很大的”。而在这次的TI8中,众所周知,如今顶尖职业选手的天梯分普遍在9000分上下,从碾压7000分后,按照此前的学习速率来计算,OpenAI取得如此成绩,或许真的是运气和努力兼备。


分享到:


相關文章: