游戏中的人工智能技术很复杂。 哥本哈根大学和纽约大学的几位研究人员最近发表的一篇论文对相关技术进行了详细回顾,并用一张图描述了游戏AI技术的历史演变。 DQN以其巨大的影响力成为公共算法的鼻祖。 选自arXiv,作者:Niels Justesen、Philip Bontrager等,机器之心编译,参与:Geek AI、贾伟。
如今,将人工智能技术应用于游戏已是一个成熟的研究领域,许多会议和专业期刊都对此进行了讨论。 在哥本哈根大学和纽约大学的几位研究人员最近发表的一篇综述文章中,他们对视频游戏深度学习领域的最新进展进行了梳理和回顾,并详细介绍了各种游戏研究平台和技术的演进历史。相关深度学习方法。 还讨论了重要的开放挑战。 作者表示,写这篇论文的目的是从不同类型游戏的角度回顾这一研究领域,指出它们对深度学习的挑战,以及如何利用深度学习来玩这些游戏。
我们感兴趣的是在没有前向模型的情况下使用像素数据或特征向量玩特定视频游戏(而不是像围棋这样的棋盘游戏)的方法。
值得注意的是,虽然本文收集并讨论了大量的游戏AI,但仍有很多内容没有在本文中涉及——游戏AI是一个广阔而多样化的领域。 本文的重点是如何使用深度学习方法更好地玩视频游戏,但也有很多关于如何以可靠、有趣或类人的方式玩游戏的研究。 人工智能技术还用于对玩家行为、体验或偏好进行建模,或生成游戏内容(例如游戏难度、纹理或规则)。 深度学习并不是游戏中使用的唯一人工智能方法。 其他著名的方法包括蒙特卡罗树搜索和进化计算。 接下来,读者需要记住,这篇评论文章的范围仍然非常有限。
本文将简要介绍本文的核心内容,并重点介绍深度学习技术在游戏AI中的历史演进。
论文标题:视频游戏深度学习
摘要:在本文中,我们将回顾近年来深度学习的进展,重点讨论如何使用深度学习技术来玩不同类型的视频游戏3D道具,例如第一人称射击游戏、街机游戏和即时策略游戏。 我们分析了不同游戏类型对深度学习系统的独特要求,并重点关注将这些机器学习方法应用于视频游戏时的重要开放挑战(例如一般游戏玩法、应对大决策空间和稀疏奖励)。 信号)。
游戏中的深度学习
人工神经网络的架构大致可以分为两类。 一类是前馈和循环神经网络(RNN)。 前馈网络采用单个输入(例如游戏状态的表示)并输出每个可能动作的概率值。 另一类是卷积神经网络 (CNN),它由可训练的滤波器组成,适合处理图像数据,例如视频游戏屏幕中的像素。
RNN 通常应用于时间序列数据,其中网络的输出取决于先前时间步骤的激活。 RNN 的训练过程与前馈网络类似,只不过网络的前一个隐藏状态与下一个输入一起反馈到网络。 这使得网络能够通过记住之前的激活来实现上下文感知,这在单个观察不代表完整状态的游戏中非常有用。 对于 shi'pi 视频游戏,通常使用一堆卷积层,然后是循环层和完全连接的前馈层。
机器学习任务主要分为三类:监督学习、无监督学习、强化学习。 这些任务类型中的方法通常基于梯度下降优化。
1.监督学习
在监督学习中,模型是根据样本进行训练的。 大数据集通常有利于提高模型性能。 在游戏中,这些数据可以来自游戏痕迹(即游戏中的人类记录),这些数据可以用来训练代理学习从输入状态到输出动作的映射。
虽然现有数据允许代理快速学习最佳实践,但生成的模型通常很脆弱; 可用数据的生成成本可能很高,并且可能会缺少代理应处理的关键场景。 对于游戏的玩法,算法也仅限于数据中可用的策略,无法自行探索新的算法。 因此,监督算法经常与强化学习算法和一些额外的训练相结合,应用于游戏中。
监督学习在游戏中的另一个应用是学习游戏状态转换。 神经网络可以学习预测动作-状态对的下一个状态,而不是为给定状态生成动作。
2.无监督学习
无监督学习的目标不是学习数据与其标签之间的映射,而是发现数据中的模式。 这些算法可以学习数据集的特征分布,并可用于对相似数据进行聚类、将数据压缩为基本特征或创建原始数据特征的新合成数据。 对于奖励稀疏的游戏,例如《蒙特祖玛的复仇》,以无监督的方式从数据中学习是一种潜在的解决方案,也是一个重要的开放式深度学习挑战。
深度学习中一个重要的无监督学习技术是自动编码器,它是一种试图学习使输入与输出一致的神经网络。 该网络由两部分组成:将输入 x 映射到低维隐藏向量 h 的编码器,以及尝试从 h 重建 x 的解码器。 主要思想是,为了使 h 保持较小,网络必须学习压缩数据,从而学习良好的表示。 研究人员将这种无监督算法应用到游戏中,可以从高维数据中提取出更有意义的低维数据。 但这一研究方向仍处于早期阶段。
3. 强化学习
在强化学习 (RL) 中,智能体通过与向智能体提供奖励信号的环境交互来学习行为。 视频游戏可以轻松地建立强化学习的环境,并且玩家被建模为可以在每一步采取一组有限动作的代理。 奖励信号可以由游戏得分来确定。
在强化学习中,智能体依赖于奖励信号。 这些信号可能频繁出现,例如游戏期间得分的变化,也可能不经常出现数据报告,例如使用获胜或失败作为奖励信号。 视频游戏可以与强化学习很好地结合起来,因为大多数游戏都会为成功的策略提供奖励。 但开放世界游戏(Open world games)并不总是有明确的奖励模型,因此它们对 RL 算法具有挑战性。
游戏类型和研究平台
深度学习方法的快速发展无疑受益于公共数据集的评估。 游戏AI也类似。 一款游戏AI算法的好坏完全取决于游戏中得分多少或者能否赢得比赛。 像 IEEE 计算智能和游戏会议这样的会议在各种游戏环境中进行了广泛的竞争。
论文详细介绍了深度学习相关的各种流行游戏和研究平台的特点和挑战,这里不再赘述。
深度学习技术历史
上图展示了各种深度学习方法及其交互的示意图(下面的部分相当于对该图的长篇解释)。 图中的每种方法都用彩色显示,以显示用于比较的游戏基准。
DQN 是一种有影响力的算法,它将基于梯度的深度学习应用于基于像素的视频游戏,最初用于 Atari 基准测试中。 请注意,有一些早期的方法,但没有一个像 DQN 那样成功。 Double DQN 和 Dueling DQN 是 DQN 的早期扩展,它们使用多个网络来改进估计过程。 DRQN 使用循环神经网络作为 Q 网络。 优先 DQN 是另一个早期扩展,它结合了改进的体验播放采样技术。 Boostrapped DQN 建立在 Double DQN 的基础上,并采用了不同的改进采样策略。 Atari游戏中DQN的进一步改进包括:C51算法,它基于DQN但改变了Q函数; Noisy-Nets,将网络随机化以帮助模型探索; DQfD,也从示例中学习; 结合了许多最先进的 Rainbow 模型。
Gorila 是第一个基于 DQN 构建的异步方法,随后是 A3C 方法,该方法使用多个异步代理作为 actor-critic 方法。 2016年底棋盘游戏开发,UNREAL进一步扩展了这一概念,将现有工作与辅助学习相结合,以应对稀疏的反馈环境。 从那时起,出现了许多 A3C 技术的附加扩展。 IMPALA 进一步扩展了这一点,重点关注经过训练可以玩所有 Atari 游戏的代理。 2018年,随着Ape-X的诞生,该领域大规模分布式学习的研究不断发展。
进化计算技术也在视频游戏中得到了复兴。 首先,萨利曼斯等人。 证明进化策略可以与该领域的深度强化学习竞争[121]。 随后,Uber AI 又发表了两篇论文:一篇表明不涉及推导的进化算法可以与深度强化学习竞争,另一篇是进化策略(ES)的扩展。 这些努力受益于简单的并行化,并且可能在探索过程中具有一定的优势。
Atari 游戏在引入 DQN 前后使用的另一种方法是置信区域策略优化。 该方法更新根据环境更新的替代目标函数。 2017 年晚些时候,引入了近端策略优化棋盘游戏开发,作为一种更强大、更简单的替代优化方案,该方案也借鉴了 A3C 的创新。 一些缩放方法是专门为游戏《蒙特祖玛的复仇》(ALE 基准测试中包含的游戏之一)开发的,由于奖励信息稀疏和信息隐藏问题,该方法特别困难。 在《蒙特祖玛的复仇》中表现最好的算法是具有内在动机和分层学习的扩展 DQN。 吃豆人也是一款非常著名的 Atari 游戏,研究人员分别学习其不同部分的奖励函数,以使代理对新环境更加鲁棒。
Doom 是 2016 年使用的另一个新基准。这款游戏的大部分工作旨在扩展为 Atari 设计的方法,以处理更丰富的数据。 A3C+渐进式学习(课程学习)的方法提出将渐进式学习与A3C相结合。 DRQN+辅助学习方法通过在训练过程中添加额外的奖励来扩展DRQN。 DQN + SLAM 将 DQN 与未知环境映射技术相结合。
DFP 广告管理系统是唯一不扩展 Atari 使用的技术的方法。 正如 UCT 对 Atari 游戏进行分类一样,他们将台球分类为以对象为中心的预测任务 [36],将赛车分类为直接感知任务,DFP 使用监督学习来学习游戏。 除了UCT的分类结果之外,所有这些技术都学习直接预测游戏的未来状态并根据这些信息做出预测。 这些来自不同时代的作品没有一个是互相引用的。 除了直接感知之外,赛车游戏领域唯一独特的工作是Deep DPG,它扩展了DQN以用于连续控制。 这项技术已扩展到机器人足球比赛。
2016年底,研究人员基于Q-learning对星际争霸游戏中的微控制(单元控制)进行了研究。 IQL 通过将所有其他代理视为环境的一部分来扩展优先 DQN。 COMA 通过计算反事实奖励(增加每个代理的边际收入)来扩展 IQL。 biCNet和零阶优化也基于强化学习方法,但并非源自DQN。 另一种流行的方法是分层学习。 2017年,研究人员通过将回放数据技术与分层学习相结合,做出了相关尝试。 2018年,通过将两种不同的强化学习方法与分层学习方法相结合,取得了最佳性能。
2016 年发表的一些作品将 DQN 扩展到了 Minecraft 游戏中。 大约在同一时间,研究人员开发了使 DQN 具有上下文感知能力并对其进行模块化的技术,使其能够应对大型状态空间。 最近,渐进式学习技术也被应用到了《我的世界》中。
2015年,DQN被应用于文字冒险游戏。 不久之后,它被修改为特定于语言的文本冒险游戏的架构,使用“状态-动作”对的相关性作为 Q 值。 这些游戏的大部分工作都集中在显式语言建模上。 “golovin ai agent”和“Affordance Based Action Selection”都使用神经网络学习语言模型,为智能体玩游戏提供了动作选择机制。 最近,2018 年,研究人员再次将 DQN 与行动消除网络结合使用。
先前算法的融合和扩展已被证明是将深度学习应用于视频游戏的一个有前途的方向,Atari 是强化学习最流行的比较基准。 另一个明显的趋势(如表 2 所示)是对并行计算的关注:在多个 CPU 和 GPU 之间分配工作。 并行计算最常见于 actor-critic 方法(例如 A2C 和 A3C)和进化计算方法(例如 Deep GA 和进化策略)。 分层强化学习、内在动机学习和迁移学习是当前视频游戏开发亟待解决的问题,也是值得探索的新方向。
仍然存在的挑战
尽管深度学习在视频游戏中取得了显着的成果,但仍然存在许多重要的开放挑战。 事实上,如果我们十年或二十年后回顾当前的研究,我们很可能将当前的研究视为重大研究的早期阶段。 论文中,作者将游戏AI当前面临的挑战分为四大类——代理模型属性、游戏产业、游戏内学习模型、计算资源等,并进行了详细分析。 这里我们仅简单介绍一下“代理模型属性”这个开放性问题。
1. 一般视频游戏
解决单一问题并不聪明。 如何设计一个可以玩所有视频游戏的通用游戏AI代理是一个重要的挑战。
2. 克服奖励稀疏、延迟或欺骗性的问题
像《蒙特祖玛的复仇》这样奖励稀疏的游戏对于大多数深度强化学习方法来说仍然是一个挑战; 尽管最近将 DQN 与内在动机或专家演示相结合的进展可以有所帮助,但对于当前具有稀疏奖励游戏玩法的深度强化学习方法来说,这仍然是一个挑战。
3. 多智能体学习
目前的深度强化学习方法主要涉及训练单个智能体。 已经有一些关于少数智能体合作的研究,但如何将这些研究扩展到更多智能体仍然是一个开放的挑战。
4.终生适应
当玩家总是在 FPS 地图中的同一位置遭到伏击时,人类玩家可以快速改变自己的行为; 然而,目前大多数特工需要昂贵的再培训来适应这种情况以及他们在培训期间没有遇到的情况。 其他不可预见的情况。
5. 人形游戏
大多数方法对代理进行建模通常只考虑游戏得分。 但如果人类需要在视频游戏中与基于人工智能的机器人对抗或合作,其他因素也会发挥作用。 人形游戏是一个活跃的研究领域。
6. 可调节的性能水平
目前几乎所有关于深度学习游戏的研究都旨在创建能够获得尽可能高分数的智能体。 但出于游戏测试、创建教程和演示游戏的目的,能够创建具有特定技能水平的代理非常重要。
7. 处理巨大的决策空间
虽然国际象棋的平均分支因子约为 30,围棋的平均分支因子约为 300,但《星际争霸》等游戏的分支因子要高出几个数量级。 虽然进化规划的最新进展允许在具有更大分支因子的游戏中进行实时和长期规划,但如何将深度强化学习扩展到如此复杂的水平是一个重要的开放挑战。