Facebook参加星际AI大赛,结果......被完虐
2017-10-10 13:45

Facebook参加星际AI大赛,结果......被完虐

第八届星际争霸AI大赛(StarCraft AI Competition)终于落下帷幕。


这次大赛选用的版本是《星际争霸:母巢之战》,所有参赛的AI在16台虚拟机上,1v1捉对厮杀,为期两周共进行41580场大战。按照最终的胜率来给参赛方进行排名。


每局比赛60分钟,未分高下时得分多者胜出。作弊或者计算超时都会被判出局。这次星际争霸AI大赛共有28支队伍参赛,其中有15支属于独立战队(Independent),其他基本来自大学:


美国哈佛大学、荷兰代尔夫特理工大学、瑞典皇家理工学院、荷兰马斯特里赫特大学、巴西米纳斯联邦大学、日本筑波大学、加拿大纽芬兰纪念大学、法国南特大学、法国高等信息工程师学院、日本立命馆大学、韩国世宗大学。


另外,还有三个队伍是量子位格外关注的。


比方说中国团队。


其中以独立战队身份参赛的“CPAC”,背后是由Junge Zhang领衔的13人研发团队,来自中科院自动化研究所;这个星际AI基于Steamhammer bot,然后增加了一些新的策略,并通过机器学习的方式训练了一个多层感知网络来生产战斗部队。


还有一个中国团队由Tang Zhentao领衔,代号“KillAll”。据推测应该是来自中科院自动化研究所复杂系统管理与控制国家重点实验室。


另一个值得关注的队伍是“CherryPi”(樱桃派),背后是来自Facebook人工智能研究实验室的八人团队。


有趣的事这场比赛的最终结果,不隶属于任何机构的独立战队们包揽前三名。


“CPAC”以71%的胜率排名第四;“CherryPi”以69.08%的胜率排名第六;“KillAll”以43%的胜率排名第十八。第一名“ZZZKBot”胜率83.11%,平均用时8分钟。


值得一提的是,这几位AI在星际争霸AI大赛中用的都是虫族。



Facebook的团队,在这个大赛中显得有些异类,毕竟这是唯一有企业背景的选手,而且是一个押注AI已久的科技巨头。


科技巨头的AI杀入《星际争霸》并不稀奇。今年8月,Google旗下的DeepMind宣布进军星际,不过他们选择的方向是《星际争霸2》。


看起来,这款游戏已经成为AI巨头争霸的下一个战场。


Facebook的人工智能团队至少已有80余人,带领这个团队的是大名鼎鼎的Yann LeCun,他们已经发表了很多研究和论文(其中三篇与《星际争霸》有关)。但目前Facebook在人工智能领域还没有取得AlphaGo那样的成就。


而这次参赛成绩也表明,Facebook还有很长的一段路要走。Facebook研究科学家Gabriel Synnaeve表示,他们把CherryPi当做一个基线,以及未来继续在星际领域进行研究的基础。“我们想看看它与现有bot相较如何,特别是测试一下是否有需要纠正的缺陷。”Gabriel Synnaeve说道。


人工智能对于科技公司的重要性已经不言而喻,而《星际争霸》对于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程序控制《星际争霸:母巢之战》的软件库。


另外还有一些基本数据分享一下。比如历届选手的种族分布,2017堪称虫族大崛起:



如果你想参与这个竞赛,主办方还提供了一个开源项目UAlbertaBot,其中包含完整的文档。不过这只是一个入门指导,如果你想基于这个开源代码参赛,必须对其进行重大修改。主办方也不想一个bot在多个副本里展开竞争。

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定