AI现场报道|面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力

机器之心报道 作者:Tony Peng 去年,OpenAI 的 1v1 AI 击败了世界顶尖选手 Denti,OpenAI CTO Greg Brockman 承诺:明年,我们会带着 5v5 的 AI bot 重回 TI。今天,他们履行了
原标题:现场报道|面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力机器之心报道作者:TonyPeng去年,OpenAI的1v1AI击败了世界顶尖选手Denti,OpenAICTOGregBrockman承诺:明年,我们会带着5v5的AIbot重回TI。今天,他们履行了诺言,带着全新的OpenAIFive,意欲挑战全世界最顶尖的Dota2人类玩家。然而,51分钟的比赛之后,OpenAI经历了一场完败。据介绍,本届TI8的很多参赛队伍都报名想参加与AI的比赛,OpenAI今天遇到了第一个对手:来自巴西的战队paiN,后者也是本届TI8比赛第一支被淘汰的队伍。但不可否认,它仍然是目前为止全球最为强大的18支队伍之一。而在此之前的公开比赛中,OpenAIFive在1v1比赛中战胜了Dendi,又在5v5比赛中战胜了人类前职业玩家、游戏解说员组成的6000分级别战队。有AlphaGo围棋的「前车之鉴」,比赛之前,人们纷纷预测OpanAI的人工智能稳赢。然而事实并没有这么简单,虽然OpenAI的智能体在操作反应等方面比较有优势,当在整体策略与合作上仍比不上人类团队。TI8,开局不利今天的人机大战仅进行一场,比赛双方阵容如下:OpenAI天辉方:直升机、巫妖、死亡先知、冰女、潮汐paiN夜魇方:莱恩、死灵法师、巫医、火枪、斧王比赛一开始,OpenAI就给了自己97%的胜率,然而开局就出师不利,paiN选择了开雾直接冲进天辉野区,四人围攻落单的潮汐,抢到了一血。OpenAI也展示出了人工智能「不聪明」的一面,在塔下不断插眼。paiN开局打的不错,游戏进入7分半,OpenAIFive落后1000经济。OpenAI逐渐在10分钟时把比分掰成了7比7,场面陷入了焦灼。我们可以看到,电脑并不注重杀人,只专注于推塔。随后,AI在两拨下路团战中抓住了机会。至17分钟,OpenAI的经济反超人类选手。21分半,AI拿下Roshan,这也是AI首次在公开比赛中击杀Roshan,直升机拿盾。不过,在25分钟直升机在夜魇野区被抓,盾被浪费了。AI也没有来救,直接抛弃大哥了。32分钟第二次拿下Roshan,但是没想到的,OpenAI非常「自私」,谁杀掉了Roshan谁拿走不朽盾,就算他是辅助位!随后,OpenAI下路野区打出一波二换四。人工智能对于插眼的思路异于人类,我们最多可以看到三个真眼被放在了Roshan门口!而AI同时还在家里也放了三个眼,引来了解说的吐槽。在满级之后,我们看到了AI死亡先知一直在大招收野区,很强!paiN的玩家虽然人头落后,在英雄操作上不占优势,但逐渐找回了节奏,在推掉下路后占据了场面上的优势。35分钟,人类玩家上了高地,此时OpenAI预测的胜率降低到了67%。当然,人类并不认为此时AI还能占据优势。在37分钟,paiN经济已经领先了9000。到40分钟,OpenAI在击杀了人类两个英雄后选择了第三次打Roshan,不过此时人类职业玩家似乎已经掌握了人工智能的套路。比赛进行到第49分钟,AI认为自己的胜率已经降低到20%,大局已定。最终,paiN的人类玩家在团灭OpenAI之后打爆了水晶。TI8人机大战第一场比赛以人类的胜利告于段落。今天的比赛,AI存在着三个巨大的问题:首先,游戏中期不会Gank也不会集中优势推塔了。在20分钟到35分钟的时候,有一段空窗期,paiN的火枪和斧王都还没有出BKB,这是AI的好机会。但是除了到处插眼,就是在Roshan附近晃悠,也没有组织起像样的抓人和推塔。等到敌方经济打出来,BKB出来之后,比赛呈现了一边倒的态势。其次,没有位置之分,不会合理安排资源。Dota历来有1-5号位,1号位Carry,4-5号位辅助。将最优资源分配给1号位是Dota多年来的经验,本场比赛paiN也是将资源优先分配给火枪和斧王。反观AI这边,遵守着人人平等的原则,竟然出现了让潮汐和巫妖拿不朽盾这种「战术安排」。最后,出装出现大的问题。AI似乎不明白什么装备合适,而且浪费了大量的金钱在插眼上。OpenAIFive项目组成员、研究科学家JonathanRaiman告诉机器之心,团队成员并没有特别失望,「赛前,我们大多数人觉得赢下本场比赛的几率大概就30%-40%。这场比赛我们学到了很多东西,比如AI击杀了Roshan很多次,这些都值得我们回去好好研究。」Raiman透露,此次比赛环境因为改变信鸽的设置,信鸽变得可以被击杀,这让模型又要重新适应新的环境,一定程度上影响了很多因素,比如装备的购买;此外,团队正在反思关于未来奖励权重的设置。OpenAI有一套团队协作机制(后文会详细介绍),一切奖励都围绕游戏最终胜利为前提,但现在看来,这样的设置降低了AI在前期farm和积累经济的积极性。这只是OpenAI在TI8期间的第一场比赛,之后还有两场比赛留给OpenAI挽尊。只不过,从6月首次公开OpenAIFive研究成果,到一路顺风顺水地在基准测试中虐杀人类队伍,OpenAIFive为何在今日遭受当头棒喝,或许,我们可以从它之前的故事里,得到一些启示。AlphaGo之后,需要接棒手我们将时间拨回到2016年……研究游戏中的AI一直是机器学习领域的热门课题:一来,设计游戏的初衷是娱乐和挑战,这种复杂性和趣味性使其成为AI的理想选择;二者,游戏提供了丰富的人机交互机会;再者,因为游戏非常流行,自然创造出了更多的数据作为训练AI的养分。过去几年,游戏研究为机器学习领域带来了重大的突破:2015年,谷歌的DeepMind在科学杂志《自然》上发表了一项最新研究:他们开发出了深度强化学习(具体为DeepQNetwork)来训练AI玩家,在Atari2600的一系列游戏中,表现接近甚至超过了人类的水平。到了第二年,DeepMind的AlphaGo横空出世,基于蒙特卡洛树搜索和强化学习,它在和韩国围棋大师李世乭的较量中以4:1胜出;又过一年,AlphaGo进化为AlphaZero,不依靠人类知识,紧靠自我博弈,在国际象棋、将棋和围棋这三种棋类游戏中实现超过人类的水准。李世乭一盘棋,在全世界刮起了一股AI热潮,但这股热潮迟早会冷却。世界需要新的刺激保持对AI的好奇心和热忱,从业者们也要寻求新的挑战探索AI的边界。围棋虽然被攻破了,但在万千游戏世界里,留给研究员们的空间依然很大:从牌类游戏,第一人称游戏,雅塔利游戏系列,到赛车游戏,策略游戏,沙盒游戏……DeepMind和Facebook便在星际争霸(StarCraft)上发力,星际争霸被认为是电子游戏世界里最难被攻克的游戏之一,至今DeepMind的表现一直不太理想,也促使了他们在去年和暴雪公司开源了星际争霸2的机器学习平台。在这样的背景下,OpenAI的DotaAI项目,被予以了厚望。2016年11月5日,OpenAI决定开发可以学习Dota2的人工智能体。项目组由OpenAICTOGregBrockman带领。GregBrockman在此之前,OpenAI并不知道研究什么游戏,只是大概有个标准:游戏要足够复杂,且十分流行,有丰富的API可以使用,能在Linux上运行。他们在美国直播平台Twitch上搜索了所有的游戏,最终将目标落在了Dota2上。Dota,全名DefenseofTheAncients,原本是从竞技游戏《魔兽争霸》系列孵化出的一张多人在线战术竞技地图,如同这款游戏的名字一样,Dota的胜利条件是摧毁敌方的Ancient(水晶)。2005年,Dota第一版地图6.01版本正式发布,Dota背后最核心的地图程序员冰蛙(IceFrog)多年来维护和更新Dota地图。2013年,冰蛙联合游戏开发公司Valve发行了Dota2,完全独立于魔兽争霸,成为了一款真正的竞技游戏。Dota6.67CDota2符合OpenAI的所有要求:首先,它十分复杂。Dota2有115个可用英雄,每个英雄1-10个技能不等(卡尔,说的就是你),上百件物品,20几个塔、数十个NPC,5v5组成天辉和夜魇两派,在三条线路上互相博弈,从中衍生出包括对线、打野、Gank、团战、插眼等不同的战术和安排。OpenAI在官方博客上列出了Dota2和棋类游戏的对比数据:Dota2每tick平均产生1000个可能有效行为,相比之下,国际象棋是35个,围棋是250个;通过Valve(Dota2的运营公司)的botAPI,OpenAI把Dota2视为2万个状态,也就代表人类在游戏中可获取到的所有信息。国际象棋代表大概70个枚举值,围棋大概有400个枚举值。其次,Dota2很流行。这款游戏在全球有上千万的玩家,虽然数量上比不过《英雄联盟》或者如今的「吃鸡」和「堡垒」,但它由于历史相对久远(Dota在2005年发行),又基于魔兽争霸的史诗背景,使得这款游戏有着很深的底蕴和口碑。再者,Dota2有专业电竞赛事。每年8月,全世界的顶级玩家会来到北美参加Dota2国际邀请赛TheInternational,这是由Valve举办。去年TI7的奖金池高达2000多万美元。起初,OpenAI并非着眼于击败顶尖的人类玩家,如果能使用当前最前沿的机器学习算法,开发出一个智能的、会玩Dota的虚拟机器人(下文用bot代替),就已经是莫大的突破了。没想到,路越走越远。我们可能要失败了2017年年初,OpenAI开发出了他们自认为最好的一款基于规则编写的脚本bot。这要多亏于项目组的前研究员、如今对冲基金DEShawGroup的SVPRafalJozefowicz,Rafal从没有打过Dota,但他每天都看比赛回放,和其他成员聊Dota2英雄是怎么放技能、怎么推塔、怎么买装备。研究员们把能想到的规则都编写了进去,脚本bot也确实能打赢一些业余玩家,但面对稍强一些的玩家就毫无胜算了。OpenAI决定再进一步,把硬编码的部分取出来,转而用机器学习代替。他们使用强化学习(reinforcementlearning)让bot从头开始学习。结果,他们发现在短时间里根本无法在5v5的环境里实现,太困难了。研究员于是退而求其次,先从一个小游戏下手,然后逐步扩大游戏环境,这个小游戏叫Kiting。Kiting是Dota里的一个技巧,一般出现在对线期:你攻击一下敌方单位然后通过走位让它打不到你,来来回回地消耗敌方的血量。OpenAI基于Dota2创造了一款小游戏:在一个环形孤岛上,让训练好的bot在岛上去通过Kiting的方式和脚本bot,保证自己不被打到的同时将敌方单位击杀即算获胜。听起来挺简单的吧?实际操作却根本不是一回事儿,OpenAI的bot在Kiting里始终打不赢人类玩家。OpenAI的bot始终沿着同样一种轨迹训练,但是人类往往不按套路出牌,这让实验结果一直差强人意。「我们可能要失败了,」这是OpenAI在当时得出的结论,距离项目启动已经小半年了,进度却大幅度落后,不少研究员有些灰心。此时,OpenAI决定走到哪儿算哪儿,即使是发布最新的研究成果也依然有价值。结果转机出现了。研究员开始将训练环境里随机化,让英雄时而走的快,时而走的慢,时而因为故障而停滞不前。这个方法很快收到了奇效,随机性使得bot的强化学习策略网络非常鲁棒。2017年3月1日,OpenAI训练出来的小黑(黑暗游侠)已经可以在Kiting中击杀脚本编码的小牛(撼地神牛)。Kiting他们将Kiting里的策略放到了Dota2的1v1模式中,同样收到了效果。Bot开始学会补兵、学会卡兵、能使用各种技能了。这给予了OpenAI极大的信心:只要使用同样的算法,然后加码计算能力,或许有一天,我们能做出5v5的AI。JonasSchneider回忆说,直到2017年的4、5月份,他都依然可以轻松地击败AI,但随着OpenAI加入了更多的算力对bot进行训练,它的水平开始突飞猛进。6月初,它打赢了1500分的玩家。两个月后,Dota21v1大神、2015年TheInternational冠军队伍成员Sumail也败给了OpenAI。在这个过程中,著名的美籍韩裔解说员William「Blitz」Lee对OpenAI帮助很大。OpenAI当时找到了Blitz,希望他能予以一些指导,要知道,并不是每一位Dota玩家都欣赏OpenAI的做法,有人觉得这群科学家在耍花招,有人不看好,但Blitz从一开始就被OpenAI的成果所吸引,据OpenAI研究员回忆,Blitz在和bot打完一场1v1后,说了这么一句话:「这将从此改变Dota玩家如何1v1的方式。」接下来的故事,大家都知道了:在去年TI7上的Dota2一对一表演赛中,由OpenAI设计的bot打败了Danylo\"Dendi\"Ishutin,Dendi在职业生涯中已经赢得73万美元奖金。OpenAI的bot在第一场比赛开始约10分钟就打败了Dendi。在第二场比赛中Dendi放弃,并拒绝进行第三场比赛。OpenAI火了。从机器学习这个圈子里的明星研究机构,变成了全世界关注和热议的焦点。AI攻破Dota1v1成功霸屏去年的TI7,一场表演赛,风头盖过了TI7上所有的正式比赛。多数人振奋,惊喜,难以置信,也有人怀疑和不甘心,五味杂陈。OpenAI的谷歌搜索趋势1v1的胜利为OpenAI解开了许多谜团,其中最重要的是:强化学习在如此复杂、需要长期策略的游戏环境下是否依然奏效?没有人不会质疑AI学习某一种技能的能力,比如正反补,比如释放技能,这都很简单。但在复杂的环境里将所有的技能、走位、对线等串在一起,在1v1中战胜世界顶尖玩家,这是重大的突破,毋庸置疑。不过,许多人不知道的是,人类玩家在这之后的和OpenAI的1v1单挑中还是赢过一次的。去年9月7日,来自德国的Dota2选手Dominik\"Black\"Reitmeier在最后时刻完成皮血反杀,取得2:1的胜利。这是人类第一次在完全版AI面前取胜,看把Black激动成什么样了。OpenAI不是AlphaGo,至少,它不是无敌的。比赛结束后,OpenAICTOBrockman在TI7上公布了另外一个令人振奋的消息,「下一步是5V5。我们明年TI再见!」解决5V5的三个核心问题话虽然放出去了,但将1v1的成功在5v5上复制,OpenAI没有十足的把握。在真正开始训练bot前,研究团队做了大量的前期准备工作:比如最大化地利用CPU和GPU来加速大规模训练,时间就是金钱,OpenAI最终使用了128,000CPU核和256个GPU来支持算力,让AI每天自我博弈成千上万盘游戏,每天累计游戏时间达到180年(限制AI游戏时间什么的是不存在的);他们摒弃了Kubernetes而自主开发了一个专门用于强化学习的训练系统Rapid,能够在分布式系统中快速地复制多个机器上训练出来的结果和数据,然后更新训练参数;他们使用了Gym作为训练环境。Gym是OpenAI自主开发的用于强化学习的训练环境,包含了OpenAIFive所需要的各种程序和后台编码。在完成部署后,OpenAI需要解决三个核心问题:长线操作、奖励机制、和团队协作。为了训练每个英雄,OpenAI使用了两种机器学习技术:长短期记忆网络(LSTM)和近端策略优化(ProximalPolicyOptimization)。为什么使用LSTM其实很好理解:打Dota2需要记忆,敌方英雄的每一个当前行为都会对之后的行为产生影响。LSTM是一种循环神经网络(RNN),它比普通的RNN更适合于处理和预测时间序列中间隔和延迟非常长的重要事件。LSTM有一个叫做Cell的元素,能够分辨出输入的信息是否有用,是否需要记住。每一个bot的神经网络包含一个单层的、拥有1024单位的LSTM,观察游戏的局势然后做出相应的行为。下图这个互动演示就是可以让你理解每个bot是如何做出指令的,这些画面就是Dota2的API所观察到的。以图中右下角的毒龙(冥界亚龙)释放二技能「毒液」为例,他要做出这个行动需要四个指标:行为(包括移动、攻击、释放技能、使用物品),目标英雄、技能释放的位置、以及什么时候释放。OpenAI最终将Dota2世界表征为一个由2万个数值组成的列表。Bot的自我学习则依靠了近端策略优化,这是OpenAI在2017年提出的一种强化学习算法,被证明比一般的策略梯度法所需更少的数据和调参来获得更好的效果。OpenAIFive和早期的1v1bot都是从自我对抗中学习,以随机参数开始,不使用人类的搜索或引导程序。为了避免「策略崩坏」,智能体在80%的游戏中通过自我对抗进行训练,而在20%的游戏中与过去的智能体进行对战。奖励机制则牵涉到两个方面:一是每个行为对于最终影响游戏结果的权重。比如反补的权重是0.2,正补是0.16;推掉高地塔的权重1.0,但是推掉水晶外的两座外塔的权重只有0.75,和推掉第一座外塔的权重一致,被击杀的权证则为负数。另一个是每个神经网络的训练以最大化未来奖励的指数衰减(exponentialdecayfactor)和为目标。这是一个相当重要的参数,决定了bot究竟是关注长期的奖励还是短期的奖励。如果γ太小,那么bot就只关注眼前比如打钱的利益;γ太大,那么它将无限关注未来的奖励,对前期训练bot没有一点好处。OpenAI在官方博客称,他们将γ从0.998(以46秒为半衰期)调整到了0.997(以5分钟为半衰期)。相比之下,OpenAI的近端策略优化(PPO)论文中最长的时间跨度为半衰期0.5秒,DeepMind的Rainbow论文中最长的时间跨度为半衰期4.4秒,GoogleBrain的ObserveandLookFurther论文中则使用了46秒的半衰期。如何让五个神经网络协作团战是另一个让不少人好奇的一点,这其实也是建立在奖励机制上。OpenAI开发了一个叫TeamSpirit的超参数,数值从0到1,数字越小每个神经网络就越「自私」,相反则越考虑团队的整体利益。到最后,OpenAI发现将TeamSpirit设置为1都能赢得比赛。在训练初期,研究员其实会将数值调整的很小,这样AI会更考虑自身的奖励,学习如何分路、对线、提供金钱和经验。等到每个神经网络学会了基本的策略和玩法后,研究员才将数值慢慢提高。由于所有参数都是随机,AI没有引入任何人类的经验,所以AI没有1-5号位的概念,不会区分辅助和carry,出装备也是从头开始学习。在第一场游戏中,英雄漫无目的地在地图上探索,而在几个小时的训练后,出现了规划、发育或中期战斗等概念。几天后,智能体能一致地采用基本的人类策略:试图从对手偷财富、推塔发育、在地图旋转控制英雄以获得线路优势。通过进一步的训练,它们开始学会了5个英雄一起推塔这样的高级策略。「AI只花了两天就打赢我了」曾就读于麻省理工大学的JonathanRaiman在去年10月加入了OpenAI。Raiman和OpenAI的不少研究员是旧相识,加入后,他们就经常在周一晚上开五人黑,这慢慢地竟成了OpenAI的传统五月的某一个周一(官方显示为5月15日),AI首次在限制的Dota环境里打赢了OpenAI的团队(天梯分2500)。「那场比赛我记得人类支撑了大概40多分钟,」Raiman在场边观看了比赛。「之后,比赛时间就越来越短了。我超级兴奋的!我觉得我们有50/50的几率能挑战专业的队伍了。」事实上,在这场比赛的一周前,AI已经打赢过一次人类了。但那一次胜利存在着一些问题,研究员们检查了后台的代码,发现运行神经网络的代码是错的!AI在比赛的过程中完全没有使用LSTM的记忆功能,瞎猫碰到死耗子,却赢了。在这之前,研究员根本没有看出来AI有任何问题。「许多机器学习的问题还是落实在工程和系统漏洞修复上,」OpenAI的研究科学家SusanZhang说。「比如,AI在很长一段时间里,都会避免升级到25级,因为它发现达到25级会出现巨大负面奖励,所以到了24级AI就不会出去升经验了。」SusanZhangRaiman也和AI过了过招。第一次,他所在的团队赢了;可当AI经过两天的训练后,Raiman就不是对手了。「对我这个水平的人来说,大概就只有24-48个小时的空窗期,过了就打不过AI了。一开始我们还能抵抗40多分钟,到后面就只有20分钟,再到后面就十多分钟,最后索性我们就呆在基地不出来了。」到了6月6日,OpenAI已经可以击败水平在4000-6000分的队伍,但是输给了匹配分5500的专业队伍。在那次比赛中,研究员们发现了许多有意思的现象:OpenAIFive习惯牺牲自己的优势路(夜魇军团的上路,天辉军团的下路),然后在劣势路派上三个英雄压制敌人的优势路,迫使战斗转移到对手更难防御的一边。该策略在过去几年的专业领域出现过,现在已经成为了流行战术。比赛初期到中期的转换比对手更快,在人类玩家走位出问题时,AI会主动进行gank;在对方组织起反抗前,直接推塔。AI会在前期将钱和经验让给辅助英雄(这些英雄一般不优先获取资源)让它们的伤害值更高,从而建立起更大的优势,赢得团战以及利用对方的错误来确保快速取胜。时隔将近一年,OpenAI首次对外公布了OpenAIFive项目的进度,发布OpenAIFive项目报告。随着更多的细节被披露,「一天训练180年,OpenAI击败人类Dota2玩家」、「OpenAI攻破Dota2」的新闻迅速席卷全球。微软创始人BillGates就发推特说,「AI机器人在视频游戏Dota2中击败了人类。这是一个大问题,因为他们的胜利需要团队合作和协作-这是推动人工智能的一个重要里程碑。」人们开始真的相信:Dota2,是不是也会像围棋一样被AI攻破了?只有半个DotaOpenAI第一阶段的成果确实喜人,但披露出来的结果并不能让许多Dota粉丝满意,原因是:太多限制了。在截止6月的比赛中,游戏里玩家只能操控五个英雄、不能插眼、不能开雾、没有Roshan、不能隐身、禁止扫描等等……这还算是Dota吗?OpenAI不是不想放开限制,而是AI需要学习的东西实在太多了,时间却很有限。举个例子,OpenAI严格控制了英雄数量,如果你仔细观察会发现大多都是Dota2的入门英雄,比如冰女、影魔、巫妖、巫医等等。因此,在论坛或者微博里你最常看到的一句评论就是:敢不敢让OpenAI玩卡尔或者狗头(地卜师)。AI可以玩卡尔,但这需要大量的时间训练。这和人其实是一样的,上手先玩入门英雄,熟练了再玩高级英雄(我到现在都玩不来卡尔),英雄难度越大,学习的时间越久。一图详解卡尔十个技能由于训练中所有参数都是随机的,AI只能靠不断的训练中摸索出使用这些技能的方法,所以它并没有真正理解这些技能。有些技能很直接,例如冰女的大招放出来就一定会有伤害;有些则相对复杂,比如炼金术士,它的二技能「不稳定化合物」是一把双刃剑:5秒内放出去可以晕眩敌方英雄造出伤害,超过5.5秒就会伤害自己。对AI而言这就是一个头疼的问题:我到底是放还是不放?于是在很长时间的自我对抗中,AI始终认为炼金术士的二技能都没什么用。这和人是完全不一样的,没有人会因为炼金术士的二技能伤血而不使用它。炼金术士Roshan也是同样的道理。打Roshan可以拿到不死盾,三级Roshan还能拿到加满3000滴血的奶酪,但是也会付出惨痛的代价,一不小心就死里面了。所以AI很长时间都选择不打Roshan。为了解决这个问题,研究员选择在训练随机设定Roshan的生命值,比如有些时候他只有100滴血,那么A.I,就会选择打掉Roshan。通过这样的训练,如今的AI每次在经过Roshan的时候会选择看一样它的血量。在今天的比赛里,OpenAI的英雄反复看Roshan就是如此训练的结果。Roshan插眼则是一个相当有趣的「挑战」。在很长一段时间里,AI经常乱插眼,或者没事儿在基地里插眼。研究员就不明白了,干嘛老在基地里插眼?!后来发现,往往在敌方单位推高地时(也就是第三座防御塔),AI会做出这样的选择,给储物柜腾出地方买其他装备。截止到今天,AI依然会在一些莫名其妙的地方插眼:塔下,基底,甚至插很多眼。幻象到现在依然是个限制,因为OpenAI想不出如何让英雄控制幻象。Raiman说,他们曾经尝试过让英雄出分身斧,但只有在防守高地或者防御塔时,英雄才会使用这个装备,因为幻象能抵挡一定的伤害(陈怕是要很难出现在阵容里了。)分身斧所以在6月-8月的时间里,OpenAI开始逐步地解决这些问题。同时,他们也宣布了下一步计划:在8月5日,邀请实力超过全世界99.95%玩家的(前)专业选手来对AIbot进行基准测试。「即使最后我们在TI表现不好,如果我们能取得基准测试的成功,那一切也都是值得的,」Zhang说。基准测试,血虐人类OpenAI的办公室位于旧金山的MissionDistrict,而离办公室大约不到一英里的距离有一家酒吧叫做FolsomStreetFoundry,在当地颇受好评。酒吧内有一个偌大的会场,能容纳300-400人,用来承办一些活动,例如音乐会、派对等等。OpenAIFive首次公开和人类顶尖玩家进行5v5的对决,就选在了FolsomStreetFoundry。8月5日,周日,中午12点,酒吧内已经人满为患。会场里的高脚凳和吧台已经被撤去,换上了连排的座椅。舞台中央摆着五台座机电脑,旁边还有专业的解说台。OpenAI包括创始人IlyaSutskever、CTOBrockman等几十位研究员全部出动,来见证这一历史时刻。当天,OpenAIFive举办了四场比赛:一场和观众的表演赛,和三场与顶尖选手的基准比赛。若OpenAI获胜,则意味着项目完成了阶段性的目标。本场比赛也开放了诸多环境限制,比如加入了战争迷雾、可以插眼、可以打Roshan、可以互相选英雄、英雄数量也从5个扩展到18个。赛前,人类战队中的现役职业选手、现世界排名104的MoonMeander在Twitter上立了Flag:「从未输给过bot,这次也不会」。此次和MoonMeander一同上场的还有OpenAI的老朋友Blitz、Capitalist、Fogged和Merlini,他们还煞有其事地穿着写有「human」的统一队服,在舞台中央比赛。Merlini(左)、Blitz(中间)和MoonMeander(右)这五个人是什么水平呢?他们起了个队名,叫「99.95th-percentile」,意思是他们比全世界99.95%的玩家都要强,全世界前15000人的水平,大约对应「超凡入圣5」(Divine5),也就是过去天梯的6000分以上。但即便如此,当天现场的观众在赛前并不看好人类玩家。现场接受采访的至少10个人里,超过3/4的人认为AI会胜利。「我情感上支持人类,但我不觉得他们有机会能获胜,」一位现场观众如是说道。结果,也确实如此。一般来说,即使是一边倒的比赛,30分钟的比赛时长也是能保证的。然而,AI获胜的三场比赛,获胜时间分别是13分钟(和观众),21分钟,和25分钟。第一场比赛,人类为夜魇方:小牛、瘟疫法师、冰女、剃刀、影魔;OpenAIFive为天辉方:巫妖、飞机、火枪、DP、莱恩。在第一场比赛里,人类玩家似乎很不适应OpenAI的,直到比赛第五分钟才有Blitz的影魔打下一血。OpenAI的打法相当激进,从开场的212分路迅速转为311优势路带线,随后在比赛第10分钟开始411集中推夜魇的劣势路塔。这个时间一般都还是对线期,人类方一直没有组织起像样的防御。比赛到了第13分钟的时候,AI的人头优势已经达到22:4了。后面的十分钟里,人类鲜有高光表现,除了影魔完成一次双杀外,OpenAI是压着人类打,在第21分钟破了两路,又在高地以0换4的代价完成一波小团灭,人类打出GG(Goodgame,表示投降),人头比数8:39。人类打出GG第二场比赛,人类为天辉方:小牛、影魔、巫医、死亡先知与隐刺;OpenAI为夜魇方,祭出火枪、直升机、冰女、莱恩与巫妖。选英雄阶段就已经注定了人类的失利,当Blitz再次选择影魔时,OpenAI预测的胜率从56%骤然上升至72%。人类在这一局明显打出了更好的状态,拿下一血之外,比分一直紧咬。但随后的几波团战人类都损失惨重,到了20分钟,OpenAI开始集中优势推塔,一口气把三路全部破了,祭出超级兵,人类打出GG,12:41。这一局比赛出现了许多有意思的状况:比如OpenAI方的冰女出了点金手,这向来是打野英雄或者是后期carry的装备;AI学会了暂停比赛,但不知道为什么要暂停;AI非常钟情于插眼和反眼,同样它们也学会了开雾;在推掉两路之后,人类一般就直接拆水晶外的最后两座塔了,但是AI却选择全部撤退,然后将第三条路从第一座外塔开始拆……影魔表示这锅不背由于人类在AI面前毫无还手之力,OpenAI也达成所愿,所以第三场比赛成为了一场娱乐赛,由现场观众和Twitch上的直播观众来为OpenAIFive选择英雄。结果,观众们很「贱」地选择了四个近战英雄(小鱼人、隐刺、斧王、流浪)和一个没什么用的痛苦女王;人类方则选择死亡先知、死灵法师、莱恩、巫妖、直升机。OpenAIFive直接打出了2.9%的获胜概率,且最后胜率掉到了1%以下。不过,AI依然很顽强,比赛第15分钟时,人头比也不过15:15将将打平。尽管比赛最后成了人类玩家的「挽尊赛」,35分钟以48:22结束战斗,但对OpenAI的研究员而言,这场娱乐赛却带来了不少值得研究的数据。比如,在被人类压制的时候,AI显得无所适从,打不来逆风局了:小鱼人满场飞奔,流浪和斧王一直在无脑拆塔,人类推高地时,AI五个英雄没有一个在高地进行防守。高地无AI在防守参加比赛的玩家和著名解说员Capitalist在和Motherboard的采访中说,「机器人依靠自信的知识玩这个游戏,它知道每个人都在哪里,它知道你拥有多少[攻击力]。它确切地知道它们在一条车道上的三个或四个英雄之间可以造成多大的伤害,并且当你处于错误的位置时它会立即突然爆发。它知道。而且我从来没有和类似的东西玩过,这看起来太神奇了。」三场比赛结束后,CTOBrockman发推特说:「OpenAI的人工智能系统已经准备好在下月TI8上迎战顶级职业选手了!」胜利背后,埋藏巨大隐患OpenAI没有想到的是,第三场的娱乐局,竟然成为今天失败的前车之鉴。事实上,基准测试后,研究员们的压力更大了。基准测试的人类玩家水平在6500K左右,但进入TI的专业选手的水平都在9000K以上,在短短三周的时间将AI的实力大幅度提升,难度很大。Raiman还透露,第三场比赛实在太糟糕了,解决这场比赛出现的问题成为了OpenAI的当务之急。Zhang则认为留给他们的时间实在太少了。「我们尝试在TI上做出一些令人印象深刻的事情,这当然会有一些压力,主要还是时间问题。你需要让实验有时间运行,给时间训练,然后会在最后做出一些很酷的事情。我们现在没有那么多时间啊!」「还有一个问题,游戏时间拖的越久,对AI越不利,因为要考虑的因素和变量太多了。」这些在TI赛前两周所说的话,在比赛中通通应验了:面对逆风长局,AI没有任何办法。但无论如何,OpenAI实现了在非完美的环境里实现了复杂协作和长期游戏操作,这已经是巨大的突破了。尽管OpenAI并没有自主开发出具有突破性的算法,但他们将现有的最前沿的算法和模型和算力相结合,让一个智能体从什么都不会、通过自我对抗和学习、发展出一套合理的行为模式,这种方法在其他的AI应用、机器人和游戏里都将可能被应用。TI8不是OpenAIFive的最后一站,他们还会举办最后一场比赛,时间未定,预计在10-11月,甚至有可能在明年年初。届时,OpenAI希望可以开放英雄池里所有的英雄,放开所有限制,让AI和人类玩家真正打一局酣畅淋漓的Dota2比赛。从现在来看,OpenAI的Dota之旅,还远远没有结束。明天的第二场,人工智能会带来怎样的表现,我们拭目以待。本文为机器之心发布,转载请联系本公众号获得授权。责任编辑:

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/ZewbogpKdg.html

(0)

相关推荐