AI简史 | 星际英雄传说

AI简史 | 星际英雄传说

2018-06-17 14:40Newseeders 合作伙伴
它是为《星际争霸》而设计的AI。后来,它有了些不一样的故事。
2009年8月,美国加州。

阿纳海姆会议中心的暴雪嘉年华上,尚未正式发布的RTS游戏大作《星际争霸II》举行了试玩活动。

在活动2区,一位战网ID为Xyrin的玩家分别用三种不同的种族与电脑进行了对战。而在游戏行将结束时,他惊奇地发现,电脑一方竟然打出了GG。

那或许就是它第一次给人类留下印象

但事实上,彼时的它,只是暴雪为提升游戏体验所制造出来的一个附赠品。在玩家眼中,它是陪练,是作弊者,是冷酷无情的行尸,是注定被消灭的疯狂。

它是为《星际争霸》而设计的AI。后来,它有了些不一样的故事。

初生

1998年3月31日,《星际争霸》正式发布。此后不久,这款游戏有如暴风一般席卷了整个电竞圈。

如果说《沙丘2》是RTS游戏的鼻祖,那么《星际争霸》就是将RTS带向顶峰的神作。在这款当年销量最高的RTS游戏中,无数玩家从芬尼克斯在艾尔行星地平线上的身影中遇见了自己,在冲向母巢的战舰中找到了家园。

尽管线上的PVP对战足够激烈,又或许正是因为这种激烈,有相当一部分玩家似乎更愿意选择在游戏中添加“电脑”,作为自己的对手。而那也是它最初的样子。

当时,星际AI的形态更接近一个在今天看来有些粗糙的有限状态机。它会使用游戏内部的底层数据,在提前编写完成的规则下进行有限的动作。

虽然对于新手而言,这种“洞悉全图”的AI仍然具有不小的挑战性,但固定的行为模式一旦被玩家摸透并加以克制,便再无翻身可能;有时,它还会自己出现令人啼笑皆非的bug。

事实上,在这类RTS游戏中,“电脑”不单单是玩家用来训练操作技术的工具,在某种程度上,它也是一种衡量实力的指标。

一段时间里,顶尖的业余玩家会以能够单挑7个“电脑”对手取胜为荣,而其余的玩家则会想尽办法为达成这样的目标而努力。

尽管会随着新游戏版本的不断推出而同步更新,但自始至终,AI的存在都只是为了“让大家玩得高兴”这一个目的。它并不需要试图在游戏中做得比人类玩家更好,创造它的公司对于游戏体验和开发效率方面的考量也不允许它这么做。

游戏进行到某一特定阶段时,它一定会输。此类结局早已提前写进了它的代码中。

它会被击败,被摧毁,被屠戮;

随着游戏环境的更新而进化,然后再次被击败,被摧毁,被屠戮。

周而复始。

分身

新世纪之初,从研究角度利用RTS游戏来开发AI的项目其实寥寥无几。2003年,阿尔伯塔大学计算机科学系的Michael Buro和Timothy Furtak提出应该将RTS游戏作为通用AI的试验田,前者在一年之后发布了第一个版本的开源RTS游戏引擎ORTS,该引擎能够在图形和非图形两种模式下运行,使得机器人能够在数千种游戏场景下迅速训练。

同年,《魔兽争霸II》克隆游戏《Freecraft》的重制版本《Wargus》面世,该游戏采用了开源的Stratagus引擎;2005年,加州大学伯克利分校的几位研究者曾经尝试利用Stratagus平台开发强化学习算法。

但不久后,因为不同的研究者无法对彼此的工作进行比较和评估,这一平台上的工作最终陷入停滞。

直到2008年,终于,越来越多的研究者开始将目光投向了《星际争霸》。当年,通过对数千场游戏重放的挖掘,两位台湾学者Hsieh和Sun构建了一个能够预估玩家正在建造哪些建筑或单元的模型。

一年后,Adam Heinemann等几位开发者发布了开源C++框架BWAPI(Brood War API)——这是最早,也是迄今为止最重要的《星际争霸》API。

Heinemann等人黑掉了游戏之后整合出的这一API,为研究者提供了接入《星际争霸:母巢之战》的通道,也就是《星际争霸I》。BWAPI属于“纯竞赛”API,也就是说,API中只曝光了玩家可观测到的内容,部署其中的AI将不能像游戏内的“电脑”一样触及到游戏的底层数据,最大程度地保证了公平性。

此后绝大多数《星际争霸I》相关的AI开发均依赖于BWAPI。后来,使用该API甚至得到了暴雪的默许:当时,暴雪在最终用户许可协议中明令禁止对《星际争霸II》的任何破解行为,却允许各种《星际争霸I》相关开发行为的存在,甚至为各种基于BWAPI等接口的星际AI竞赛提供奖金。

尽管后来又出现过TorchCraft这样的深度学习框架,但直至今日,在BWAPI上进行的星际AI研究依然保持着活力。

由此,一部分的它跳出了游戏内部规则的桎梏,开始以另一种形态在世界的各个角落重生。它成为了军团,以UAlbertaBot、Skynet、Aiur、Overmind等名字出现在AIIDE、CIG、SSCAIT一类的星际AI比赛中。它的分身彼此研究、克制,然后相互厮杀,不知疲倦地决出新的最强者,然后开诚布公地向人类玩家发起挑战。

但命运似乎没有发生什么太大的变化。

作为AIIDE(Artificial Intelligence and Interactive Digital Entertainment)大会的组成部分,第一届AIIDE星际AI比赛于2010年在加州大学圣克鲁斯分校举办。由此之后,AIIDE逐步发展成为最重要的星际AI赛事。

作为保留节目,主办方通常会在主赛事结束后,安排当年的冠军AI同一位富于经验的人类玩家进行一场表演赛。每年都是如此。

而直到AIIDE 2017,它一次都没赢过,且几乎次次都被碾压。

还是太难了。蜕下了外壳的星际AI依然无法摆脱僵化、呆板的行为方式,打法被人轻易摸透之后,更不具备变通的能力。

比如2012年的一场比赛里,Bakuryu几乎只用几只小狗就戏耍了AI的整个主力部队。

尤其是在“X局X胜”的比赛中,这样的弱点暴露得更为明显。在某一场比赛中,它可能能够击败D级甚至C级的人类选手,但一两场比赛过后,它的特点就会被对方发现,然后输掉剩下的比赛。

AIIDE比赛的发起人David Churchill也强调,这样的比赛其实有些不公平。不过他也承认,要达到人类职业星际选手的水平,星际AI还有很长一段路要走。

AlphaGo效应

没人能否认AlphaGo对于如今AI研究浪潮的助推作用。

2016年3月,由DeepMind团队开发的“最强围棋AI”AlphaGo横空出世,在首尔举行的五番棋比赛中4:1大败李世乭。自此,新王初起,旧人哀号。

远有“深蓝“,近有”沃森“,这不是AI第一次震惊世人,却或许是AI让世人最为震惊的一次。在空前发达的媒体网络能够在分秒之间将消息送及世界的每个角落之前,恐怕很少有人会相信,在集聚了千年历史的棋盘上,人类智慧霸权的崩塌会来得如此猝不及防。

尽管李世乭在比赛中下出了“神之一手”,尽管此时柯洁还未出战,人们已经在急着寻找下一块可能捍卫的阵地。

DeepMind亦是如此。2016年3月底,暴雪娱乐制作总监 Tim Morten 就在 WCS 中国站总决赛上确认,AlphaGo将会挑战《星际争霸II》。同年11月,DeepMind正式宣布与暴雪达成协议。

但这次,他们的目标变成了联手开发一个针对《星际争霸II》的AI研究平台,也是个API。

DeepMind团队表示,他们这次研究《星际争霸》AI不再以击败人类选手为目的,而是要探索AI如何在更复杂的环境下进行决策,并最终将技术应用到现实世界。

即使17年5月的乌镇围棋峰会后,配合着深度学习、强化学习等技术的研究浪潮,对于AlphaGo挑战《星际争霸》的呼声再度水涨船高,Byun等职业选手也纷纷向AI宣战。

人们像是怀着某些期待,希望它能以某种脱胎换骨的姿态出现,再度刷新人们对于这一领域的认知。

但最终,人们也只是在8月等来了DeepMind和暴雪合作开发的《星际争霸II》开源API SC2LE,以及DeepMind在自己官方博客上的坦诚:“在完整的游戏流程下,目前我们的agent无法赢下任何一场哪怕是与最简单游戏内置‘电脑‘之间的比赛。我们希望能有更多人参与到这个领域中来。”

将近一年过去,根据2018年6月刚刚出炉的DeepMind最新研究成果,SC2LE环境中的6个小游戏里,AI玩4个的成绩超过了大师级人类玩家。但这距离完整的《星际争霸II》,不知还有多少步之遥。

战场终于搭建了起来,强大的战士还没降临。

曙光

AlphaGo淡出人们的视野之后,几大星际AI比赛的热度似乎并未下降,但同时,人们仍旧没能在它的身上看到足够可观的进步。

比如2017年底,CIG的星际AI比赛在韩国世宗大学继续举办。

其中就包括人机大战的环节。人类阵营先由两个普通学生星际玩家出场,分别挑战上个月星际争霸AI大赛的冠军:ZZZK、来自挪威的TSCMO、主办方韩国世宗大学研发的MJ。

结果AI阵营分别以3:0、2:1击败了普通人类星际玩家,唯一的败仗由韩国星际AI贡献。总比分算是5:1。普通人在AI面前败下阵来。

只是AI们接下 来遇上了“星际四皇”之一、“总司令”stor(宋炳具)。

之前大杀四方的AI被stork轻松零封,但他也承认AI们的防守打法“有时候让人震惊”。

AI还不够强大,这在意料之中。比如其中最厉害的ZZZK,其实是一个程序员独自创建的AI,只有一些简单的学习能力,背后更多是各种预先编辑好的策略。

总而言之,即便走到今天,星际AI还处在发展的初级阶段。

新的研究仍在不断出现,不久前有消息称,Siri的创造者之一斯坦福国际研究所已经加入了DARPA的一个研究项目,计划通过《星际争霸》来训练AI在意外环境下的临场反应。

当年十几岁就拿下西班牙《星际争霸》全国冠军的Oriol Vinyals,现在已经成了一位AI大牛,正带领DeepMind团队,攻克这一领域。而AlphaGo的核心人物黄士杰,现在也已经参与到这个项目之中。一旦有所突破,必定又是一个惊天的成就。

但与此同时,某美国国防智库发布的一份报告指出,与《星际争霸》相关的AI研究项目可能使AI在军事方面获得超越人类级别的推演能力,从而加剧核战争爆发的风险……

当然,更多时候,我猜,人们依然会更乐于见到那些心无他念、执意冲进战争迷雾的唐吉诃德。

It is said that ignorance is bliss. Tell me, is that true?

唐旭 假装发自 BlizzCon 量子位 出品 | 公众号 QbitAI
*本文作者唐旭,由新芽NewSeed合作伙伴微信公众号:量子位授权发布,转载请联系原出处。如内容、图片有任何版权问题,请联系新芽NewSeed处理。