导读:Facebook的人工智能团队至少已有80余人,带领这个团队的是大名鼎鼎的Yann LeCun,他们已经发表了很多研究和论文(其中三篇与星际争霸有关)。但目前Facebook在人工智能领域还没有取得AlphaGo那样的成就。
第八届星际争霸AI大赛(StarCraft AI Competition)终于落下帷幕。
这次大赛选用的版本是《星际争霸:母巢之战》,开启战争迷雾。所有参赛的AI在16台虚拟机上,1v1捉对厮杀,为期两周共进行41580场大战。按照最终的胜率排定座次。
每局比赛60分钟,未分高下时得分多者胜出。作弊或者计算超时都会被判出局。
共有28支队伍参赛,其中有15支属于独立战队(Independent),其他基本来自大学:
美国哈佛大学、荷兰代尔夫特理工大学、瑞典皇家理工学院、荷兰马斯特里赫特大学、巴西米纳斯联邦大学、日本筑波大学、加拿大纽芬兰纪念大学、法国南特大学、法国高等信息工程师学院、日本立命馆大学、韩国世宗大学。
还有三个队伍是量子位格外关注的。
比方说中国团队。
其中以独立战队身份参赛的“CPAC”,背后是一个Junge Zhang领衔的13人研发团队,来自中科院自动化研究所;这个星际AI基于Steamhammer bot,然后增加了一些新的策略,并通过机器学习的方式训练了一个多层感知网络来生产战斗部队。
(Steamhammer bot 传送门:http://satirist.org/ai/starcraft/steamhammer/)
还有一个中国团队由Tang Zhentao领衔,代号“KillAll”,据推测应该是来自中科院自动化研究所复杂系统管理与控制国家重点实验室;不过相关信息实在是太少。
另一个值得关注的队伍是“CherryPi”(樱桃派),背后是来自Facebook人工智能研究实验室的八人团队。
最终的战果:不隶属于任何机构的独立战队们,包揽前三名。
CPAC以71%的胜率排名第四;CherryPi以69.08%的胜率排名第六;KillAll以43%的胜率排名第18。第一名“ZZZKBot”胜率83.11%,平均用时8分钟。
这几位AI用的都是虫族。
Facebook的团队,在这个大赛中显得有些异类,毕竟这是唯一有企业背景的选手,而且是一个押注AI已久的科技巨头。
科技巨头的AI杀入星际争霸并不稀奇。今年8月,Google旗下的DeepMind宣布进军星际,不过他们选择的方向是《星际争霸2》。
看起来,星际争霸已经成为巨头争霸的下一个战场。
Facebook的人工智能团队至少已有80余人,带领这个团队的是大名鼎鼎的Yann LeCun,他们已经发表了很多研究和论文(其中三篇与星际争霸有关)。但目前Facebook在人工智能领域还没有取得AlphaGo那样的成就。
而这次参赛成绩也表明,Facebook还有很长的一段路要走。
Facebook研究科学家Gabriel Synnaeve表示,他们把CherryPi当做一个基线,以及未来继续在星际领域进行研究的基础,“我们想看看它与现有bot相较如何,特别是测试一下是否有需要纠正的缺陷”。
人工智能对于科技公司的重要性已经不言而喻,而星际对于AI研究的重要性和挑战,不仅仅是指挥战斗这么简单。与下围棋这件事相比,《星际争霸》的复杂性要大得多也要困难得多。
即便DeepMind现在也没有突破性的进展。
星际2是个实用的基础AI研究环境,因为游戏本身复杂多变,且胜利方式不固定。
玩家想要取胜需要同时做多手准备,比如管理并创造资源、指挥军事单位和部署防御结构等操作需要同时进行,逐步完成。此外,玩家还需预测对手的策略。
这项任务确实不容易,但不是无解。DeepMind和暴雪尝试将游戏分为多个“迷你游戏”,将不同任务分解成“可管理的组块”,比如建立特定单元、收集资源或在地图上移动等。
细分是为了方便研究人员进行不同任务的测试比较及细化,最终在智能体中组合,从而教会智能体通关整个游戏。
为啥这个大赛没用星际2?好像是没跟暴雪爸爸谈好……
回到这次的星际争霸AI大赛,独立参赛的队伍,通常bot背后是程序员制定的规则和策略。比如摘得冠军的ZZZKBot,背后是澳大利亚的程序员Chris Coxe。他独自创建了这个AI,但其中只有一些简单的学习功能,背后更多是各种预先编辑好的策略。
而对于科技巨头来说,他们更多的依靠机器学习,通过积累大量的游戏数据,让AI自己制定相应的游戏策略。不过据说这次Facebook也没有把全部研究都注入CherryPi之中。尽管如此,CherryPi还是获得了对手的肯定,获得第二名的PurpleWave作者就表示,CherryPi对时机的把握让他印象深刻。
那么获胜的队伍都依靠了什么策略和技术?量子位也简单介绍一下。
第一名:ZZZKBot
虫族,单基地Rush布局:4-Pool,Speedling,Hydra,Muta。使用手工编码的逻辑,来进行策略选择。
这个bot其实只能执行一种单基地Rush战术,单它的对手现在比较吃这一套。另外,这个bot能在游戏中学习一些策略,以判断哪种rush是最有效的。以及,这个bot几乎没有掌握任何战斗中的微操作。
“这原本只是想证明一个概念”,作者Chris Coxe自我评价:“源代码并不是那么好”。
第二名:PurpleWave
这个bot主要是用Scala写出来的,作者是美国软件工程师Dan Gant,他今年一月开始启动这个项目。
PurpleWave看起来比第一名更为“AI”一点;会微操作,有多种不同的策略。PurpleWave的高级决策被构建为一个任务网络,它能根据对手以往的比赛情况,选择不同的对抗策略。
第三名:Iron
这是去年的冠军,作者是法国程序员Igor Dimitrijevic。Iron于2016年开始研发,前身是2015年参赛的Stone。
Iron是一个多智能体系统,每个智能体控制一个单位。整体行为的鲁棒性是其主要目标,每个智能体都是高度自主的,可以在25种行为之间切换。每场对决,Iron都采用相同的开局,但对根据对手的情况进行反应和修改策略。
第四名:CPAC
团队名单:Junge Zhang,Xun Zhang,Qiyue Yin,Dong Zhan,Shihong Deng,Huikai Wu,Peixi Peng,Wenzhen Huang,Jing Kong,Debang Li,Yange Fang,Tairan Zhang,Junliang Xing。
CPAC是首次参赛,整个研发耗时数月。其他情况开头也介绍过了。
最后说一下这个大赛的情况。
星际争霸AI大赛,是加拿大纽芬兰纪念大学David Churchill组织的年度活动。这个比赛的目的是促进和评估即时战略游戏(RTS)对人工智能的意义。
整个比赛使用BWAPI,这是一种可以让AI程序控制《星际争霸:母巢之战》的软件库。