《DOTA2》的AI是如何打败顶级职业选手的?
会玩DOTA2,又看了今年Ti7比赛的玩家,肯定会对比赛其中一个环节印象深刻。《DOTA2》的N朝元老,NAVI和屠夫双重代言人Dendi作为比赛的受邀嘉宾,在Ti现场与一家人工智能公司特地打造的超级AI,来了场令人窒息的中单SF对决。
比赛的结局可能在不少人的意料之中,毕竟这是一场敢于在全球直播中表演的中单对决,只有足以匹敌职业选手水平的AI,才能站在这个全球DOTA2玩家共同瞩目的舞台正中;但整个比赛过程,几乎出乎了所有玩家和职业选手的意料:由人工智能操控的SF并非完全依靠绝对精准的数值计算,而是有所取舍地掌握并运用了拉扯兵线、吸引/取消仇恨、越兵线压制、打断大药,甚至骗补刀消耗这些游戏中的技巧。
这次人工智能是在云端与Dendi进行的对决
中单第二局,上一把输掉的Dendi在出兵后选择故意放兵,用进塔策略快速消耗第一波小兵,从而把第二波兵控制在己方坡上的策略,同时也在试探这个人工智能会如何应对。而卡兵出门的人工智能在第一波地方小兵进入一塔视野范围之后,第一时间选择放兵阻止对方进塔。虽然这一举动没能成功阻止Dendi的妙招,但人工智能依然依靠操作和意识,将第二波小兵留在了优势地形,并一步步积累优势,赢得了这场人与人工智能比赛的胜利。这个名叫OPEN AI的超级人工智能的实际表现,征服了众多玩家和职业选手。
几乎每个DOTA玩家都有和自带AI交手的经历,但面对这样一个人工智能,每个人都能清楚地认识到,它与以往的那些所谓“AI”完全不同。
OPEN AI
与国际围棋棋手对决而声名鹊起的AlphaGo,从属于谷歌DeepMind工作室。这家人工智能领域的明星,接受了业内不少科技巨头的注资,同时担任特斯拉和SpaceX首席运营官一职的著名商业人物埃隆•马斯克也是它的早期投资人之一。它击败韩国围棋冠军李世石后,埃隆•马斯克第一时间发推,赞扬人工智能的发展成果。
而在OPEN AI击败了Dendi之后,马斯克在推特上这样说道:“OpenAI第一次在电竞比赛上完胜世界顶级选手,这可比象棋围棋复杂多了”。OpenAI这家非盈利性质的人工智能研究公司成立于2015年,而埃隆•马斯克是正是它的联席主席之一。
在2016年12月,OpenAI发布了一个名叫“Universe”的AGI测试训练平台,这个平台的最终目的,是让人工智能像人一样使用计算机。在类型众多、数量庞大的测试项目中,游戏占了相当一个比重,从ATARI2600到近年的网页游戏,甚至其中还包括我们人人都熟知的《GTA》。
但回到Ti7上的中单SF对决,一些对这个AI的评价依然抱有争议:人工智能与职业选手获取信息的方式、量级是否相等?人工智能的反应速度、实际操作是否被限制在于人类相同的范围以内?
这些公司的很多游戏都在Universe中进行测试
这是个很严峻的问题。如果人工智能是依据游戏后台数据进行分析操作,并运用了远超人类的操作和反应速度优势的话,人类可以说是没有胜算的,这场对决就变得毫无意义。而这些问题,或许可以在Universe这一项目中得到解答。
在Universe中,人工智能通过捕捉屏幕像素捕捉信息,并模拟鼠标和键盘进行实际操作,游戏屏幕被分为1024*768个缓冲区。以ATARI2600游戏为例,人工智能在局域网云端观察每秒60帧游戏画面后,存在20毫秒的观察滞后,和10毫秒的行动滞后。而在公共互联网中,帧数降低至20帧,观察滞后80毫秒,行动滞后30毫秒。
而人类一般的反应速度是250毫秒,职业选手要更短一些。OpenAI在Dendi比赛结束之后有称,人工智能的实际反应和操作被限定在了人类合理范围以内。
可与此同时,另一个问题也接踵而至。在比赛间隙,OpenAI一侧透露人工智能仅仅训练SF中单有两周左右,如此短暂时间里OpenAI已经可以做到击败全球实力水平最高的职业选手,但与此同时,DeepMind的AlphaGo训练《星际争霸2》,却仅仅到了“学会遇到危险飞起基地”的水平。两者究竟有什么不同?
近几年来,人工智能得到了长足地进步和发展。现如今已经可以做到看、听、说、甚至学习生成文字、图像、声音,甚至打败围棋世界冠军。但这在人工智能领域中,依然被称作“狭义人工智能”——你可以赋予它某一个特定领域中远超于人类的能力,但它缺乏领域以外的合理执行力:即使AlphaGo学会了如何下围棋,但你无法让它陪你玩其他游戏,它无法应用现有经验带入新的尝试中,只能以不断试错的方式去学习。
以一个叫做《Montezuma's Revenge》的ATARI2600游戏为例,这款游戏中玩家需要控制角色,利用各种设施进行移动,并躲避移动的头骨,拿到过关钥匙。人类玩家可以从画面中瞬间识别目标和危险,但是让人工智能去尝试,它无法一眼将头骨视为阻止它过关的威胁只能通过无尽的试错,才能找到正确的通关方式。
为了让人工智能能够通过自我学习找到游戏目标,Universe尝试让人工智能去提取画面中的奖励机制。幸运的是,很多老游戏都在画面中有显示分数奖励,这使得人工智能终于能在一些游戏中主动寻求到游戏目标,并完成游戏。
逐步走向成熟的DOTA2人工智能
虽然OpenAI训练《DOTA2》人工智能进行中单对抗只有两个星期,但并不意味着这样短的时间内人工智能就能读懂游戏。早在今年上半年,OpenAI项目组就开始让人工智能学习《DOTA2》,经过强化训练后,它在3月1日学会了用小黑放神牛的风筝,并在4月份开始对抗真人玩家。
《DOTA2》天梯玩家都有一个叫MMR的分数,这个分数一定程度上体现出玩家在团队PVP对战的实际水平,例如Arteezy是万分大神,Sumail8300分,dendi7300分。有数据显示,超过7500分的玩家数量仅占0.01%,有58%的玩家地狱3000分,15%的玩家低于1500分。进入5月份,人工智能已经能在真人对抗中迎战1500分的玩家了。
今年6月初,人工智能第一次击败了1500分玩家,并在月底把大部分3000分局的胜场掌握在自己手中。随着训练不断进行,人工智能终于在7月初勉强拿下了一场7500分局的胜利。7月底,才开始OpenAI口中的那“两个星期”的训练周期。
随着训练,人工智能的胜率变得越来越高
8月7日,人工智能依次以3:0、2:1和3:0分别击败了6200分的Blitz、8500分级的Pajkatt和8900分的CC&C。两天后,人工智能又击败了万分大神Arteezy,当时这些选手一致认为,Sumail能够找出击败它的方法。
在这几天当中,人工智能扔在不断自我学习和进化。8月9日,Sumail以2:1的分数战胜了人工智能,但一天以后,就吃了个0:6的大鸭蛋。
在这一阶段,一些奇招是可以打败人工智能的。Pajkatt赢得那场,他通过快速合成魔棒,并适当配合仙灵之火的瞬间回复方式,击败了人工智能。而经过高达1000场线上测试后,OpenAI发现了几个人工智能的漏洞:把兵线反复后拉到塔与塔之间,小兵清干净后人工智能会被塔砸死;毒球+风灵之纹可以在开局制造非常大的移速优势,并可以快速拿到一血;出门学一级影压,一些6000-7000分的玩家可以通过短时间内的连续影压带走对方。
当然,OpenAI的训练绝非完全自主的,这些特殊战术在之后都被放入了人工智能的训练单当中。经过一定训练后,人工智能甚至在遇到信使勾引的情况下,合理判断是击杀还是放弃。在自我学习和人工补足的协同下,最终使我们在Ti现场亲眼目睹了那场比赛。
5V5还有多远?
在战胜Dendi后,OpenAI表达了希望能在明年表演一场职业队伍VS人工智能的5V5比赛。当然,这场比赛的根基,才刚刚开始搭建。《DOTA2》每天有100万场公开匹配局,每局的录像都会在Valve服务器储存两个星期,OpenAI团队如今收集了超过580万场超过45分钟的高端局录像,让人工智能不断模仿和学习。
热门相关:龙先生余生请多关照 文娱万岁 清穿皇妃:四爷,高抬贵手 小可爱,超凶的 酒娘子