其他

学界 | 中科院开源星际争霸2宏观运营研究数据集MSC

2017-10-11 机器之心

选自arXiv

机器之心编译

参与:李泽南、蒋思源


DeepMind 与暴雪共同发起的星际争霸 2 人工智能研究看起来遭遇了很大挑战。目前的人工智能还难以在完整对战中击败简单级别的游戏内建电脑玩家。不过,两家公司 8 月份共同推出的人工智能研究环境 SC2LE 为后续研究提供了可利用的平台。中国科学院自动化研究所的研究人员最近针对宏观运营任务提出了全新数据集 MSC,试图推动研究社区继续前进。值得一提的是,中科院自动化所的团队 10 月 8 日刚刚在星际争霸 AI 竞赛 AIIDE 2017 上取得第四名的成绩(bot CPAC),本研究的部分参与者也是该团队成员。


项目 GitHub 链接:https://github.com/wuhuikai/MSC


基于深度学习的人工智能技术已经在 Atari 游戏(Mnih 等人,2015)、围棋(Silver 等人,2016)和第一人称 3D 射击游戏 Doom(Lample & Chaplot,2017)上达到了超越以前最优水平的表现。但时至 2017 年,在面临即时战略游戏(RTS)星际争霸时,我们却遇到了前所未有的困难。此类游戏的动作空间和状态空间(强化学习)相比于其它游戏显得极其巨大,而且与围棋等完全公开环境不同,星际争霸的战争迷雾等设定使对手状态不完全可知。


最近 DeepMind 的研究表明,想要训练基于深度神经网络(DNN)的端到端星际争霸 2 人工智能是一件非常困难的事。不过,Vinyals 等人提出了星际争霸 2 研究平台 SC2LE,他们此前也训练出了用于进行游戏的 DNN 网络 A3C。当然,A3C 无法在对阵哪怕是游戏内建简单电脑玩家的情况下获胜。基于人们在星际争霸 1 的人工智能研究上,中科院的研究人员们认为整合了微观操作(Peng 等人,2017)、建造指令预测(Justesen & Risi,2017)和全局状态评估(Erickson & Buro,2014)等能力的智能体是下一步研究的方向,而以上各种能力可以被分为宏观运营(macro-management)与微观操作(micro-management)两个部分。


微操作包括与单位控制相关的所有低级别任务,如采矿、与敌对单位战斗;而宏观运营则有关高级别的游戏策略,如计划建造哪种新的单位/建筑、科技研究、对于游戏全局态势的判断。我们可以通过深度强化学习算法轻松地让计算机获得近似于人类表现的微操作能力,但宏观运营在目前看来还是一个难以解决的问题。一个有前景的方向是通过机器学习的方法学习职业玩家的经验,利用游戏 Replay 学会「大局观」,利用 DNN 进行建造指令预测。两种方法都需要用到游戏 Replay 进行学习,这是星际争霸系列游戏专有的游戏回放录像文件。


星际争霸 1 有很多用于进行宏观运营学习的 Replay 数据集。然而这些数据集通常都只能用作特定的宏观运营任务训练,也没有预先分成训练、验证和测试集。另一方面,很多数据集体量很小,无法适应现代机器学习算法。目前最大的星际争霸 1 Replay 数据集是 StarData(Lin 等人,2017),其中包含 65,646 条游戏录像,但其中只有一少部分包含最终结果,这对于宏观运营的某些训练,如全局态势评估而言并不适用。DeepMind 的 SC2LE 中则包含了星际争霸 2 的最大数据集,其中包括 80 万条录像,适用于多种不同的宏观运营任务。


图 1. MSC 框架示意图。游戏 Replay 首先会被预定义的标准过滤,随后使用 PySC2 进行解析。解析 Replay 后的状态被采样并转化为 N 维向量。最后,包含特征对和最终对战结果的文件被分为训练、验证和测试集。


然而,现在并没有标准的处理步骤和预定义的训练集、验证集和测试集。此外,这些数据集的设计初衷是用于星际争霸 2 的端到端类人控制,并不适合用于宏观运营的训练任务。


为了推进利用 Replay 学习宏观运营的研究,中科院的研究人员基于 SC2LE 构建了一个新的数据集 MSC。它目前是适用于星际争霸 2 宏观运营的最大数据集,可用于各类任务,如建造顺序预测和全局状态评估。MSC 基于 SC2LE 构建原因有三:1)SC2LE 包含最大的 Replay 数据集。2)SC2LE 受官方支持,且更新频率高。3)SC2LE 中的 Replay 质量较高,格式更标准。研究人员定义处理 SC2LE 中 Replay 的标准步骤,如图 1 所示。处理后的数据集包括精心设计的特征向量、预定义的动作空间(action space)和每次比赛的最终结果。所有处理过的文件可分为训练集、验证集和测试集。随后,研究人员基于 MSC 训练了基线模型,展示全局状态评估和建造顺序预测的初始基线结果,二者是宏观运营的重要任务。为了方便其他任务的研究,研究人员还展示了 MSC 的一些数据,列出了适合它的后续任务。该研究的主要贡献可归纳为以下两点:


a. 新数据集 MSC 用于星际争霸 2 的宏观运营,包括标准预处理、解析和特征提取过程。为方便评估和对比不同方法,数据集分为训练集、验证集和测试集。

b. 为宏观运营的两项重要任务全局状态评估和建造顺序预测提出基线模型和初始基线结果。


宏观运营


在星际争霸社区中,与单位控制有关的所有任务叫作微观操作(micro-management),而宏观运营指玩家遵循的高级游戏策略。全局状态评估是宏观运营的一项核心任务,聚焦于预测在当前状态下的胜率(Erickson & Buro 2014;Stanescu 等人 2016;Ravari、Bakkes & Spronck 2016;Sanchez-Ruiz & Miranda 2017)。建造顺序预测(Build order prediction)用于预测在当前状态中下一步要训练、建造或进行哪些研究(Hsieh & Sun 2008;Churchill & Buro 2011;Synnaeve、Bessiere & others 2011;Justesen & Risi 2017)。Churchill 和 Buro 2011 年使用基于目标的方法将树搜索应用到建造顺序规划中。Synnaeve、Bessiere 等 2011 年从 Replay 中训练贝叶斯模型,而 Justesen 和 Risi 在 2017 年探索了 DNN 方法。开放的策略预测是建造顺序预测的子集,旨在预测比赛初始阶段的建造顺序(Kostler & Gmeiner 2013;Blackford & Lamont 2014;Justesen & Risi 2017)。Dereszynski 等人 2011 年研究预测敌人的状态,Cho、Kim 和 Cho 2013 年尝试预测敌人的建造顺序。


图 2. 数据集中人族对人族比赛 replay 的 APM(每秒指令次数)与 MMR(天梯分数)密度图。我们可以看到,APM 与 MMR 对于比赛的输赢而言没有太大的相关性。


论文:MSC: A Dataset for Macro-Management in StarCraft II


论文链接:https://arxiv.org/abs/1710.03131


宏观运营(Macro-management)是《星际争霸》系列游戏中玩家需要掌握的重要能力,也是 AI 研究者们一直在探索的方向。近年来,人们提出了多种不同的数据集和方法。但这些数据集对于推动研究和业界探索而言有着诸多限制:1)一些数据集里没有标准的预处理、解析和特征提取过程,也没有预定义的训练、验证和测试集。2)某些数据集只是用于特定任务的宏观运营。3)一些数据集太小,或者没有足够的数据,无法适用于现代机器学习算法(如深度神经网络)。


大部分此前的方法都是由不同特征训练的,它们由不同的测试集评估,相互之间难以进行直接比较。为了推动星际争霸的宏观运营研究,我们在 SC2LE 平台上推出了新数据集 MSC,其中包含仔细设计的特征向量、预定义的高级指令和每种匹配的最终结果。我们还将 MSC 分成训练、验证和测试集以便于评估和比较。除了数据集以外,我们还提出了基线模型(baseline model),并展示了全局状态评估和建造指令预测的基线结果——这两个任务也是宏观运营的核心。为了研究星际争霸 2 的宏观运营,我们也研究与分析了一系列后续任务(downstream tasks)。




本文为机器之心编译,转载请联系本公众号获得授权。

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存