前天一大早,OpenAI Five在Dota2的赛场上完虐人类方的消息不胫而走。算上由观众组成的业余队和由前职业选手和现役职业选手组成的半职业队,人类方先是被血虐4局,最后一场尊严之战则是在给AI方挑选上一支前期线上吃亏、己方上场5位对线强势的阵容后才勉强取得胜利。
毫不夸张地说,这一次的人类方,一败涂地。
Dota2作为世界上最受欢迎同时也最复杂的电子竞技游戏之一,全球最有天赋的职业选手日夜训练去和别的选手争夺每年4千万美元的奖金池,这在当前所有电竞游戏的奖金中是最高标准。
然而和人类不同的是,人工智能OpenAI Five每天都与自己在对战,一天甚至能打200万场比赛。按照开发人员所述,这是“自我博弈(self-play)”。高强度的训练对机器并不会造成负担和负面影响,仅仅只会让它在不断实战中变得更聪明。
Dota这个AI有何不一样?
虽然同属人工智能,但是OpenAI Five和之前精通棋类的AlphaGo不同,对于它们来说在《星际争霸》或者《Dota2》这种复杂的电子游戏中超越人类,是AI发展史上重要的里程碑。
AlphaGo横扫人类围棋圈引起了很大的轰动
和棋盘上的博弈比起来,Dota2作为一款5V5的多人对战游戏,每名玩家都要控制一个英雄,导致AI的上手门槛和需要精通的标准高了太多。
高强度指令运算:
假设Dota2以30帧每秒运行,平均对局时间在45分钟。那么一场比赛下来就有8万帧可以操作。而大部分的操作比如移动英雄,每一帧的操作对整体战局的影响较为微弱,但像是回城等行为则是在战术层面左右战局结果。
如果人工智能每4帧操作一下,那么一场比赛下来需要操作2万步。并且这每一步都是经过战略上逻辑运算后的结果。如果你对两万步没什么概念,那么这里举个例子,国际象棋通常40步就能结束“战斗”,而围棋则需要150步。相比较之下,Dota2的运算量真的是远超前者。
有限的可视状态:
Dota的战局被战争迷雾笼罩,单位和建筑物只能看到周围的区域,黑暗区域隐藏着敌人和蠢动的策略。而玩家就需要根据这不完全的数据做出推论,模拟出对手可能要做的事情,并作出针对性计划。在这点,国际象棋和围棋的棋盘信息都是完全暴露的。
高维连续动作空间:
在Dota中,每个英雄可以采取数十个行动,许多行动要么针对另一个单位,要么针对地面上的一个位置。我们将每个英雄的空间离散为17万个可能的动作(并不是每一次行动都是有效的,比如使用一个冷却中的技能),平均每个行动会有1000个有效的动作。但是对于国际象棋和围棋来说,这个数字仅仅是35和250,差距巨大可见一斑。
高维连续可视空间:
Dota是在一个巨大的动态地图上进行比赛的游戏,包括十个英雄,几十个建筑,几十个NPC和多变的游戏功能,如符文、树木、区域等。OpenAI Five的模型观察到Dota游戏通过Valve的BOT API状态是20000 (主要是浮点数),这是一个人可以访问的全部信息。而国际象棋棋盘被表示为约70个 (一个8×8的6块类型的棋盘和小棋盘),围棋棋盘约400个 (一个19×19块类型的棋盘)。
Dota已经开发了十多年,游戏的逻辑运算用数十万行代码实现。每次执行需要毫秒,而国际象棋或围棋引擎仅仅只用纳秒。并且游戏每两周左右还会更新一次,整个环境是在不断变化的。这一切高昂、复杂、多变、巨量的算法令OpenAI Five不得不使用一个更行之有效的方法才能把游戏学习好。
所以OpenAI Five有着一套自己的学习算法
OpenAI Five的系统使用极为复杂的近端策略优化(Proximal Policy Optimization)。这包括OpenAI Five和之前的OpenAI 1v1 BOT“自我博弈”方法,一切都是从随机参数开始,而不使用定向搜索或者是人类比赛回放的来引导。
前后两个系统在效率上的提升是巨大的
研究人员通常相信长时间的发展需要根本上的进步,例如分层次、强化和学习。而OpenAI Five还没有发挥出真正实力,至少还需要有一个合理的方法探索才能让它充分发挥作用。
当前版本的OpenAI Five在决定是否给予击杀敌人(last-hitting)时,目标优先级和专业性策略相匹配。由于组队推塔需要花费时间,所以要获得诸如地图控制之类的战略性长期回报,往往需要牺牲短期回报,比如Farm经济。这个事实确实佐证了AI需要再花点时间进行调校的事实,但请不用担心,AI自有一套适合它们的学习进程。
模型结构(Model structure):
OpenAI Five所使用的空间观测和空间行动的交互,将Dota的游戏世界看作一个包含20000个数据的表格,并通过发出一个包含8个枚举值(enumeration values)的表格来采取行动。不同的操作、编码会影响不同角色的行动。正如上图所示,一个攻击命令的可选择项多到惊人。
这个系统伟大的地方在于就是可以不断学习原本缺失的动作。比如一开始AI并不会走出“持续性的范围伤害区域”,但是几次实战下来当它们受到此类伤害的时候,已经会主动走出这个区域(并不是躲避)。
探索(Exploration):
这个系统令AI拥有强大的自我学习能力。它们在一开始被丢在空白的大地图时,只会随意乱逛,各种离奇死亡。渐渐地它们开始学会躲避、伤害,学习到神符能带给它们增益,猎头倒塔能压制对方,商店可以购物以获得更好的装备,以及五人团战远比单人推塔更容易建立优势等等。连续不断的探索让AI不断丰沃自己的实力,它们慢慢地就羽翼丰满了。
协调(Coordination):
OpenAI Five没有人类那般的思维交流方式,通常被我们称之为团队合作的 “团队精神”是由参数所控制。团队精神从0到1不等,由此控制每个AI的英雄应该关心其个人发育状况的程度,而不是粗暴地给一个团队的平均值。
迅捷(Rapid):
前面几个系统依然是针对一场比赛的几个英雄来进行训练,而这个系统可以形容成针对单人的健身房。AI会在这个环境里进行自我竞争来强化自己,不断的优化已有节点。想象下一个能进行自我超越的世外高人,而且这个过程是持续性、不间断的,OpenAI Five能在短时间内达到职业水准自然也不是什么难以置信的事。
骄人的战绩
到现在为止,OpenAI Five已经参与不少实际比赛(当然赛制有所限制),这里有5支队伍为例子:
1. OpenAI员工团队:2500 MMR(46%),
2. 从观看员工比赛观众中挑选的玩家:4000-6000 MMR(90%-99%)
4. Valve员工队:2500-4000 MMR(46%-90%),
5. 业余队:4200 MMR(93%),
6. 半职业队:5500 MMR(第99百分位数)。
注:上面的百分比是Rank分所在的玩家水准,并不是胜率。
比赛自然没有一蹴而就,4月23日的版本是第一个超过AI脚本预测线的版本;5月15日的版本与1队平局,赢一场,输一场;6月6日的版本决定性地胜过前面3支队伍,而对于和第四和第五队的比赛结果,原本预计会输得很惨,但是OpenAI Five在居然在前三场比赛中连赢两场,结果非常出人意料!
比赛分析师针对性的观察到AI具有明显的战略意图:
首先,它们会牺牲优势路线转而压制敌方优势路,迫使处于劣势的一方疲于防守。这一策略具有相当的专业性,人类战队是经过很长时间的实战演练才成长至今,而AI很快就学会了。其次,在Gank的时候AI会更早张网,目的明确行动迅速。在拿掉敌人英雄后又赶在敌方队友支援到来前迅速拿下防御塔。
再次,AI甚至会有效地给一些不抢占资源的支援英雄更多的早期经验,帮助它们更快成长到优势等级再去支援边路,并通过技能和等级优势扩大战果。这个技巧能有效抓住劣势方的错误来快速建立优势,同时也更容易犯错。不过对于高精度的AI来说,严密的逻辑程序很擅长计算。
比赛结束后人类和AI各获得一个表彰奖杯
通过以上这些对比,我们大概是了解到OpenAI Five所特有的优势,它们严谨、技术、勤奋、科学,似乎和智能相关的进化之处都能放在它们身上。但是这么说不免有些笼统,那么我们不妨就针对AI和人类实际游玩Dota2的状况,再来做一个对比。
AI和人类的差异
OpenAI Five所能访问的游戏权限和普通玩家相等,无外乎英雄、兵线、防御塔、人头比等等。但是我们人类必须手动开启相应菜单才能注意到部分信息,看完后还得关闭它,而AI完全不用花这个时间。
AI次平均每分钟有150-170次指令(理论上可以达到每4帧450次)。对于已经熟络Dota2的玩家来说,这是状态完美时的发挥,不过对OpenAI Five来说就是微不足道的举手之劳罢了。就反应时间来说,OpenAI Five的平均反应时间为80 ms,也胜过人类一截。
尽管不想承认,但未来的AI很可能为我们呈现出我们最希望看到的高质量对局
这项差异在1v1中表现尤为突出(通常bot的反应时间为67 ms),但这个竞争环境也相对公平,因此已经有人向机器人学习并适应它。有数十名职业选手就在去年Ti联赛的最后几个月中采取1v1的机器人bot训练法。千万别以为电脑只会有固定套路,它们的节奏更快且学习能力极强,今天你站在河道利用小兵的走位阴到它,它下一场比赛就会警觉起来,甚至学以致用。
OpenAI Five团队,他们手上托着的是去年在1V1赛场上击败冠军级选手的笔电
小结
OpenAI Five取得的成绩固然值得骄傲,不过它现在并非完美无瑕。昨天早上的比赛其实有许多限制,譬如AI仅仅只能掌握18个英雄,召唤单位、幻想也不能出现,圣剑、瓶子不能使用,而且它们还需要5只无敌的信使。不过,OpenAI Five官方也表示它们把AI反应时间从80ms降低到200ms,并没有通过电脑芯片占太多便宜。
如今OpenAI Five 希望在未来征战Ti8,他们的目标是把顶级职业选手拉下马。如果他们真能通过现有算法不断强化自身达到这个目标,那确实可以证明如今的AI已经发展到一个不容常人小觑的水准。以Dota2这款复杂到可以说是繁冗的游戏为例,它对于AI来说是一座难以跨越的大山,但未必不可行。