从FPS到RTS,一文概述游戏人工智能中的深度学习算法

399 阅读16分钟

选自arXiv

机器之心编译

参与:路雪、李泽南、李亚洲

本文综述了用于打电子游戏的深度学习算法,分析了不同类型的电子游戏对深度学习系统的要求,同时也列举了一些开放性挑战。

论文链接:https://arxiv.org/pdf/1708.07902.pdf

摘要:在本论文中,我们综述了近期深度学习在不同类型的电子游戏中的应用进展,如第一人称射击游戏(FPS)、街机游戏或即时战略游戏(RTS)。我们分析了不同的游戏对深度学习系统的独特要求,以及将这些机器学习方法应用到电子游戏中的重要开放性挑战,如在通用游戏中,如何处理大型决策空间和稀疏奖励。

1. 引言

本文中,我们关注基于深度学习的游戏 AI 中广泛存在的问题以及使用的环境,如 Atari/ALE、《毁灭战士》(Doom)、《我的世界》(Minecraft)、《星际争霸》(StarCraft)和赛车游戏。另外,我们综述了现有的研究,指出亟待解决的重要挑战。我们对能够玩好电子游戏(非棋类游戏,如围棋等)的方法很感兴趣。本文分析了多种游戏,指出这些游戏给人类和机器玩家带来的挑战。必须说明,本文并未涉及所有 AI 在游戏中的应用,而是专注于深度学习方法在电子游戏中的应用。深度学习并非唯一应用于游戏中的 AI 方法,其他有效方法还有蒙特卡洛树搜索 [12] 和进化计算 [85], [66]。

2. 深度学习概述

本节我们概述了应用于电子游戏中的深度学习方法,及多种方法结合起来的混合方法。

A. 监督学习

在人工神经网络(ANN)的监督训练中,智能体通过样本进行学习 [56], [86]。智能体需要做出决策(已知正确答案),之后,使用误差函数确定智能体提供的答案和真正答案之间的区别;这将作为损失用于更新模型。在大数据集上进行训练后,智能体应该学习通用模型,使之在未见过的输入上依然表现良好。

这些神经网络的架构大致可分为两个主要范畴:前馈网络和循环神经网络(RNN)。

B. 无监督学习

无监督学习的目标不是学习数据和标签之间的映射,而是在数据中发现模式。这些算法可以学习数据集的特征分布,用于集中相似的数据、将数据压缩成必要特征,或者创建具备原始数据特征的新的合成数据。

深度学习中有多种不同的技术允许使用无监督学习。其中最重要的是自编码器技术,这种神经网络尝试输出自我输入的复制版本。

C. 强化学习方法

在用于游戏的强化学习中,智能体通过与环境互动来学习打游戏。其目标在于学习策略,即每一步需要用什么操作才能达到想要的状态。这种情况通常出现在电子游戏中,玩家每一步可以采取的操作数量有限,动作的顺序决定玩家玩的如何。

D. 进化方法

另一个训练神经网络的方法基于进化算法。该方法通常指神经进化(neuroevolution,NE),可以优化网络权重和拓扑。与基于梯度下降的训练方法相比,NE 方法的优势在于不要求网络可微分,且可用于监督学习和强化学习问题。

E. 混合方法

近期,研究者开始研究适用于玩电子游戏的混合方法,即将深度学习方法和其他机器学习方法结合起来。

这些混合方法旨在结合两种方法的优点:深度学习方法能够直接从高维原始像素值中学习,进化方法不需要依赖可微分架构,且在稀疏奖励的游戏中表现良好。

在棋类游戏中有重大意义的混合方法是 AlphaGo [97],该方法依赖深度神经网络和树搜索方法,打败了围棋领域的世界冠军。

3. 游戏类型和研究平台

本节概述流行的游戏类型和研究平台(与深度学习相关)。我们简略地概述了这些游戏的特点和算法在玩游戏时遇到的挑战。

A. 街机游戏

经典的街机游戏是上世纪 70 年代晚期 80 年代早期流行的游戏类型,在过去十年中这种游戏常常作为 AI 的测试基准。

街机游戏的代表性平台是 Atari 2600、Nintendo NES、Commodore 64 和 ZX Spectrum。大多数经典街机游戏的特点是在二维空间中的移动、图文逻辑(graphical logic)的大量使用、连续时间进度(continuous-time progression),以及连续空间或离散空间移动。这类游戏的挑战因游戏而异,不过大部分此类游戏都需要快速反应和抓住时机。很多游戏需要优先处理多个同时发生的事件,这要求预测游戏中其他实体的行为或轨迹。另一个普遍要求是穿过迷宫或其他复杂环境,比如吃豆人(Pac-Man,1980 年出现的游戏)和钻石小子(Boulder Dash,1984 年出现的游戏)。

最著名的用于深度学习方法的游戏平台是街机模式学习环境(Arcade Learning Environment,ALE)[6]。ALE 由 Atari 2600 模拟机 Stella 打造,包含 50 个 Atari 2600 游戏。该框架抽取游戏得分、160×210 的屏幕像素和可用于游戏智能体的输入的 RAM 内容。该平台是第一批深度强化学习论文(使用原始像素作为输入)探索的主要环境。

另一个经典的街机游戏平台是 Retro Learning Environment(RLE),目前该平台包含 7 个发布到超级任天堂(SNES)的游戏 [9]。这些游戏中很多都有 3D 图画,控制器允许超过 720 种组合操作,这使得 SNES 游戏比 Atari 2600 游戏更加复杂和生动,但这个环境目前没有 ALE 那么流行。

图 1. 作为深度学习研究平台的几款游戏的截图。

B. 竞速游戏

竞速游戏中,玩家控制某种车或某个人物在最短的时间内到达目的地,或者在给定时间内沿轨道行驶最远的距离。通常情况下,该游戏使用第一人称视角或玩家控制车辆的后方有利的位置作为视角。

竞速游戏中的一个普遍挑战是智能体需要利用微调后的持续输入来控制车辆的位置,调整加速或刹车,以尽快走完轨道。这至少需要短期规划、一次或两次转弯。如果游戏中还需要管理其他资源,如能源、破坏或提速,则还需要长期规划。如果轨道上出现其他车辆,还需要加入对抗规划,以管理或阻止超车。

带 3D 图像的视觉强化学习经常使用的环境是开源赛车模拟器 TORCS [121]。

C. 第一人称射击游戏(FPS)

近期,第一人称射击游戏(FPS)设置成为适合视觉强化学习智能体的先进游戏环境。与 ALE 基准中的经典街机游戏相比,FPS 具备 3D 图像,状态部分可观测,因此是更加生动的研究环境。通常的游戏视角是玩家控制的人物的视角,但 FPS 范畴内的多款游戏采用了过肩视角。这种设计造成的挑战是快速感知和快速反应,尤其是看到敌人并快速瞄准时。但是也存在其他认知挑战,包括在复杂的三维环境中定向和移动,预测多个敌人的动作和位置;某些游戏模式还需要团队合作。如果游戏中使用了视觉输入,那么从像素中抽取相关信息也是一个挑战。

ViZDoom 是一个 FPS 平台,该框架允许智能体使用屏幕缓冲作为输入来玩经典的第一人称射击游戏 Doom[50]。DeepMind Lab 是一个基于《雷神之锤》(Quake III)Arena 引擎的三维导航和解谜任务平台 [2]。

D. 开放世界游戏

开放世界游戏,如 MinecraftGrand Theft Auto V,这类游戏的特点是非线性,有一个很大的游戏世界供玩家探索,没有既定目标或清晰的内在次序,玩家在既定时间内有很大的操作自由。智能体的关键挑战是探索游戏世界,设定真实、有意义的目标。鉴于这是一项非常复杂的挑战,大部分研究使用这些开放环境探索强化学习方法,这些方法可以重用和迁移学得的知识到新的任务中。Project Malmo 是一个根据开放世界游戏 Minecraft 构建的平台,可用于定义多种复杂问题 [43]。

E. 即时战略游戏

这类游戏中玩家控制多个人物或单元,游戏目标是在竞赛或战争中获胜。即时战略游戏的关键挑战是制定和执行涉及多个单元的复杂计划。这个挑战通常比经典棋类游戏如象棋中的规划挑战更难,因为多个单元会随时移动,有效的分支因子通常非常大。另外一个挑战是预测一个或多个敌人的移动,敌人本身就有多个单元。即时战略游戏(RTS)在战略游戏本就很多的挑战之上又增加了时间优先次序(time prioritization)的挑战。

星际争霸游戏系列无疑是即时战略游戏中研究最多的游戏。《星际争霸·母巢之战》的 API(BWAPI)使软件可以在游戏运行中与星际争霸交流,如抽取状态特征、执行操作。BWAPI 曾广泛应用于游戏 AI 研究,但是目前只有少数使用了深度学习。近期根据 BWAPI 构建的库 TorchCraft 将科学计算框架 Torch 和 StarCraft 联系起来,使用机器学习方法研究该游戏 [106]。DeepMind 和暴雪(星际争霸的开发者)已经开发了机器学习 API,以支持机器学习在星际争霸 2 中的研究 [114]。该 API 包含多个小挑战,尽管它支持 1v1 游戏设置。有两个抽象出来的 RTS 游戏引擎值得一提:RTS [77] 和 ELF [109],后者实现了 RTS 游戏中的多个特征。

F. OpenAI Gym & Universe

OpenAI Gym 是一个对比强化学习算法和单独接口的大型平台,该接口包含一系列不同的环境,包括 ALE、MuJoCo、Malmo、ViZ-Doom 等等 [11]。OpenAI Universe 是 OpenAI Gym 的扩展,目前可以接入一千多个 Flash 游戏,并且计划接入更多现代电子游戏。

4. 玩游戏的深度学习方法

A. 街机游戏

街机模式学习环境(ALE)已经成为深度强化学习算法直接从原始像素中学习控制策略的主要试验平台。本节概述 ALE 中的主要进展。

深度 Q 网络(DQN)是第一个在 Atari 游戏中展示人类专业玩家控制水平的学习算法 [70]。该算法在七种 Atari 2600 游戏中进行测试,表现优于之前的方法,如具备特征构建 [3] 和神经卷积 [34] 的 Sarsa 算法,并在三种游戏上表现优于人类专业水平。

深度循环 Q 学习(DRQN)在输出前使用循环层扩展 DQN 架构,这对状态部分可观测的游戏效果很好。

Q 学习算法存在一个问题,即它通常高估动作值。基于双 Q 学习 [31] 的双 DQN 通过学习两个价值网络降低观测到的过高估计值,两个价值网络在更新时互为目标网络 [113]。

Dueling DQN 使用的网络在卷积层后可以分成两个流,分别估计状态值 V π (s) 和动作优势(action-advantage)Aπ (s, a),使 Qπ (s, a) = V π (s) + Aπ (s, a) [116]。Dueling DQN 优于双 DQN,且能够连接优先经验回放。

本节还描述了 Advantage Actor-Critic (A3C) 算法、使用渐进神经网络的 A3C 算法 [88]、非监督强化和辅助学习(UNsupervised REinforcement and Auxiliary Learning,UNREAL)算法、进化策略(Evolution Strategies,ES)等算法。

B. Montezuma's Revenge(略)

C. 竞速游戏

Chen et al 认为基于视觉的自动驾驶通常存在两种范式 [15]:(1)直接学习将图像映射到动作的端到端系统(行为反射);(2)分析传感器数据,制定明智决策的系统(介导感知)。

策略梯度方法,如 actor-critic [17] 和确定性策略梯度(Deterministic Policy Gradient,DPG)[98],可以在高维、持续的动作空间中学习策略。深度确定性策略梯度是一种实现回放记忆和独立目标网络的策略梯度方法,二者都极大提升了 DQN。深度确定性策略梯度方法曾用于利用图像训练 TORCS 的端到端 CNN 网络 [64]。

前面提到的 A3C 方法也被应用于竞速游戏 TORCS,仅使用像素作为输入 [69]。

D. 第一人称射击游戏

使用同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)从屏幕和深度缓冲区获取位置推断和物体映射,这二者也能改善 DQN 在《毁灭战士》游戏中的效果 [8]。

死亡竞赛的冠军使用了直接未来预测(Direct Future Prediction,DFP)方法,该方法的效果优于 DQN 和 A3C [18]。DFP 使用的架构有三个流:一个用于屏幕像素,一个用于描述智能体当前状态的低维评估,一个用于描述智能体的目标,即优先评估的线性结合。

3D 环境中的导航是 FPS 游戏所需的一个重要技巧,并且已经被广泛研究。CNN+LSTM 网络使用 A3C 训练,A3C 用预测像素深度和环闭合的额外输出扩展而成,显示出显著改善 [68]。

内在好奇心单元(Intrinsic Curiosity Module,ICM)包括多个神经网络,在每个时间步内基于智能体无法预测动作结果来计算内在奖励。

E. 开放世界游戏

分层深度强化学习网络(Hierarchical Deep Reinforcement Learning Network,H-DRLN)架构实现终身学习框架,该框架能够在游戏《我的世界》的简单任务中迁移知识,比如导航、道具收集和布局任务 [108]。H-DRLN 使用一个变种策略振荡 [87] 来保留学得的知识,并将其封装进整个网络。

F. 即时战略游戏

即时战略(RTS)游戏的环境更加复杂,玩家必须在部分可观测的地图中实时同步控制多个智能体。

即时战略主要有以下几种方法:

独立 Q 学习(IQL)将多智能体强化学习问题简化,智能体学习一种策略,可以独立控制单元,而将其他智能体当作环境的一部分 [107]。

多智能体双向协调网络(BiCNet)基于双向 RNN 实现一种向量化的 actor-critic 框架,其中一个向度适用于每一个智能体,其输出为一系列操作 [82]。

Counterfactual multi-agent(COMA)策略梯度是一种 actor-critic 方法,该方法具备一个中心化的 critic 和多个去中心化的 actor,用 critic 网络计算出的反事实基线(counterfactual baseline)来解决多智能体信度分配的问题 [21]。

G. Physics Games(略)

H. 基于文本的游戏

这类游戏中的状态和操作都以文本的形式呈现,是一种特殊的电子游戏类型。研究者专门设计了一种叫作 LSTM-DQN [74] 的网络架构来玩这类游戏。使用 LSTM 网络可以把文本从世界状态转换成向量表征,评估所有可能的状态动作对(state-action pair)的 Q 值。

5. 游戏中的深度学习概览(略)

6. 开放性挑战

深度学习,特别是深度强化学习方法,在电子游戏中取得了卓越的成果,但是仍然存在大量重要的开放性挑战。本节我们将对此进行概述。

A. 通用电子游戏

图 3. 本文讨论的深度学习技术的影响力图。每一个节点代表一个算法,颜色代表游戏基准,与中心的距离代表原始论文在 arXiv 上的发表时间,箭头表示技术之间的关系,每一个节点指向所有使用或修改过该技术的节点。本论文未讨论的影响力则不在图中出现。

B. 稀疏奖励的游戏

C. 多智能体学习

D. 计算资源

E. 深度学习方法在游戏产业中的应用情况

F. 游戏开发交互工具

G. 创造新型电子游戏

H. 终身适应性

I. 与人类相似的玩游戏方式

J. 性能水平可调整的智能体

K. 游戏的学习模型

L. 处理大型决策空间

7. 结论

本论文对应用到电子游戏中的深度学习方法进行了综述,涉及到的电子游戏类型包括:街机游戏、竞速游戏、第一人称射击游戏、开放世界游戏、即时战略游戏、物理游戏和基于文本的游戏。涉及到的多数工作研究端到端无模型深度强化学习,其中卷积神经网络能够通过游戏互动从原始像素中直接学习玩游戏。一些研究还展示了使用监督学习从游戏日志中学习,让智能体自己在游戏环境中展开互动的模型。对于一些简单的游戏,如很多街机游戏,本文谈及的很多方法的表现已经超过人类水平,而复杂度更高的游戏还面临很多开放性挑战。

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

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

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

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

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