分享

地表最强三大星际争霸AI“浅度”剖析 | 智能认知决策 | 算法前沿(31)

 ZZvvh2vjnmrpl4 2019-06-03

今天,你算法了没?

1.背景介绍

2018年11月13-17日,在AAAI人工智能与交互式数字娱乐大会 (AI for Interactive Digital Entertainment)上,第八届 AIIDE 星际争霸 AI 挑战赛吸睛无数。来自世界各大知名机构的27支战队同台竞技。

挑战赛使用 12 台计算机进行了大约 2 星期的比赛。经过每个 bot 平均大约 2600 局、每组对手平均大约 100 局,共 34694 局车轮战 1v1 比赛

AIIDE StarCraft AI 挑战赛自 2011 年起已连续举办八届,该竞赛以星际争霸 1 为载体,以促进和评估用于实时战略游戏(RTS)的人工智能水平为目的。近年来,它更是成为博弈对抗、强化学习、模仿学习、多任务学习等乃至通用人工智能算法研究的主要平台和工具。由于包括对手不确定在内的信息不完全以及状态动作空间巨大等问题,使得星际争霸AI较围棋AI更极具挑战性,因此也吸引了包括DeepMind、Facebook、三星、斯坦福大学、中国科学院自动化研究所在内的国内外顶尖研究机构投入研究,相关核心技术可以广泛应用在金融学、经济学、生物学、政治学和军事等领域。

比赛官网http://www.cs./~dchurchill/starcraftaicomp/

2.战况介绍

第一名,韩国三星的赛达(SAIDA)团队,AI名为:SAIDA,对战2590盘,胜率95.91%

团队成员:Iljoo Yoon、Daehun Jun、Junseung Lee、Hyunjin Choi、Changhyeon Bae、Hyunjae Lee、Yonghyun Jeong、Uk Jo。其中,Changhyeon Bae是这支队伍的leader。

第二名,LeCun治下的Facebook AI团队,AI名为CherryPi,对战2592盘,胜率90.86%

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

第三名,中科院自动化所张俊格团队,AI名为CSE,对战2591盘,胜率87.11%

团队成员:张俊格、郭玮、尹奇跃、詹东、王琦玮、胡益珲、申生奇和黄凯奇。

关于胜率还有很有意思的一件事,随着比赛时间的推移,三星赛达(非深度学习技术,基于规则的算法)的胜率虽然一直很高,但总体上在轻微但持续的下降。

与此同时,获得第二名的CherryPi(深度学习技术)的胜率,在轻微而持续的上升。

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

3.赛达技术浅度剖析

和现在主流方法不一样的是,赛达没有用机器学习方法。参赛版本的赛达,它都是手工编写的基于规则的算法,一共49702行。有人评价:赛达就是把大赛官方提供的样本程序UAlbertaBot和专业软件开发者、韩国职业星际选手放到一起。

SAIDA的核心是使用了一个稳定的游戏策略,它会首先考虑防守,然后在游戏中期伺机一波带走对方。他们认为这种策略能应对绝大多数对手的策略,弱点也最少

它所用的策略不是一开始就预设好的,而是会根据侦查和扫描收集的信息来构建。除了选择策略的程序,赛达还包含用来控制单位和建筑物的有限状态机,用来寻找建基地位置或者敌人基地的几种搜索算法

虽然赛达目前,暂时,还打不过职业选手,但开发团队认为“已经不远了”,内心充满了希望。他们说,现在的星际AI已经达到了高端业余玩家的水平,战网天梯1800分左右的那种。再有一两年,就能击败战网3000多分的最强7位职业选手之一。

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

3.CherryPi技术浅度剖析

CherryPi使用了Torch框架,全部的代码是大约5万行的C ,CherryPi也是今年唯一一个使用了 GPU 计算能力的 bot

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

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

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

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

CherryPi会有8-13个候选策略。每场比赛开始时,它会根据与对手之间的历史表现,基于具有时间衰减权重的强盗模型,选择一个策略。(通俗的说,也就是越是最近的比赛,权重越高)随着比赛进行,CherryPi会根据当前情况,使用预训练的模型,使用每种策略估计获胜的可能性,满足一些条件的情况下,会切换到胜率最高的策略。所以,这也是一种来回切换的“混合”策略

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

目前Cherrypi已经开源了训练 StarCraft 智能体的 TorchCraftAI 平台,该平台允许构建智能体来(学习)玩《星际争霸:母巢之战》游戏。TorchCraftAI 包括以下重要特征:

  • 用于构建 StarCraft 智能体的模块化框架,其中的模块可以接受攻击,被替换成其他模块或机器学习/强化学习模型。

  • CherryPi:在星际争霸 AI 竞赛中取得了不俗的成绩,如 SSCAIT 2017-18 冠军、AIIDE 2018 亚军。

  • 适用于星际争霸全场游戏、小游戏的强化学习环境,具备模型、训练循环和教程。

  • TorchCraft 支持与 StarCraft 和 BWAPI 的 TCP 通信。

  • 支持 Linux、Windows 和 OSX 操作系统。

下图展示了两个 TorchCraftAI 智能体互搏的完整图:

举两个栗子:

1)训练模型造建筑(通过强化学习训练造建筑模块):

地址:https://torchcraft./TorchCraftAI/docs/bptut-intro.html

2)训练模型战斗(通过强化学习使智能体掌握微操技能):

地址:https://torchcraft./TorchCraftAI/docs/microtut-intro.html

4.CSE技术浅度剖析

CSE战队算是“改装”派打法,他们的AI基于Locutus。他们在Locutus的基础上,做了一些策略和微观层面的优化。其实Locutus是基于Steamhammer改进的,不同之处在于,Steamhammer玩虫族,而Locutus玩神族。

CSE采用的是规则和学习联合驱动的方式。比如何时采用隐刀偷袭吸纳了人类玩家的经验知识;在建造队列为空的时候,CSE使用深度学习来预测待构建单位等等。

5.结语展望

其实关于游戏AI究竟是否能够超越人类顶级选手,笔者总认为是迟早的事情。

AI决策控制最为恐怖的地方就在于其远远超越人类的高精确性、大规模并行处理、超高速度等能力。

AI目前最为欠缺的是最佳策略的制定能力,尤其是在复杂环境、不完备信息、动态对抗的情况下,这种策略制定能力一旦媲美人类,那怕稍弱于人类,凭借其高超的精度和规模化的速度,就会把人类甩出几条街了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多