近年来,强化学习为游戏开发带来了新的机遇,Paidia 项目便是最近的成果之一。该项目由微软剑桥研究院与游戏开发商 Ninja Theory 合作开发,不仅推进了强化学习的前沿技术,创造了全新的游戏体验,还开发了能够真正与人类玩家展开团队合作的游戏智能体。本文将详细介绍 Paidia 项目的三项最新研究成果,以及它们将如何引领现代视频游戏的开发,和其他现实应用领域中的AI创新。本文编译自微软研究院博客文章“Three new reinforcement learning methods aim to improve AI in gaming and beyond”。
强化学习(Reinforcement Learning,简称 RL)近些年的发展为游戏开发带来了令人兴奋的新机遇,与传统技术相比,强化学习可以提供指向高等级目标的奖励信号,并让游戏角色为游戏互动中自然出现的数据驱动行为,制定出获得高额奖励的最优策略,从而有助于设计出更加生动的游戏角色。
由微软剑桥研究院游戏智能组与游戏开发商 Ninja Theory 合作开发的 Paidia 项目(点击阅读原文,了解更多项目信息),致力于推进强化学习的前沿技术,以创造全新的游戏体验。特别值得一提的是,该项目专注于开发能够真正与人类玩家展开团队合作的游戏智能体。
Paidia 项目研究面临的关键挑战在于,对于游戏开发者而言,如何让强化学习变得高效且可靠(例如,通过将其与不确定性估计和模仿学习相结合);如何构建深度学习架构,并赋予游戏智能体合适的能力(例如长期记忆);以及如何让游戏智能体快速适应新的游戏情境。下面将重点介绍一下基于这三个主要挑战,所进行的最新的研究进展。
深度学习决策系统的
不确定性估计,可以更准确
从计算机视觉到强化学习和机器翻译,深度学习无处不在,并在很多实验中取得了近乎完美的效果。只需提供一个数据集,系统就能够根据深度学习模型的“最佳推断”进行预测。未来,深度学习将会越来越多地应用于预测具有深远影响,且一旦判断失误便会付出沉重代价的场景中。
不过大多数深度学习模型所采用的“最佳推断”方法的确定性并不充分。实际上,人们需要技术不仅能提供预测结果,还要提供相关的确定性程度。微软在 ICLR 2020 上发表的论文“通过拟合先验网络进行保守的不确定性估计”(Conservative Uncertainty Estimation By Fitting Prior Networks)便对这一问题进行了探索,并提出了随机网络蒸馏(RND,Random Network Distillation)的分析方法,该方法可用于估计深度学习模型的置信度。
图1:预测函数(绿色)和先验函数(红色)在可见数据上达成共识(左),而在不可见数据上未达成共识(右)。研究员们将某一点上不确定性的估计值定义为“先验值与预测值之间的差距”。
在分析的 RND 版本中,不确定性模型和预测模型是相互独立的。其中有两种类型的神经网络:预测函数(绿色)和先验函数(红色)。先验神经网络是固定的,不会在训练期间发生改变。当发现一个新的数据点时,模型会训练预测变量对该点上的先验函数值进行适配。可以看到,在数据点附近,预测函数和先验函数是重叠的。而如果观察右侧的值,则会发现预测函数和先验函数之间存在巨大差距,与已观察到的数据点相差甚远。
论文结果表明,先验值和预测值之间的差距准确地反应了模型对其输出结果确定性的影响。实际上,在对比了所获得的不确定性估计值与不确定性量化的黄金标准——通过贝叶斯推断得出的后验值之后,可以看到两个很有吸引力的理论特性。首先,RND 返回的方差总是高于贝叶斯后验方差,这就是说,尽管 RND 返回的不确定性偏高,但它不会低估不确定性;其次,也证明了不确定性会收敛,也就是说,在用观察数据对模型进行多次训练后,不确定性最终会变小。换言之,随着数据越来越多,该模型对于自己的预测将更加确定。
顺序无关的汇总记忆,
提高游戏智能体的回忆能力
在许多游戏中,玩家对周围的世界仅有局部的可观察性。要采取行动,玩家需要回忆早前在游戏中曾经见过但不在当前视线范围内的物品、地点和其他玩家。深度强化学习智能体利用递归网络(例如 LSTM 或 GRU),或者外部存储器读取和写入能力(如差分神经计算机,简称 DNC)就可以解决上述问题。
自然语言处理中经常会使用递归网络去回忆较早的内容,因为通常情况下,单词顺序对其理解十分重要。但是,智能体与游戏环境的互动过程会影响它们对周围环境的观察顺序,而这与它们的行为方式可能并无关联。举一个与日常生活相关的例子,如果一个人在一座新建筑物中行走时看到过一个消防通道,那么无论此后他经历了什么或者做过哪些事情,在某些情况下可能都需要回忆起消防通道的确切位置。在 ICLR 2020 论文 “AMRL:用于强化学习的汇总记忆”(AMRL: Aggregated Memory For Reinforcement Learning)中,微软的研究员们建议在智能体的策略网络中使用顺序无关的汇总记忆(到目前为止所看到的值的总和或其中的最大值)来解决这个问题。
图2:模型架构。从左到右分别是 LSTM、DNC、SET 和 AMRL。AMRL 基于 SET 的汇总记忆,对 LSTM 加以扩展(例如,所观察到的平均值或最大值)。
虽然培养外部存储器的读写能力(例如 DNC)也可以学习直接回忆先前的观察结果,但实际证明,其架构的复杂性要求模型具备更多与环境交互的样本,而这有可能阻碍它们在固定的计算预算内学习高性能的策略。
实验中,研究员们在“我的世界”游戏的某一关开始时,向智能体展示了一个红色或绿色立方体,告诉它们在本关结束时必须采取某种行动。在观察到某个绿色或红色立方体之后,直至观察到下一个绿色或红色立方体之前的时间里,智能体可以在当前环境中自由移动,这样可以创建出一个长度不定且互不相关的观察值序列,从而分散智能体的注意力,并让它们忘记在开始时观察到的立方体颜色。
图3:用于测试智能体记忆能力的“我的世界”迷宫俯视图(下方),以及智能体在该环境中移动时可能看到的观察样本(上方)。
通过递归网络与顺序无关的汇总记忆的整合,AMRL 既可以从最近的观察序列中推断出状态的隐藏特征,又可以回忆起过去任何时间曾经观察到的信息。这样,智能体就能够有效地回忆起立方体的颜色,并在游戏某一关结束时做出正确的决定。借助这种新的能力,智能体可以玩更复杂的游戏,甚至可以部署在非游戏应用中,即在这些应用中智能体必须在局部可见的环境中调出很久以前的回忆。
VariBAD,
自适应探索未知游戏环境
目前,几乎所有的强化学习任务以及大多数为视频游戏应用训练的强化学习智能体,都是针对单个游戏场景进行优化的。但在交互性强的游戏中,智能体的关键特征之一是不断学习和适应新挑战的能力。微软与牛津大学的研究人员合作开发的新方法,让智能体能够探索并快速适应给定的任务或场景。
在论文 “VariBAD:一种通过元学习实现贝叶斯自适应深度强化学习的良好方法”(VariBAD: A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning)中,研究员们将关注点放在了“贝叶斯自适应马可夫决策过程”(Bayes-Adaptive Markov Decision Processes)的问题上。简单来说,在这种情况下,智能体将学会与各种任务进行交互,并学会如何尽快就当前所执行任务做出推断。该研究的目标是训练出可根据对当前任务的判断,做出最佳表现的智能体,也就是“贝叶斯最优智能体”。例如,设想一个智能体,它经过训练后可以抵达各个目标位置,在游戏的某一关开始时,智能体并不确定自己应该抵达的目标位置。而“贝叶斯最优智能体”会依据自己对可能目标位置的最初设定,采取最佳的步数来降低不确定性,并达到正确的目标位置。
VariBAD 方法引入了一种灵活的编解码器体系结构,对智能体的设定分布进行建模,并根据当前设定调节其策略,以学习最优行动。通过实验证明,这种方法能够产生一种强大而灵活的解决方案,在多项研究任务中均实现了贝叶斯最优行为。目前,研究人员也正在研究如何利用此类方法让游戏智能体可以迅速适应新的游戏情境。
图4:不同探索策略的图示。(a)场景:智能体从左下方开始,在灰色区域的某处存在一个目标位置,但智能体并不知道。(b)贝叶斯最优智能体策略,系统地搜索可能的网格单元以找到目标位置,以蓝实线(到目前为止的互动)和蓝虚线(未来的互动)标示,在背景中,以灰色(p = 1 /(余下可能目标位置数量,或可能包含目标位置的格子数量)和白色(p = 0))显示简化的后验值。(c)后验采样机制对可能的目标位置(红色方块)反复采样,并采用最短路径到达该位置,这是次优策略,一旦发现目标位置,每个样本都将与真实的目标位置相匹配,则表明智能体采取了最佳行动。(d)VariBAD 学习的探索策略。灰色背景表示智能体已学习到的后验近似值。
游戏智能研究,继续开拔
微软剑桥研究院的独立研究以及与 Ninja Theory 的合作探索,围绕游戏智能主题做了不少创新性的研究。其中,研究的关键方向之一就是创建能够真正学会与人类玩家展开合作的 AI 游戏智能体——无论是基于团队作战的游戏,还是在游戏之外真实世界中的应用(例如虚拟助手)。研究人员希望能够让游戏智能体更好地侦测陌生场景,并利用示例信息加速学习,创建能够根据较少数据学习记忆长效依存关系及其后果的智能体,并让智能体可以迅速适应新的情况或人类合作者。而文章上述所介绍的研究成果,正是实现这些目标的关键步骤。
其实强化学习的入门比你想象的更容易,微软 Azure 提供了包括 Azure 机器学习(https://azure.microsoft.com/zh-cn/)在内的工具和资源,其中就包括强化学习训练环境、资料库和虚拟机等。