New Zealand
English
Share

靠着两个不公平优势,AI 玩《星际争霸》碾压了人类

生活Author: boxi
靠着两个不公平优势,AI 玩《星际争霸》碾压了人类
Summary编者按:继在最复杂的棋类游戏击败了人类世界冠军之后,Google的DeepMind又瞄准了……

编者按:继在最复杂的棋类游戏击败了人类世界冠军之后,Google的DeepMind又瞄准了最复杂的视频游戏——实时策略游戏《星际争霸》。经过短短两周的训练之后,前不久,其AI AlphaStar以两个5:0分别击败了两位顶级的人类职业玩家,令世人再度感到震惊。不过,AI的能力真的有这么强吗?arstechnica网站的一篇文章对此进行了剖析。

hougarden

在第四场比赛的一场决定性的战斗中,2队AI控制的追捕者逼近Grzegorz "MaNa" Komincz的基地

2014年Google收购的AI初创企业DeepMind,其最知名的成就也许是成为第一个击败人类围棋世界冠军的AI。在掌握了全世界最具挑战性之一的棋类游戏之后,你接下来又会干什么呢?攻克最复杂的视频游戏。DeepMind于是决定写一个AI来玩实时策略游戏星际争霸2。

星际争霸要求玩家收集资源、建立很多的部队,然后利用这些来摧毁对手。星际争霸对AI尤其具有挑战性,因为玩家必须在几分钟的游戏时间内制订长远计划,并在面临敌人攻击时实时地进行调整调度。DeepMind称在自己之前,还没人能够设计出与最好人类玩家水平接近的星际争霸AI。

最近DeepMind宣布了一项重大突破。其星际争霸AI AlphaStar分别以两个5:0击败了两位星际争霸的顶级玩家——Dario "TLO" Wünsch与Grzegorz "MaNa" Komincz。

AlphaStar也许是最强的星际争霸AI。但它的成就未必像乍看起来那么大,因为这不是一项完全公平的比赛。

DeepMind称“AlphaStar的行为由一个深度神经网络生成,该网络接收裸游戏界面(游戏单位及属性清单)的数据输入,然后输出一系列构成游戏动作的指令。说得具体一点,该神经网络架构应用了一个transformer 作为躯干,结合了一个深度 LSTM 内核、一个自回归策略头、一个指针网络,以及一个集中化的价值基线。”

这些专业的说法很绕,不过DeepMind解释了训练其虚拟星际争霸玩家改进技巧的部分细节。

首先他们用有监督学习帮助AI学习模仿人类玩家的策略。这种强化学习技巧足以开发出一个能玩的星际争霸2机器人。DeepMind称这个初始的机器人“95%的时间内击败了内置的精英级AI(相当于人类玩家的黄金级)。”

DeepMind然后靠这个AI派生出来多个版本,每一个的游戏风格都略有不同。所有的AI都被放进一个虚拟的星际争霸联赛当中,每一个AI会跟其他AI不停地挑灯夜战,不断地从错误中吸取教训,然后持续地演进自己策略。

DeepMind写道:“为了鼓励联赛的多样性,每一个AI都有自己的学习目标:比方说,要击败哪些竞争对手,要增加哪些偏向于指导AI如何玩游戏的激励因子。某个AI的目标可能是击败特定对手,而另一个AI可能是如何击败一群竞争对手,但是是靠做出更多特定游戏单位来做到的。”

按照DeepMind的说法,一些AI积累的游戏用时相当于人类玩200年的时间。在2周之内,这个进化过程极大地改进率AI的平均技能水平:

hougarden

到最后时,DeepMind挑选了其中5个最强的AI来应战人类玩家。这种方案的后果之一是人类玩家在每一场比赛时都要面对AlphaStar不同的对战策略。

AlphaStar在开始的游戏中具备一项不公平的优势

DeepMind当时还邀请了游戏主播在复盘时对赛况进行评论。主播被AlphaStar的“微”能力——也就是在激战正酣时迅速做出战术决策的能力给震惊到了。

这种能力在AlphaStar与Komincz对战的第四场比赛中表现得最明显。Komincz是两位人类选手中较强的那位,而第四场也是Komincz最接近获得胜利的一场。这场比赛的高潮部分是Komincz由几种单位类型(不朽者、执政官、狂热者)的部队被AlphaStar完全由追猎者的部队围攻。

hougarden

AlphaStar v. Komincz的第四场比赛中,AlphaStar的追猎者(蓝)从三方攻击Komincz的不朽者、执政官、狂热者(红),AlphaStar的追猎者最终赢得了比赛继而摧毁了Komincz的基地。

追猎者并没有特别强大的武器和装备,所以跟不朽者和执政官拼刺刀的时候一般都是要输的。但是追猎者行动快,而且有一门叫做“闪现”的绝技,可以瞬间传送到范围内的目标可见地点。

这就为AlphaStar创造了一个机会:用一大群追猎者进行攻击,让前排的搞搞破坏,接着在被干掉之前闪现到后排,然后再慢慢补血。如此反复轮换,AlphaStar就可以在自己损失不大的情况下对敌方造成大量破坏。

这种办法的不好之处是需要玩家持续的注意力。玩家需要监控追猎者的健康状况,找出需要闪现溜掉的追猎者。这就有点棘手了,因为星际争霸玩家往往要照顾一堆的东西——需要关心基地新的单位的建设,侦查敌军基地,盯住敌人进攻等等。

观察AlphaStar与Komincz第四场大战的评论员对AlphaStar的微能力感到惊叹。

评论员Dan Stemkoski说:“这个技巧我们看到AlphaStar一直在用。”。AlphaStar会攻击Komincz的部队然后在自己遭受重大伤害前闪现溜走。他补充说:“我觉得大多数职业玩家玩到这种程度时基本上追猎者都要耗光了”。

AlphaStar的表现尤其令人印象深刻,因为它一度对不同地方的多组追猎者采用这种战术。

评论员Kevin "RotterdaM" van der Kooi 说:“在星际争霸2这样的游戏里面做这个是特别困难的,如果你的部队一部分在屏幕下方,一部分在屏幕上方的话,想要同时做这件事情是特别困难的。这么好的控制是现象级的。”

Stemkoski补充说:“真正令人震惊的是当我们看看每分钟动作数时,其实AlphaStar是没那么高的。这是一个可以接受的专业级速度。”

DeepMind制作了一幅图来说明这一点:

hougarden

正如这张图表显示那样,顶级的星际争霸玩家可以非常迅速地发布指令给自己的部队。Grzegorz "MaNa" Komincz在跟AlphaStar对战时的平均APM(每分钟动作数)是390(每秒钟超过6下!)。不过当然了,计算机程序轻易就能在一分钟之内执行数千动作,那种对部队的控制频度绝对是无人能敌的。

为了避免这一点,DeepMind称自己给AlphaStar的APM设定了上限。DeepMind研究人员Oriol Vinyals在Reddit上写道:“我们设定5秒间隔的最大APM值是600,15秒间隔的最大APM是400,30秒间隔的是320,60秒间隔的是300。”

不过另一位reddit用户迅速指出,5秒钟在星际争霸游戏里面已经算很长了。这些限制似乎意味着AlphaStar可以在1秒钟之内执行50个动作,或者以每秒15个动作的频率执行3秒钟的动作。

更重要的是,AlphaStar有能力以外科手术般的精度使用API,而人类却受制于计算机鼠标的机械限制。如果你看了像Komincz这样的职业玩家玩的话,你会看到裸动作的数量要远远超过有意义的动作的数量。

比方说,如果人类玩家只引导一个游戏单位执行一项重要任务的话,他会沿着该游戏单位的当前轨迹发布一系列的“移动”命令。每一条命令几乎不会改变该单位的路径,但是如果人类玩家已经选择了该单位的话,他几乎不需要花时间再去点击一次。但这些命令严格来说大部分都不是必要的;而像AlphaStar这样的AI轻易就能找出该单位的最优路线,然后发布一系列数量要少得多的一点命令就能取得同样的结果。

所以限制AI可以执行的动作的裸数量为典型人类的水平未必意味着有意义的动作数量具有可比性。

而且AlphaStar在最初游戏中使用的API赋予了它对整个战场一个上帝视角(尽管只有在AlphaStar的一支部队范围内的一部分战场的)。而如果人类玩家想要在两个不同的地方采取行动的话,他首先需要将摄像头移到新的位置。

强迫AlphaStar使用摄像头可让游戏公平一点

值得称道的是,DeepMind意识到了这个问题。所以在回放部分AlphaZero背靠背5:0击败人类职业玩家的比赛之后,该公司筹划了一场最后一场AlphaStar跟Komincz直播比赛。这场比赛使用了新版的AlphaStar,这个版本被施加了一个重要的限制:它将被迫采用摄像头视图,从而模拟人类星际争霸界面的限制。新的节目只允许AlphaStar一次看到一小部分战场,而且只能发命令给处在当前视野内的游戏单位。

DeepMind有几周的时间去训练这一新版本,但跟前个月与Komincz比赛的那个版本相比似乎要弱很多。

在表演赛的最初几分钟里,Komincz稳稳地挡住了攻势,轻易就抵挡AlphaStar的攻击。然后他发动了狡猾的反击。

hougarden

Komincz的2支不朽者部队(绿色)向AlphaStar的探测器开火,同时他的折跃棱镜在上方正在等待采取行动。AlphaStar的追猎者(红)正从西边赶过来救援,但还没等它们赶到Komincz就把不朽者弄进了折跃棱镜,并将其带到了水那头的东边——超出了追捕者武器的攻击范围。

Komincz把两支强大的不朽者部队装进了一个叫做折跃棱镜的运输船,然后将它们运到AlphaStar的基地,在那里脆弱的探测器正在采矿,这些矿石是AlphaStar的战争武器的动力来源。他把不朽者投放到基地里,开始炸毁探测器。

再次地,AlphaStar组建了一只庞大的追捕者部队,然后马上派遣去防御探测器。但在追捕者还没有进入到不朽者的范围之前,Komincz就已经把它们送回到折跃棱镜然后逃之夭夭了。折跃棱镜不见之后,AlphaStar就把追捕者派遣到Komincz的基地。

Komincz然后又故伎重施:投放不朽者,摧毁几个探测器,然后在追捕者赶过来之前再把不朽者送走。就这么反复这样的操作。当他这么做的时候,AlphaStar的追捕者因为徒劳地往返而浪费了宝贵的时间。

当Komincz第三次投放不朽者到AlphaStar的基地时,Stemkoski说:“这就是我经常看到的人机对战的情形。当你找到对方的一个漏洞时,你就会反复地抓住那个错误攻击,屡试不爽。”

折跃棱镜这个花招让AlphaStar的追捕者大部队疲于奔命的同时,Komincz一边也在聚集自己的大军。然后他指挥这支部队朝着AlphaStar的巢穴直捣黄龙,攻击为AlphaStar的战争机器采集资源的探测器。AlphaStar用追捕者骚扰Komincz的部队,但Komincz设法保持队伍的阵型,最后,AlphaStar没有办法阻止Komincz给自己的基地造成了严重破坏。

我们不知道Komincz在输掉之前的5场比赛之后究竟是如何赢得这场比赛的。似乎摄像头视图的限制无法直接解释AlphaStar不能对折跃棱镜的投放攻击做出有效响应。

但是合理的推断是,摄像头视图的限制全面降低了AlphaStar的表现,阻止了它有效地炮制游戏单位,或者以开局时同样致命的精度来管理部队。这样也许就给了Komincz足够的喘息之机,去寻找AlphaStar战略意图的漏洞然后加以利用。

最后看来,上次的演示引出的问题要比回答的要多.DeepMind称自己在短短一周的训练之后就看到AlphaStar的表现有了重大改良。如果这一进程延续下去的话,AlphaStar也许就能恢复对人类玩家的决定性优势,哪怕对其API施加新的限制。

另一方面,尚不清楚引入的这个摄像头限制是否足以保证比赛的公平性.AlphaStar仍然可以通过特殊API获取游戏信息,这个跟人类玩家获得的信息是不一样的。这个API也许能让软件收集更多的信息,从而比人类玩家更迅速,更精确地发布指令。

让比赛公平的终极方式是让AlphaStar使用跟人类玩家一样的用户界面。当然,这个界面可以是虚拟化的,但游戏应该是跟人类玩家一样的裸像素输入,而且应该要求利用一系列的鼠标移动和点击来输入指令 - 而且输入速度要限制到人类手的操作能达到的程度这是唯一可以确保AlphaStar没有给予其软件不公平优势的办法。

原文链接:https://arstechnica.com/gaming/2019/01/an-ai-crushed-two-human-pros-at-starcraft-but-it-wasnt-a-fair-fight/

编译组出品编辑:郝鹏程。