该研究的代码和结果已公开:https://github.com/nanxintin/StarCraft-AI

人工智能(AI)在过去的十年中已经有了巨大的进展。
作为 AI 研究的绝佳测试平台,游戏自从 AI 出身之时就在其身边推动技能的发展,与人工智能产生联系的游戏包括古老的棋盘游戏、经典的 Atari 街机游戏,以及不完美信息博弈。
这些游戏具有定长且有限的系列动作,研究职员只须要在游戏环境中掌握单个智能体。
此外,还有多种更加繁芜的游戏,个中包含多个智能体,以及繁芜的规则,这对付 AI 研究非常具有寻衅性。

在本论文中,我们专注于即时计策游戏(RTS)来探索多智能体的掌握。
RTS 游戏常日须要即时反应,这与棋盘游戏的回合制不同。
作为最为盛行的 RTS 游戏,《星际争霸》拥有弘大的玩家根本和数量浩瀚的职业联赛——而且这个游戏尤其磨练玩家的策略、战术以及临场反应能力。
对付游戏 AI 的研究,星际争霸供应了一个空想的多智能体掌握环境。
近年来,星际争霸 AI 研究取得了令人瞩目的进展,这得益于一些星际争霸 AI 竞赛,以及游戏 AI 接口(BWAPI)的涌现。
最近,研究职员开拓出了一些更加有效的平台来推动这一方向的发展,个中包括 TorchCraft、ELF 和 PySC2。

星际争霸 AI 旨在办理一系列难题,如时空推理、多智能体协作、对手建模和对抗性方案 [ 8 ]。
目前,设计一款基于机器学习的全星际游戏 AI 是不现实的。
许多研究者将微操作为星际争霸人工智能研究的第一步 [11]。
在战斗场景中,单位必须在高度动态化的环境中航行,攻击火力范围内的仇敌。
星际争霸有很多微操方法,包括用于空间导航和障碍规避的潜在领域 [12] [13]、处理游戏中的不完全性和不愿定性的贝叶斯建模 [14]、处理建造顺序方案和单位掌握的启示式博弈树搜索 [15],以及用于掌握单个单位的神经进化方法 [16]。

让AI掌握星际争霸微操中科院提出强化进修课程迁移进修方法

作为一种智能学习方法,强化学习 ( RL ) 非常适宜实行序列决策任务。
在星际争霸微操任务中,RL 方法有一些有趣的运用。
Shantia 等人利用在线 Sarsa 和带有短期影象褒奖函数的神经装置 Sarsa 来掌握单位的攻击和撤退 [ 17 ]。
它们利用视觉网格获取地形信息。
这种方法须要手工设计,而且输入节点的数量必须随着单元的数量而改变。
此外,他们还采取增量学习方法将任务扩展到具有 6 个单元的更大场景中。
但是,增量学习的成功率仍旧低于 50 %。
温德尔等人在微操作中利用不同的 RL 算法,包括 Q 学习和 Sarsa [ 18 ]。
他们掌握一个强大的单位对抗多个彼此之间不存在协作的弱单位。

在最近的几年里,深度学习在处理繁芜问题上已经实现了令人瞩目的成果,也大大提高了传统强化学习算法的泛化能力和可扩展性 [5]。
深度强化学习(DRL)可以让智能体学习如何通过端到真个办法在高维状态空间中做出决策。
Usunier 等人提出了一种通过深度神经网络进行微操作的强化学习方法。
他们利用 greedy MDP 在每个韶光步上有顺序地为单位选择动作,通过零阶优化(zero-order optimization)更新模型。
这种方法能够掌握玩家拥有的所有单位,并检视游戏的全局状态。
Peng 等人则利用 actor-critic 办法和循环神经网络(RNN)来打星际争霸的对战(拜会:阿里人工智能新研究:在星际争霸中实现多兵种协同作战)。
单位的掌握由隐蔽层中的双向 RNN 建模,其梯度更新通过全体网络高效传播。
另一方面,与 Usunier 和 Peng 设计集中掌握器的事情不同,Foerster 等人提出了一个多智能体 actor-critic 方法来办理去中央的微操作任务,这种方法显著提高了集中强化学习掌握器的性能 [22]。

对付星际争霸的微操,传统方法在处理繁芜状态、行动空间和学习互助策略方面存在困难。
当代方法则依赖于深度学习引入的强大打算能力。
另一方面,利用无模型强化学习方法学习微操常日须要大量的演习韶光,在大规模场景中,这种情形更为明显。
在中科院自动化所的新研究中,研究职员试图探索更高效的状态表示以冲破巨大状态空间引发的繁芜度,同时提出了一种强化学习算法用以办理星际争霸微操中的多智能体决策问题。
此外,研究职员还引入了课程迁移学习(curriculum transfer learning),将强化学习模型扩展到各种不同场景,并提升了采样效率。

本论文的贡献紧张分为三部分。
首先,我们提出了一种高效的状态表征方法以处理星际争霸微操中的大型状态空间。
这种方法考虑了单位的属性与间隔,并许可双方利用任意数量的单位。
与其他干系研究比较,我们的状态表征方法将更加高效、简洁。
其次,我们提出了一种参数共享的多智能体梯度低落 Sara(λ) 算法(PSMAGDS)来演习我们的单位。
利用神经网络作为函数近似器,智能体会共享集中化策略的参数,并同时利用自己的履历更新策略。
这种方法能有效地演习同质智能体,并且鼓励互助行为。
为理解决稀疏问题和延迟褒奖,我们在 RL 模型中引进了包含小型中间褒奖的褒奖函数。
该褒奖函数能提升演习过程,并成为帮助单位相互协作的内在动力。
末了,我们提出了一种迁移学习方法来扩展模型适应各种情景。
与从头开始学习比较,这种方法在演习速率上有非常大的提升,并且在学习性能上也有很大的扩展。
在大规模场景中,我们运用课程迁移学习(curriculum transfer learning)方法成功地演习了一组单位。
就胜率而言,我们提出的方法在目标场景中优于很多基线方法。

本论文由六部分组成。
第二节描述了星际争霸微操问题,以及强化学习和课程迁移学习的背景。
在第三节中,本论文提出了用于微操的强化学习模型,包括状态表征方法、网络架构和行动定义。
在第四节中,本论文先容了参数共享的多智能体梯度低落 Sara(λ) 算法(PSMAGDS)和褒奖函数。
在第五节中,研究者先容了本论文利用的星际争霸微操场景和演习细节。
在末了第六节中,研究者对实验结果进行了剖析,并进一步谈论模型学习到的策略。

图 1:智能体-环境交互在强化学习中的表示。

图 2:课程迁移学习图示。
存储通过办理源任务而得到的知识,逐渐运用到 M Curricular 任务上以更新知识。
终极,知识被运用于目标任务。

图 3:一个单位在星际争霸微操场景中的学习模型表示。
状态表示含三个部分,神经网络被用作函数逼近器。
网络输出移动的 8 个方向和攻击动作的概率。

在这一研究中,星际争霸微操被定义为多智能体强化学习模型。
我们提出了参数共享多智能体梯度低落 Sarsa(λ)(PSMAGDS)方法来演习模型,并设计了一个褒奖机制作为促进学习过程的内在动机。
全体 PS-MAGDS 强化学习范式如图 4 所示:

图 4:StarCraft 微操场景中的 PS-MAGDS 强化学习图示。

微操场景中不同单元的属性比拟

图 5:实验中 StarCraft 微操场景中的表征。
左:人族巨人 vs. 狂热者;中:人族巨人 vs. 狗;右:机枪兵 vs. 狗。

结果

机枪兵 VS. 狗的微操的课程设计。
M:机枪兵,Z:狗。

两个大场景中利用基线方法的模型的性能比拟。
M:机枪兵,Z:狗。

不同课程场景和未知场景中的胜率。
M:机枪兵,Z:狗。

图 12:3 个人族巨人 vs. 6 个狂热者的微操场景中的样本游戏回放。

图 13:3 个人族巨人 vs. 20 只狗的微操场景中的样本游戏回放。

图 14:20 个机枪兵 vs. 30 只狗的微操场景中的样本游戏回放。

论文: StarCraft Micromanagement with Reinforcement Learning and Curriculum Transfer Learning

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

择要:近年来,即时计策游戏已成为游戏 AI 的一个主要领域。
本论文展示了一种强化学习和课程迁移学习方法,可在星际争霸微操中掌握多个单元。
我们定义了一种高效的状态表征,破解了游戏环境中由大型状态空间引起的繁芜性,接着提出一个参数共享多智能体梯度低落 Sarsa(λ)(PS-MAGDS) 算法演习单元。
学习策略在我们的单元中共享以鼓励协作行为。
我们利用一个神经网络作为函数近似器,以评估动作代价函数,并提出一个褒奖函数帮助单元平衡其移动和攻击。
此外,我们还用迁移学习方法把模型扩展到更加困难的场景,加速演习进程并提升学习性能。
在小场景中,我们的单元成功学习战斗并击败了胜率为 100% 的内置 AI。
在大场景中,课程迁移学习用于渐进地演习一组单位,并展示在目标场景中一些基线方法上的出众性能。
通过强化学习和课程迁移学习,我们的单元能够在星际争霸微操场景中学习得当的策略。