官方:DeepMind与暴雪开源星际争霸2人工智能研究环境
在去年 11 月,DeepMind 曾在 Blizzcon 上宣布与著名游戏公司暴雪达成协议,在《星际争霸》系列游戏中进行合作,这家隶属谷歌的公司将在游戏平台中引入机器学习方法,进行人工智能研究。昨天,DeepMind 与暴雪终于共同发布了这一计划的第一个成果:基于星际争霸 2 的人工智能研究环境 SC2LE,它允许研究者在 Linux 系统中接入游戏 API,开展自己的人工智能研究。
PySC2 GitHub 链接:https://github.com/deepmind/pysc2
暴雪星际争霸 API:https://github.com/Blizzard/s2client-proto
DeepMind 的科学使命是通过开发系统推动 AI 的发展,并且令其能够学习解决复杂的问题。为了做到这一点,我们设计了很多智能体,并在各种环境下测试这些智能体的能力,从专门建造的 DeepMind Lab 到现有的游戏,如 Atari 和围棋。
在游戏中测试智能体的能力并不是专为 AI 研究设计的,人类玩家玩得好的地方就正是对智能体性能基准至关重要的地方。这就是我们携手暴雪娱乐的原因,我们很高兴宣布 SC2LE 的发布,它是一个可以在即时战略游戏星际争霸 2 中加速 AI 研究的工具集。目前发布的 SC2LE 包含:
由暴雪开发的机器学习 API,它将允许研究者和开发者接入游戏。该 API 首次囊括了在 Linux 系统上的系列工具。
匿名游戏录像的数据集,它将在近期由 65k 的数据量增加到超过 50 万场比赛的数据量。
开源版本的 DeepMind 工具箱:PySC2,该工具箱允许研究者通过其智能体简单地使用暴雪的特征层 API。
一系列简单的强化学习小游戏以允许研究者测试智能体在具体任务上的性能。
同时还有一篇合作论文概括了这一环境,并报告了小游戏的初始基线结果、游戏录像中的监督学习和与内置 AI 的 1v1 天梯比赛。
星际争霸 2 是一款在科幻背景下的即时战略游戏(RTS),发行于 2010 年。
星际争霸和星际争霸 2 是游戏史上最大、最成功的两款游戏,玩家们在其中彼此竞赛已超过 20 年。最初的游戏也已为人工智能和机器学习研究者所用,他们参加每年一次的 AIIDE 机器人竞赛。星际争霸长盛不衰的部分原因在于其丰富的多层次游戏机制,对于人工智能研究来说,这简直是一个再理想不过的环境。
例如,虽然游戏的目标是击败对手,但玩家也必须顾及并平衡子目标的数量,比如收集资源(水晶和气矿)或建造房屋(提高人口限制)。此外,一场比赛的时间通常为几分钟到一小时不等,这意味着游戏中提早执行的操作也许会很长时间不见成效。最后,由于战争迷雾的存在,地图对于玩家只有部分显示,这意味着智能体必须结合记忆与规划才能成功。
星际争霸还有其他吸引研究者的方面,比如每天在线竞争的大量狂热玩家。这保证了有大量的游戏记录数据可以学习,以及大量可与智能体竞争的优秀人类对手。
甚至星际争霸的操作空间也是一个挑战,可从超过 300 种操作中做选择,相比之下 Atari 游戏只有 10 种操作选择(例如,上下左右等)。在此之上,星际争霸中的操作是层级的,能够进行调整、增强,有很多游戏单位需要点击屏幕控制。即使一个 84x84 的小屏幕,大概也存在 1 亿种可能的操作。
人类玩家与智能体可以执行的操作取决于选择的单元。
这个版本意味着研究者现在可以使用暴雪的工具来构建其任务和模型,从而应对这些挑战中的一部分。
我们的 PySC2 环境包装器通过为强化学习智能体提供一个灵活且易于使用的接口,从而对游戏有所助益。在初始版本中,我们把游戏分解为「特征层」,其中游戏的元素比如单元类型、健康、地图可见性之间彼此隔离,同时保留游戏的核心的视觉和空间元素。
该版本同样包含了一系列「小游戏」,即一种将游戏分割为可控制块的技术,因此它能用于测试智能体在如转动视角、收集矿产或选定单位那样的特定任务。我们希望研究者能在这些提倡的小游戏上测试他们的技术,因为其他研究者才能在这些小游戏上进行对比和评估。
简单的 RL 小游戏能够使研究人员能够在特定任务上测试智能体的表现。
我们最初的调查表明我们的智能体在这些小游戏上表现很好。但做完整版游戏时,即使拥有 A3C 这样的强大基线智能体,也不能在简单游戏上取胜。例如:以下视频演示了一个早期阶段的训练智能体(左)来完成更有意义的操作,但如果要更有竞争优势,需要在深度强化学习与相关领域有进一步的突破。
我们所知的一项能让智能体学习更强大策略的技术是模仿学习(imitation learning)。因为与暴雪的合作,这种训练方法很快就会变的更简单,因为他们将要公布千百万匿名游戏记录视频(收集自星际争霸 2 天梯比赛)。这些视频不仅能让研究员训练监督式智能体,也开启了一些新的研究领域,比如序列预测、长期记忆等。
我们希望,这些新工具的发布能够建立在 AI 社区已经在星际争霸上所作的研究基础之上,鼓励做更多的深度强化学习研究,让专注这一领域的研究人员工作更为简单。
论文:StarCraft II: A New Challenge for Reinforcement Learning
摘要:本论文介绍 SC2LE(星际争霸 2 学习环境),一个基于游戏「星际争霸 2」的强化学习环境。该场景给强化学习带来了新的巨大挑战,出现了许多比大多数之前研究中更有挑战性的问题:多个玩家交互的多智能体问题;非全图导致的信息不完善;包含数百个单元的选择和控制的大型操作空间;只能从原始输入特征平面观察到的大型状态空间;信用分配(credit assignment)延迟,其需要数千步的长期策略。我们描述了星际争霸 2 场景的观察、动作和奖励说明,并提供可与游戏引擎交流的基于 Python 的开源界面。除了主要的游戏图之外,我们还提供一套针对星际争霸 2 玩法的小游戏。对于主要的游戏图,我们提供配套的人类专业玩家游戏记录数据集。我们给出了在该数据上训练的神经网络的初始基线结果(initial baseline result)来预测游戏结果和玩家操作。最后,我们展示了应用于星际争霸 2 的标准深度强化学习智能体。关于小游戏,这些智能体能够学习并达到初级玩家的游戏水平。但是,在游戏本身的训练中,这些智能体的进步并没有那么明显。综上所述,SC2LE 提供了一种为探索深度强化学习算法和结构提供了一种新型、富有挑战性的环境。
图 1. SC2LE 环境与神经网络智能体组成示意图