夏乙 问耕 发自 凹非寺
量子位 出品 | 公众号 QbitAI

刚刚,星际争霸AI大赛新王诞生!

二十多个掌握了机器学习技能的AI,全都在一个不会学习、只会基于规则机械行动的bot面前,俯首称臣。

包括三巨头之一Yann LeCun治下的Facebook AI团队。他们的AI获得亚军,但在与新王的100回合大战中,战绩是83负17胜,劣势明显。

其他AI更不是对手。

新霸主与全部对手的2600场厮杀中,胜率达到了95.91%。而往届比赛中,冠军胜率最高的一次,也不过89%。

到底是谁?哪个团队的人工规则,能如此碾压人工智能?

答案是:赛达(SAIDA)

 SAIDA对战第二名CherryPi

来自三星,首次参赛的赛达,完全基于规则,在这个机器学习大爆炸的时代,一个如此“复古”的系统,俾睨一众AI。

赛达之所以如此厉害,一个重要原因是,背后有韩国职业星际选手助力。要知道,星际一度被称为韩国的国技。

这次星际争霸AI大赛的组织者戴夫·丘吉尔(Dave Churchill)总结说,今年的比赛成了两家巨头之间的争夺。

第一名三星赛达,代表顶级人类玩家的经验总结;第二名Facebook CherryPi,有顶级程序员坐镇,3位顶尖bot作者都在麾下。

目前,三星职业选手组更胜一筹。

这还不是赛达的全部成就。在另一个星际赛事——星际AI锦标赛(SSCAIT)上,它的ELO等级分也排在第一名。

总体来看,它已经是地表最强星际AI了。

我们来认识一下这匹黑马。

基于规则的复古新秀

这次大赛还是基于星际争霸:母巢之战(Starcraft Broodwar)。

赛达使用人族(Terran),以稳定的防守优先战略开局,到中期过后,它会寻找最佳rush时机,一波强攻击败对手拿下比赛。

 SAIDA对战画面

和现在主流方法不一样的是,赛达没有用机器学习方法。

三星的程序员们尝试了用卷积神经网络和编码器-解码器从游戏视频中学习战斗时机,也尝试了用多智能体强化学习算法来控制单位……然后决定,在参赛算法里不用这些东西了。

这些研究当然也没有白费,他们把研究结果写进论文,投稿到了AAAI 2019。哪位朋友见到这篇论文的预印本,欢迎通知我们,和更多量子位读者分享。

 SAIDA对战画面

我们说回参赛版本的赛达,它都是手工编写的基于规则的算法,一共49702行。

不过,这并不是说它的打法就是一成不变的。它所用的策略不是一开始就预设好的,而是会根据侦查和扫描收集的信息来构建。

除了选择策略的程序,赛达还包含用来控制单位和建筑物的有限状态机,用来寻找建基地位置或者敌人基地的几种搜索算法。

那么,人类程序员们是如何给这个算法制定规则的呢?

背后有韩国职业星际选手的帮助。戴夫说,把大赛官方提供的样本程序UAlbertaBot和专业软件开发者、韩国职业星际选手放到一起,就有了赛达。

距击败顶尖职业选手还有一两年

赛达的源头,可以追溯到2017年三星SDS举办的算法大赛。

当时的主题刚好是星际。比赛中成绩不错的程序员们惺惺相惜,向公司提出要联手打造一个超级厉害的星际AI。

于是,2018年1月,赛达诞生了。

现在,这个诞生还不到一年的新秀不仅是两大星际AI赛事的第一名,还已经和人类业余玩家、职业选手都交过手。人类业余玩家已经不是它的对手。

虽然赛达目前,暂时,还打不过职业选手,但开发团队认为“已经不远了”,内心充满了希望。

他们说,现在的星际AI已经达到了高端业余玩家的水平,战网天梯1800分左右的那种。再有一两年,就能击败战网3000多分的最强7位职业选手之一。

组织者戴夫对这个展望似乎半信半疑,他说,“I’ll believe that when I see it :)”,“眼见为实”吧。

他们的目标是:成为第一个击败人类星际职业选手的AI。

 赛达团队

上面,就是赛达的8名创造者:Iljoo Yoon、Daehun Jun、Junseung Lee、Hyunjin Choi、Changhyeon Bae、Hyunjae Lee、Yonghyun Jeong、Uk Jo。其中,Changhyeon Bae是这支队伍的leader。

Facebook进步明显、B站参赛

下面,说说今年的其他选手。

先看看最终的排名。

 今年的星际AI大赛成绩单

第二名CherryPi。

如果你关注过这项赛事,一定不会对这个名字陌生。樱桃派这个选手,家世显赫,出自著名的Facebook AI Research团队,领军人物是大名鼎鼎的Yann LeCun。

战队成员包括:Jonas Gehring, Vegard Mella, Daniel Gant, Zeming Lin, Da Ju, Danielle Rothermel, Nicolas Carion, Nicolas Usunier, Gabriel Synnaeve

去年,CherryPi参赛获得第六名。

今年,经过一番车轮鏖战,CherryPi最终夺得亚军,仅次于三星SAIDA战队。要知道去年的冠军ZZZKBot,今年只获得第10名的成绩。

CherryPi会有8-13个候选策略。每场比赛开始时,它会根据与对手之间的历史表现,基于具有时间衰减权重的强盗模型,选择一个策略。(通俗的说,也就是越是最近的比赛,权重越高)

随着比赛进行,CherryPi会根据当前情况,使用预训练的模型,使用每种策略估计获胜的可能性,满足一些条件的情况下,会切换到胜率最高的策略。

所以,这也是一种来回切换的“混合”策略。

 CherryPi对战画面

策略选择上有几个基本的要素。一是多样性,能够考虑到尽可能多的情况。二是稳健性,以及追求100%的胜率。三是更好的扬长避短。

CherryPi使用了非常多的AI技术,包括:

基于搜索的AI。CherryPi使用了区域级寻路来指挥单位绕过地图上的障碍,使用威胁感知寻路来风筝或者引导单位脱离战斗。

CherryPi也会基于人类数据学习建筑摆放的位置,还用了离线强化学习,以及在线学习,也使用了BWEM进行自定义的地图分析。

与去年相比,现在的CherryPi使用了LSTM模型进行高级策略的选择,使用部分观察的游戏状态作为输入;在宏观管理方面进行了优化,微观管理也进行了改进。

CherryPi使用了Torch框架,全部的代码是大约5万行的C++。

 SAIDA对战FB另一Bot

从第三名到第八名,有个共同特点:全是神族。

第三名CSE。这是一个中国战队。

成员包括:Junge Zhang、Wei Guo、Qiyue Yin、Dong Zhan、Qiwei Wang、Yihui Hu、Shengqi Shen、Kaiqi Huang。

其中第一位应该是中科院自动化所的张俊格,去年他也带领团队参加了星际AI大赛,只不过去年他们的AI是CPAC,今年改了名字。

这支战队算是“改装”派打法,他们的AI去年基于Steamhammer bot,而今年则基于Locutus。他们在Locutus的基础上,做了一些策略和微观层面的优化。

第四名BlueBlueSky,也基于Locutus,作者是科罗拉多大学的博士生Pengfei Hou。

第五名是正牌的Locutus。在八月的CIG星际AI大赛上,丹麦独立游戏AI开发者编写的Locutus一举夺魁。(当时ZZZKBot也参赛了,最终排名第七。)

可能正是由于Locutus的成功,今年3-8名的战队,全都是使用神族的AI。全部战队中,有11支使用了神族,虫族的热度有所下降。

其实Locutus是基于Steamhammer改进的,不同之处在于,Steamhammer玩虫族,而Locutus玩神族。

Steamhammer本尊这次排名第十一。

其他中国战队

除了CSE和BlueBlueSky,这届AIIDE星际AI大赛还有其他的中国团队参赛。

排名第六的ISAMind,作者Fang Gao,来自中国电子科技集团公司认知与智能实验室。

排名第七的DaQin,作者Lion Gis,看GitHub的画风应该也是来自中国:
https://github.com/liongis。

而排名第13位的LastOrder,来自B站(Bilibili AI Research)。LastOrder使用了TensorFlow机器学习框架。

B站这个bot,据说用了1000台机器进行分布训练,也被对手认为很有潜力。

One More Thing

虽然“不会学习”的赛达击败了各路AI,但有个细节很有意思。

我们注意到,如上图所示,随着比赛时间的推移,三星赛达的胜率虽然一直很高,但总体上在轻微但持续的下降。

与此同时,获得第二名的CherryPi的胜率,在轻微而持续的上升。

尽管星际很难,但对于AI来说,也许未来有一天也能跟围棋一样,不用依靠人类的知识,自己成长为一代高手。

最后,给几个开源地址。

赛达的源代码目前还没有放出,不过,GitHub页面已经有了,谁知道官方什么时候会补一些除了readme之外的东西呢:
https://github.com/TeamSAIDA/SAIDA

CherryPi的GitHub页面传送门:
https://github.com/TorchCraft/TorchCraft

Locutus的GitHub页面传送门:
https://github.com/bmnielsen/Locutus/

年度评选申请

加入社群

量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;

此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。

进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

2018星际AI大赛冠军诞生!一个个机器学习算法,都输给不会学习的韩国bot相关推荐

  1. Facebook悄悄参加星际AI大赛,然后输了 | 中国团队夺得第四

    问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI 第八届星际争霸AI大赛(StarCraft AI Competition)终于落下帷幕. 这次大赛选用的版本是<星际争霸:母巢之战&g ...

  2. 百事正用AI种土豆,连削皮算法都搞上了

    詹士 发自 凹非寺 量子位 | 公众号 QbitAI 百事,正在用AI种土豆. 你没听错!就是那个可乐品牌母公司. 一大片广袤农田里,百事感应器正咔咔分析当地天气数据及土豆长势等数据. 然后,通过ML ...

  3. 21岁拿遍全世界编程大赛冠军

    程序员其实和多数的职业一样,并不是一件特别的工作,只是程序员的许多小事被放大,关于程序员的段子太多,让很多人对程序员产生了不小的误解.程序员也成为了大多数人印象中的不修边幅.不注意形象.每天背着双肩包 ...

  4. AI产品经理必修课:机器学习算法

    一.什么是机器学习  1. 含义 机器学习machine learning,是人工智能的分支,专门研究计算机怎样模拟或实现人类的学习行为,其通过各种算法训练模型,并用这些模型对新问题进行识别与预测. ...

  5. 解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说

    摘要:在2020年第二届华为云人工智能大赛•无人车挑战杯赛道中,"华中科技大学无人车一队"借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台 ...

  6. 全球“黑客大赛”冠军霸气讲述:我是如何让50个文件一起骗过AI安防系统的?...

    大数据文摘出品 来源:medium 编译:邢畅.张睿毅.钱天培 你有没有想过当黑客呢? 破解手机密码,黑入公司系统,甚至-控制全球电脑. 打住打住!违法犯罪的念头显然不能有.再退一步讲,咱也不一定有这 ...

  7. 深度丨2018年AI依然要面临解决的的5大技术难题

    本文介绍了2018年摆在人工智能面前的五大难题:理解人类语言,机器人附能,防黑客,玩游戏,辨别是非.如何解决这些问题,让AI继续造福人类社会将成为所有AI从业者的首要任务. 2017年,人工智能在深度 ...

  8. 独家算力支持|腾讯“开悟”AI大赛启动

    8月18日,第二届 "腾讯开悟 MOBA 多智能体强化学习大赛"(下称"大赛")宣布启动.该大赛由腾讯 AI Lab.王者荣耀.腾讯高校合作.腾讯游戏学院等共同 ...

  9. 第二届腾讯“开悟”AI大赛启动,联动高校破局研究瓶颈

    感谢阅读腾讯AI Lab微信号第129篇文章.本文将介绍第二届腾讯"开悟"大赛启动情况. 8月18日,第二届 "腾讯开悟MOBA多智能体强化学习大赛"(下称&q ...

最新文章

  1. 嵌入式软件工程师笔试题(含答案)
  2. 分布式系统中只有两个难题
  3. Java设计模式(二十):中介者设计模式
  4. C51中变量类型和范围
  5. sap 事务代码跳过权限检查
  6. java创建阻塞_如何从HttpsURLConnection创建Java非阻塞InputStream?
  7. 每日一句(2014-8-26)
  8. ant design 分页中文字_给你代码:ant-desgin-vue使用
  9. jquery替换onclick的方法
  10. ZOJ 2060----Fibonacci Again
  11. UCloud首尔机房整体热迁移是这样炼成的
  12. torch.nn.parameter.Parameter分析
  13. Security+ 学习笔记26 业务连续性
  14. 期刊的中科院分区和JCR分区以及影响因子查询方法
  15. 在线二进制取余计算机,十进制转二进制和十六进制计算器
  16. R语言使用aov函数建立单因素方差分析模型、使用TukeyHSD函数采用Tukey法对各组均值的差异进行成对检验、使用plot函数可视化TukeyHSD函数的事后分析的结果、并获得的95%置信区间
  17. 看计划排产软件在纺织业的应用
  18. TestNg测试框架
  19. 淘宝获取sku详细信息
  20. 论文书写之如何引用参考文献(简单明了)

热门文章

  1. 微信小程序全面开放近一年,姗姗来迟的阿里还有胜局吗?| 畅言
  2. 史上速度最快!DNS 公共服务 1.1.1.1 正式发布
  3. 一文了解 AI 改变生活的 14 种姿势
  4. java静态变量初始化顺序,赶快收藏备战金九银十!
  5. c语言接收并回现字符,C语言——字符I/O与缓冲区
  6. 微型计算机技术 论文,微型计算机技术课程设计论文报告微机交通灯控制系统_毕业论文.docx...
  7. php模板怎么导入数据类型,smarty模板引擎之分配数据类型,smarty模板数据类型_PHP教程...
  8. ts定义数组类型_TypeScript 数组的类型
  9. 机器人建模中移动关节如何建立坐标系_机器人标准DH建模法
  10. mac java安全_关于 Java for Mac OS X 10.4 发行版 7 的安全性内容