来源:ArXiv
作者:Kai Arulkumaran, Marc Peter Deisenroth,
Miles Brundage, Anil Anthony Bharath
编译整理: 文强,朱焕
【新智元导读】
深度强化学习将有助于革新AI领域,它是朝向构建对视觉世界拥有更高级理解的自主系统迈出的一步。本文将涵盖深度强化学习的核心算法,包括深度Q网络、置信区域策略优化和异步优势actor-critic算法(A3C)。同时,重点介绍深度强化学习领域的几个研究方向。
本文预计在IEEE信号处理杂志“图像理解深度学习”专刊发表。
作者
Kai Arulkumaran
是伦敦帝国理工大学的博士生
,Marc Peter Deisenroth
是伦敦帝国理工大学的讲师
,Miles Brundage
是亚利桑那州立大学博士生
,Anil Anthony Bharath
是伦敦帝国理工大学的
Reader。
摘要
深度强化学习将有助于革新AI领域,它是朝向构建对视觉世界拥有更高级理解的自主系统迈出的一步。目前,深度学习使强化学习能够扩展到解决以前难以解决的问题,比如直接从像素学习玩视频游戏。深度强化学习算法也适用于机器人领域,让机器人能直接从现实世界的摄像机输入中学习控制策略。在本次调查中,我们将首先介绍一般的强化学习,然后逐步推进到主流的基于价值和基于策略的方法。我们的调查将涵盖深度强化学习的核心算法,包括深度Q网络、置信区域策略优化和异步优势actor-critic算法(A3C)。同时,我们强调了深度神经网络的独特优势,重点介绍通过强化学习进行视觉理解。最后,我们介绍了该领域当前的几个研究方向。
引言:深度强化学习已被用于解决各种问题,最终将成为通用AI的重要部分
人工智能(AI)领域的主要目标之一是制作全自主的智能体,能通过与周围环境互动学习优化自己的行为,通过不断试错改善自我。打造反应灵敏、能有效学习的AI一直是长期的挑战,无论是机器人(可以感觉和对周围世界做出反应)还是纯粹的基于软件的智能体(通过自然语言和多媒体进行互动)。对于这种由经验驱动的自主学习,一个主要的数学框架是强化学习(RL)。虽然RL在过去有一些成功,但以前的方法缺乏可扩展性,而且固有地局限于相当低维度的问题。这些限制之所以存在,是因为RL算法也有其他算法那样的复杂性问题:内存复杂度、计算量复杂度,具体到机器学习算法,还有样本复杂度。最近我们所见到的——深度学习的兴起,依靠深度神经网络强大的函数逼近和表示学习性质——为我们提供了新的工具,去克服这些问题。
深度学习的出现对机器学习中的许多领域产生了重大影响,大大提高了物体检测、语音识别和语言翻译等任务的state-of-the-art成绩。深度学习最重要的特点在于,深度神经网络可以自动发现高维度数据(例如,图像、文本和音频)的紧凑的低维表示(特征)。通过将推演偏差(inductive biases)融入到神经网络架构中,特别是融入到层次化的表示中,机器学习从业者在解决维度诅咒方面取得了有效进展。深度学习同样加速了RL的发展,使用RL内的深度学习算法提出了“深度强化学习”(DRL)方向。这项调查的目的是介绍DRL的最新重要发展,介绍使用神经网络更接近开发自主智能体的创新方式。
深度学习使RL可以扩展到解决以前难以处理的决策问题,即具有高维状态和动作空间的情景。在最近的DRL领域的工作中,有两个杰出的成功案例。第一个是开发一种可以直接从图像像素学习的算法,在一系列Atari 2600视频游戏中表现都超越了人类水平。这项工作为RL中的函数逼近不稳定提供了解决方案,第一次令人信服地证明RL智能体可以仅基于奖励信号,使用原始的高维度观察信息进行训练。第二个突出的成就是开发了一个混合的DRL系统AlphaGo,在围棋中击败了一个人类世界冠军,与20多年前IBM Deep Blue的历史性成就和IBM Watson的DeepQA系统相媲美。与主导棋牌系统的手工定制的规则不同,AlphaGo由使用监督学习和强化学习训练的神经网络,结合传统的启发式搜索算法而成。
DRL算法已被应用于各种各样的问题,例如机器人技术,创建能够进行元学习(“学会学习”learning to learn)的智能体,这种智能体能泛化处理以前从未见过的复杂视觉环境。在图1中,我们展示了应用DRL的一些领域,从玩视频游戏到室内导航。
视频游戏是一个有趣的挑战,但学习如何玩游戏不是DRL的最终目标。DRL背后的驱动力之一是创造能够在现实世界中学习如何适应环境的系统。从管理电力消耗到拾取和收集物体,DRL通过学习来增加可以自动化的物理任务的数量。然而,DRL并不止于此,因为RL是通过试错接近优化问题的一般方法。从设计最先进的机器翻译模型到构建新的优化函数,DRL被用于处理各种机器学习任务。就像深度学习被广泛用于各种机器学习分支任务一样,未来DRL也很可能将是构建通用AI系统的一个重要组成部分。
在研究深度神经网络对RL的贡献之前,我们将介绍一般的RL领域。RL的本质是通过互动学习。RL智能体与其环境进行交互,在观察到其行为的后果时,可以学习改变自己的行为以对得到的回报做出响应。这种试错法的范例源于行为心理学,是RL的主要基础之一。对RL的另一个关键影响是最优控制,是数学形式主义(尤其是动态规划)的概念。
在RL设置中,由机器学习算法控制的自主智能体在时间步长t观察其环境中的状态st。当智能体采取动作时,环境和智能体将根据当前状态和所选动作转换到新状态st+1。状态是一个足够静态的环境,包括了智能体采取最佳行动的所有必要信息。行动的最佳顺序由环境提供的奖励决定。每当环境转变到新的状态时,它还会向智能体提供一个标量奖励值+ 1作为反馈。智能体的目标是学习最大限度地提高预期收益(累积、贴现奖励)的策略(控制策略)π。给定一个状态,一个策略返回一个执行动作;最优策略是使环境中预期回报最大化的任何策略。在这方面,RL旨在解决与最佳控制相同的问题。然而,RL中的挑战是智能体需要通过反复试验了解环境中行为的后果,因为与最优控制不同,智能体不能使用状态转换动态模型。与环境的每一次互动都会产生信息,智能体用它来更新其知识,这种感知-行动-学习循环在下图中展示了出来。
A. 马尔科夫决策过程
RL可被描述为一种马尔科夫决策过程(MDP)。RL的关键概念是Markov属性,即仅当前状态影响下一状态,换句话说,未来有条件地独立于给定当前状态的过去。虽然这个假设是由大多数RL算法来实现的,但它有些不现实,因为它要求状态是完全可观察的。MDP的一种泛化形式是部分可观察的MDP(POMDP),在POMDP中智能体接收到一个状态的分布,取决于当前状态和前一个行动的结果。深度学习中更常见的一种方法是利用循环神经网络(RNN),与神经网络不同,RNN是动态系统。这种解决POMDP的方法与使用动态系统和状态空间模型的其他问题有关,其中真实状态只能去估计。
B. 强化学习的挑战
指出RL面临的一些挑战对了解DRL具有启发:
-
最优策略必须通过与环境互动试错来学习。唯一的学习信号是智能体收到的是奖励。
-
智能体观察到的信息取决于其行为,可能包含强烈的时间相关性
-
智能体必须处理远程时间依赖关系:通常,一个行动的后果要经过环境很多次转变才会实现。这也被称为(时间)信用分配问题
以室内机器人视觉导航任务为例:如果指定了目标位置,我们可能能够估计剩余距离(并将其用作奖励信号),但是我们不可能知道机器人究竟会采取哪些行动达到目标。由于机器人在导航建筑物时必须选择去哪里,它的决定会影响到它看到的房间,因此影响了所捕获的视觉序列的统计。最后,在导航几个路口后,机器人可能会发现自己处于死胡同。从学习行动的后果到平衡探索都存在种种问题,但最终这些都可以在RL的框架内正式解决。
价值函数
A. 函数逼近和DQN
我们对基于价值函数的DRL算法的讨论,从深度Q网络(如下图所示)开始,该算法在经典Atari 2600视频游戏中获得了普遍的成功,性能堪比专业的视频游戏测试人员。DQN的输入是游戏的四个灰度帧,随着时间的推移连接,最初由几个卷积层处理,以便提取时空特征,例如“Pong”或“Breakout”中球的移动。最终,来自卷积层的特征图由几个全连接的层来处理,这更多隐含编码地动作的效果。这与使用固定预处理步骤的更传统的控制器形成对照,因此,它们不能适应其对学习信号的状态处理。
DQN与Lange等人提出的模型密切相关,但是DQN是第一个被证明可以直接从原始的视觉输入学习并且在多种环境中工作的RL算法。DQN最终的全连接层输出一组离散的动作,这不仅能够在网络的单次向前传递之后选择最佳动作,而且允许网络更容易地在较低卷积层中编码与动作无关的知识。DQN的目的只有一个,最大限度地提高视频游戏的分数,仅仅如此,智能体就学会了提取突出的视觉特征,联合对物体、运动以及彼此的交互进行编码。使用最初开发用于解释CNN在物体识别任务中的行为的技术,我们还可以查看智能体认为视图中重要的部分(参见下图)。
DQN通过使用两种技术来解决在RL中使用函数逼近的基本不稳定性问题:经验重放和目标网络。经验重放使得RL智能体能够从先前观察到的数据离线进行抽样和训练。这不仅大大减少了环境所需的交互量,而且可以对一批经验进行抽样,减少学习更新的差异。此外,通过从大存储器均匀采样,可能对RL算法产生不利影响的时间相关性被打破了。最后,从实际的角度看,可以通过现代硬件并行地高效地处理批量的数据,从而提高吞吐量。虽然原始DQN算法使用均匀采样,但后来的工作表明,基于TD误差的优先级样本对于学习更有效。虽然经验重放通常被认为是一种无模型技术,但实际上它可以被认为是一个简单的模型。
Mnih等人引入的第二种稳定方法,是使用一个目标网络,这个目标网络最初包含执行策略的网络的权重,但是被冻结住很长时间。基于其自身快速波动的Q值估计,不必计算TD误差,策略网络使用固定的目标网络。在训练过程中,目标网络的权重将被更新,以便在固定数量的步骤之后与策略网络匹配。 经验重返和目标网络已经在随后的DRL工作中得到使用。
B. Q函数修正
将DQN的关键部分之一视为Q函数的一个函数逼近,可以受益于RL的基本进步。van Hasselt 显示了,在Q学习更新规则中使用的单个估计器高估了使用最大动作值作为最大预期动作值的近似值而导致的预期回报。双重学习通过使用双重估计来提供更好的估计。虽然双重Q学习需要额外的函数来学习,后来的工作提出使用DQN算法中已有的目标网络,从而在只发生很小的变化的情况下得到了更好的结果。
调整DQN架构的另一种方法是将Q函数分解为有意义的函数,例如通过将计算状态值函数V和优势函数Aπ的不同层相加在一起构建Qπ。Duelling DQN 不会计算出所有行动的精确Q值,而是将以Vπ的形式从状态的单一基准中受益。Duelling DQN与优先经验重放(prioritised experience replay)的结合,是离散动作设置条件中最先进的技术之一。
Gu等人进一步了解Aπ的性质后,用凸优势层修改DQN,扩展了算法对连续动作的集合,创建了归一化优势函数(NAF)算法。受益于经验重放、目标网络和优势更新,NAF是连续控制问题中几种最先进的技术之一。
策略搜索
策略搜索方法旨在通过无梯度或梯度方法直接查找策略。在目前大家对DRL的兴趣激增之前,DRL中的几个成功的方法没有使用常用的反向传播算法,而是选择了遗传算法,后者便是无梯度的策略搜索算法。遗传方法依赖于评估一组智能体的表现。因此,对于具有许多参数的一大群智能体来说遗传算法的使用成本很高。然而,作为黑盒优化方法,它们可以用于优化任意的不可微分的模型,并且天然能够在参数空间中进行更多的探索。结合神经网络权重的压缩表示,遗传算法甚至可以用于训练大型网络;这种技术也带来了第一个直接从高维视觉输入学习RL任务的深度神经网络。由于遗传算法能比依赖梯度的技术分布在更大的规模,最近又有工作重新燃起了对RL遗传方法的兴趣。
A. 通过随机函数进行反向传播
话虽如此,DRL的主力仍然反向传播。REINFORCE规则让神经网络能以任务相关的方式学习随机策略,例如决定在哪里查看图像以进行跟踪、分类或生成图说。在这些情况下,随机变量将决定图像的小部分坐标,从而减少所需的计算量。使用RL进行离散、随机的决策,在深度学习文献中被称为“hard attention”,是近年来基础策略搜索方法中引人注目的一个方向,在传统的RL域之外有许多应用。策略搜索中的一个引入注意的新方法是置信区域策略优化(TRPO),通过防止策略过于偏离过去的策略,保证政策的逐步改进。在标准策略梯度方法之上,TRPO使用置信区域的概念,将优化步骤限制在真实成本函数的近似值所在的区域内。与以前的作品相比,TRPO将每个策略更新限制为与当前策略的固定KL分离,从而导致动作条件p(a | s),这对于当前网络更为可行。以后Schulman等人的工作引入了广义优势估计(GAE),为策略梯度方法提出了更先进的方差减少基线。TRPO和GAE的组合仍然是连续控制中最先进的RL技术之一。
B. Actor-Critic方法
Actor-Critic方法将策略搜索方法的优点与学习到的价值函数结合起来,从而能够从TD错误中学习,近来很受欢迎。AC方法可以从策略梯度方法的改进中受益,如GAE和价值函数方法,如目标网络。在过去几年中,DRL AC方法已经从图像像素直接从学习模拟物理任务,还被应用到真正的机器人视觉导航任务中。
AC算法最近的一个发展是确定性政策梯度(DPG),它将随机策略的标准策略梯度定理扩展到确定性策略。DPG的一个主要优点是,虽然随机策略梯度在状态和行动空间上都融合在一起,但DPG仅在状态空间上整合,在较大的行动空间中需要较少的问题样本。在DPG的初步工作中,Silver等人介绍并展示了一种离线策略AC算法,该算法在高维连续控制问题中的随机策略梯度有了相当大幅度地提高。后来的工作介绍了深度DPG(DDPG),DDPG利用神经网络来操作高维视觉状态空间。与DPG一样,Heess等人设计了一种用于计算梯度来优化随机策略的方法,通过“重新参数化”处理网络的随机性,从而能使用标准梯度(而不是高变化REINFORCE估计器)。所得到的随机价值梯度(SVG)方法十分灵活,可以与价值函数critic(或学习模型)一起使用,也可以在没有价值函数critic(或学习模型)的情况下单独使用。随后的工作就是将DPG和SVG与RNN集成在一起,从而可以解决POMDP中的连续控制问题,直接从像素学习。
原始的A3C算法已经取得了几个重大进展,反映了DRL领域的各种动机。第一个是具有经验重放的AC算法,能够使用经验重放来提高样本的复杂性。其他人试图弥合价值与策略RL之间的差距,利用理论进步改善原有的A3C。最后,利用辅助任务来改进DRL学习到的表示,提高了智能体的学习速度和最终性能。
总而言之,我们将强调目前深度强化学习的一些研究领域以及仍然存在的挑战。先前,我们主要关注非模型的方法,但是我们现在将详细检查几个基于模型的深度强化算法。基于模型的强化学习算法在提高强化学习的数据有效性方面起着重要的作用, 也有助于对算法的探索性方面和开发性方面进行平衡。在处理了各种探索性策略后,我们将处理层次化强化学习(HRL),这种算法通过将内容分解为多个层次,向最终决策中引入了归纳性偏见(inductive bias)。当可以获得相关资源时,也可以用其他系统控制器的学习轨迹来引导学习过程,从而引导我们进入模仿学习和逆向强化学习。接着,我们将考察多主体系统,这些系统具有自己的特殊性。之后,我们会将目光转向两个更广阔的领域:在深度强化学习的背景下使用循环神经网络和迁移学习。此后,我们将考察应该如何评估强化学习,以及深度强化学习的现有基准测试有哪些。
A. 基于模型的强化学习
基于模型的强化学习背后的关键思想是: 去学习一个转变性模型,这个模型让我们能够模拟环境,但却不必直接与环境交互。基于模型的强化学习不会假定任何特定的先验知识。但是,实践中,我们可以结合先前的知识(例如物理模型)来加快学习。模型学习的重要作用是,减少需要与真实环境进行互动的次数,因为在实践中这种互动可能是受限的。例如,让机器人在有限时间内执行数百万次实验、且不产生重大的硬件损耗,这是不切实际的。有各种各样的方法,能够利用像素信息来学习动力系统的预测模型。基于深度动力学模型,通过将高维度观察信息用自动编码器嵌入到低维空间,已经有几个基于模型的深度强化学习算法已被用于学习来自像素信息的模型和策略。
如果能学习获得一个足够准确的环境模型,那么即使是简单的控制器也可以用来直接通过相机图像控制机器人。学习模型也可以通过对环境的模拟来指导探索活动,深度模型还进一步允许将这些技术扩大到高维视觉领域。
虽然深度神经网络可以在数百个时间步长的模拟环境中做出合理的预测,他们通常需要许多样本来调节大量的参数。与简单模型相比,训练这些模型通常需要更多的与环境互动的样本。因此,Gu等学者训练了用于NAF算法的局部线性模型(该模型等价于DQN)来改善算法在机器人领域的样本复杂度,因为在该领域中样本通常价格昂贵。看起来,由于能提高神经网络的数据有效性,在基于模型的深度强化模型中使用深度模型这种进路将会得到更广泛的应用。
B.探索与开发
强化学习的最大困难之一是,在探索性活动与开发性活动之间的两难困境:什么时候主体应该去尝试那些自认为的非最佳行动以便探索环境并改善模型,什么时候主体应该进行最佳行动,以便获得有用的进展?
DQN等离线策略算法通常使用简单ϵ-贪婪探索策略,以ϵ in [0,1] 的概率随机选择是否执行最佳动作。通过逐步减少ϵ 的取值,随着时间的推移,主体逐渐从探索过渡到开发。虽然加入独立探索噪声可用于解决连续控制问题,更复杂的策略是注入在时间过程中彼此相关的噪声,以便更好地保持动量。
由于观察到时间相关性很重要,Osband等人提出了自举性DQN。这种算法维持着若干个Q值“头部”,它们可以通过联合不同的初始权重和来自经验重放记忆的自举性取样来学习不同的值。在每个训练期的开始,都会选择一个不同的“头部”,由此来引导在时间上扩展的探索。Usunier 等人之后提出了一种类似的方法来探索策略空间,通过添加噪声来筛选输出的“头部”,使用零阶梯度估计来允许策略的反向传播。
一个重要的探索性策略是上信度限制(UCB)算法,它所依据的是“以乐观策略面对不确定性”这个想法。UCB算法背后的想法是,选择能够最大化E[R]+kσ[R]的算法 其中σ[R]是回报值的标准差且k>0。这样, UCB 能够在那些具有高度不确定性和中等程度的预期回报的区域中进行探索。这种算法不仅容易在小型案例中实现,现在使用强大的密度模型已经可以将这个算法扩展到高维度的具有深度强化学习的视觉领域。 UCB只是在贝叶斯优化的背景下对探索和开发进行平衡的算法之一。未来对贝叶斯优化算法的其他研究也将令深度强化学习受益。
UCB也可以被认为是一种实现“内在动机”的方式,而这种内在动机的一般概念倡导在对环境的学习过程中减少不确定性和取得进展。已经有几种深度强化学习算法试图通过最小化模型预测误差或最大化信息增益来实现内在动机。
C.层次性强化学习
正如深度学习依赖于各种特征的层次等级那样,层次性强化学习依赖各种政策的层次结构。这个领域的早期工作引入了“选项”的概念。在“选项”中,一个策略除了可以执行单时间步骤的最简单行动之外,也可以运行其他策略,从而产生多时间步骤的行动。这种方法允许让顶级策略则侧重于更高层次的目标,同时让下级策略来负责精细管理。 有几个深度强化学习的工作都采用了层次性强化学习,它们使用一个顶级策略在不同的下级策略之间进行选择,而对状态和目标的区分则要么手动实现,要么自动实现。其中有助于构建子策略的方式是,聚焦于是发现和实现目标,而目标可以被看作是环境中的特定状态。这些目标可以是特定的空间位置,这样主体可以把自己导航到那里。不论是否使用层次性强化学习,对目标的发现和泛化都是现有研究的重要方面。