从电子游戏诞生初始,机器人就一直陪伴着我们,红白机的各种“伙伴”,单机游戏里的新手教程和各种NPC,再到网游中各种拟人角色。后来,人们又把手伸到了传统游戏和体育运动中,比如大名鼎鼎的阿尔法狗,去年击败柯洁的新闻一度沸沸扬扬。
人们似乎一直喜欢给自己创造更难的对手。而从去年开始,专家们开始注意到现在最流行的MOBA类网游,首当其冲的,自然是我们的DOTA。
OpenAI挑战人类的开始
去年TI7的彩蛋环节之一就是Dendi与机器人SOLO,当时爱好者们都觉得这场比赛没有什么看头。但是结果却让人大跌眼镜,机器人用精准的卡兵、精准的血量控制、果断的吃芒果,顺利击败了Dendi。而当时,人们的声音都是“Dendi已经菜的打不过电脑”,很少有人注意到这个名为“OpenAI”的人工智能程序。
在今年六月,这个OpenAI再次宣布回归,而此次他们带来的消息更加震惊:在一定限制下,已经可以由五个程序击败4000分左右的玩家了。这个消息一出,直接掀起轩然大波。大家都知道,SOLO和五人游戏是完全不同的概念,SOLO可以凭借着程序的设定,打败玩家不是很难。而五个程序合作击败玩家,其中的运算量难以想象。
之前阿尔法狗击败柯洁,一张棋盘上的计算是有极限的。而在DOTA里,每一秒的运算都难以想象,尤其是要配合上队友一起。而且,还有一点就是在DOTA里,玩家的信息不是对等的,由于视野和树林的限制,除非开挂,否则你不可能纵览全局。而面对非对称信息要做出判断,玩家可以依靠直觉,而AI呢?事实上,如何依靠直觉做出非理性选择,一直都是AI的一个难点。
面对质疑,OpenAI团队也直接宣布,不久的将来,将会组织OpenAI和人类高玩对抗。并将全程直播。
就在昨天,这场比试如约而来。人类一方的选手名单如下:
一号位Merlini北美天梯674名(宙斯冠名,绕树林反杀三个的就是这个老哥)
二号位Blitz 北美天梯576名
三号位Moonmeander 现在COL的劣单 以前DC的劣单
四号位Fogged 北美天梯180名
五号位Cap 北美天梯 961名
从选手名单中能看出,这五名选手虽然水平上不算顶尖职业水平,但是这个水平遨游TI8预选赛问题不大了。因此这场比赛衡量OpenAI的水平参考性还是很高的。
赛前特斯拉老板马斯克依然对自己的OpenAI项目组不太乐观,认为人类会获胜。
但结果却恰恰相反,机器人2-1吊打人类队,唯一赢的一局还是观众选择的阵容,给AI选了一个蛇皮阵容,开局只有2.8%胜率那种…而在第三场中,AI也仿佛换了程序一样,全程蜜汁操作,让人不禁纳闷是不是程序死机了,出现这种情况的原因我在后文也会提到。
战胜了顶尖业余选手后,OpenAI也把目标放在了TI上,项目CTO(首席技术官)直接放言:我们的OpenAI已经准备在TI8上挑战职业选手了。
而国内的学界老教授也有关注到这一条新闻。
OpenAI到底是什么
正式介绍一下OpenAI吧,这个OpenAI团队可不是一个个普通的项目。他创立初始就是由特斯拉老板马斯克和其他几位硅谷大佬一起创立的,初期的项目设定对标的也是谷歌DeepMind(阿尔法狗的公司)。今年年初G胖也加入了OpenAI团队的董事会。
六月份宣布OpenAI已经能击败4000分玩家,并准备冲击天梯高玩时,比尔盖茨也特意发推表示祝福和鼓励。
“AI机器人刚刚在DOTA2这款游戏中击败了人类,这是个很大的成果。因为他们的胜利依靠团队和协作,这是AI史上的里程碑式进步”。
“DOTA2 AI对抗只是我(比尔盖茨)在OpenAI团队看到的最为震惊的项目之一,希望还能看到他们更多的项目!”
所以说这个团队可不是随随便便只是为了单纯在DOTA上打败玩家而已,而是为了更好的推动AI技术发展,并应用到生活当中。
而OpenAI本身,也不是大家简单所说的脚本程序,而是采用五个神经网络来训练的成果,官方的介绍如下:
用自我对抗的深度强化学习训练
基于 256 个GPU 和128000 个 CPU 进行神经网络的深度学习,每天训练相当于人类180年的比赛量级
单个 AI 使用 LSTM (循环神经网络)进行训练,不使用任何人类比赛数据
近年来大火的“机器深度学习”,给大家说的通俗一些,就是会给机器人设定一些目标,比如补兵、击杀、推塔等等,完成一定的目标后会给一定的分数奖励,持续以往,程序就懂的应该干嘛了。不过这一步参数设定还是需要工作人员去调试,这一次比赛中,OpenAI都采取的速推方式,我猜测就是由于工作人员在之前的训练中设定的推塔分数较高,团队共同参数也较高。如果之后技术人员降低了OpenAI的团队参数和推塔奖励,提高补兵和击杀,那么可能又会是不一样的打法。
我大胆猜测,最开始的OpenAI就像是我们刚刚接触游戏一样,晃荡了许久之后,才发现了击杀小兵或者使用了一个技能,获得了分数,他就明白了这样做会受到奖励。然后再不断的驱动,然后逐渐加快这一学习步骤,慢慢的达到了现在的层次。
当然,看了比赛的朋友也会发现一些问题。比如塔下插眼,面前开雾等等,我认为这个的原因是在机器人学习过程中,发现这些参数和胜负关系不大(毕竟现在眼位、开雾与胜负之间很难说有直接关系),因此学习程度不够,才会在比赛中出丑。而第三局中,AI的蜜汁操作,原因应该也是阵容选择后,对于2.8%的胜率,OpenAI已经默认比赛失败了,而面对失败的局面,程序学习较少,而且可能在参数上设置不够,十分钟输和一小时输对于机器人来说是一样的。因此才会出现各种尴尬操作….
为什么选择DOTA2
昨天人类被DOTA2吊打之后,我看到有很多玩家觉得很悲观,自己努力的练习却比不过机器人。感觉自己的“职业”生涯越来越难了,甚至有人觉得职业选手再厉害以后也打不过电脑,还要职业比赛有什么用。
对此,我想说,其实对于OpenAI项目的人机大战中,最后人类是否能胜利不重要,因为我们正在创造历史。首先OpenAI是有着浓厚科研背景的团队设计的,大家使用了大量人力物力,自然不会只是为了在DOTA上证明“人打不过电脑”而已。DOTA项目只是OpenAI的一个部分,最终的目的还是要借助DOTA这个足够复杂的模型去调试人工智能程序。
那么为什么偏偏选择了DOTA呢?其实很简单,就像阿尔法狗选择了围棋,OpenAI也选择了DOTA。这是对于这款游戏的肯定和认同。毕竟既然要调试,肯定要选择一个足够困难,足够有挑战性的项目。所以阿尔法狗不会选择五子棋,OpenAI也只会选择DOTA。
再回到DOTA本身,在OpenAI博客中提到,DOTA2在一场45分钟的游戏平均会产生80000帧的场景,任何一个时刻,每个英雄的动作都可能对游戏战局的走向造成影响,而每个英雄平均每秒约有1000个动作可以选择。而在国际象棋中,每个节点的分支只有35个,围棋则是平均250个。而由于视野、树林和隐身单位的存在,游戏双方获得的信息是不对称的,OpenAI场均要观察 20000 次。此外环境复杂度也高了很多,Open AI总结出来超过20000个元素来描述整个地图。相比国际象棋和围棋的棋盘分别是8×8和19×19,最多也就361个元素。既然选择最有难度最有技术含量的,还有会比DOTA2更合适的选择吗?!
既然阿尔法狗在围棋上战胜了柯洁,那么Open AI挑战一线强队也是不可避免的。但是,我觉得我们不需要把胜负看的太重,输掉了也没必要觉得丢人或者悲观。毕竟如果以后的无人驾驶、智能机器人等等中使用了在DOTA中调校过的Open AI程序,那也是挺好的一件事啊~
现在,玩家、选手、DOTA、OpenAI很可能在开创一个崭新的世界。我们所有人都是见证者。