目录
摘要
一.引言
二.背景
三.算法
四.结果
五.相关工作
六.结论
我们将深度q学习的成功理念应用于连续行动领域。我们提出了一种基于确定性策略梯度的无模型算法,该算法可以在连续的动作空间中运行。使用相同的学习算法、网络结构和超参数,我们的算法稳健地解决了20多个模拟物理任务,包括经典问题,如cartpole摇摆,灵巧操作,腿运动和汽车驾驶。我们的算法能够找到性能与规划算法所找到的具有完全访问域的动态及其衍生的策略相竞争的策略。我们进一步证明,对于许多任务,算法可以“端到端的”学习策略:直接从原始像素输入。
人工智能领域的主要目标之一是通过未经处理的、高维的、感官输入来解决复杂的任务。最近,将用于感觉处理的深度学习(Krizhevsky等人,2012)与强化学习相结合的进展取得了重大进展,导致“深度Q网络”(DQN)算法(Mnih等人,2015)能够在许多Atari电子游戏中使用未处理的像素作为输入,达到人类水平的表现。为此,采用深度神经网络函数逼近器对动作值函数进行估计。
然而,DQN在解决高维观察空间问题的同时,却只能处理离散的、低维的行为空间。许多有趣的任务,尤其是物理控制任务,具有连续的(实值)和高维的行动空间。DQN不能直接应用于连续域,因为它依赖于找到使动作值函数最大化的动作,而在连续值情况下,每一步都需要迭代优化过程。
将深度强化学习方法(如DQN)应用于连续域的一个明显方法是将动作空间简单离散化。然而,这有许多限制,最明显的是维度的诅咒:动作的数量随着自由度的数量呈指数增长。例如,对每个关节进行最粗糙的离散化ai∈{−k, 0, k}的7自由度系统(如人体手臂)将导致一个维度为:37 = 2187的动作空间。对于需要精细控制操作的任务,情况更糟,因为它们需要相应的细粒度离散化,导致离散操作的数量激增。如此大的行动空间很难有效地探索,因此在这种背景下成功地训练dqn类网络很可能是棘手的。此外,动作空间的朴素离散化不必要地丢弃了关于动作域结构的信息,这可能是解决许多问题的必要条件。
在这项工作中,我们提出了一种无模型、off-policy的actor-critic算法,使用深度函数逼近器,可以在高维、连续的行动空间中学习政策。我们的工作基于确定性策略梯度(DPG)算法(Silver et al., 2014)(本身类似于NFQCA (Hafner & Riedmiller, 2011),类似的想法可以在(Prokhorov et al., 1997))。然而,正如我们下面所展示的,这种带有神经函数逼近器的actor-critic方法的简单应用对于具有挑战性的问题是不稳定的。
在这里,我们将actor-critic的方法与深度Q网络(DQN)最近的成功的见解相结合(Mnih等人,2013;2015)。在DQN之前,人们普遍认为使用大型非线性函数逼近器学习值函数是困难和不稳定的。DQN能够使用这种函数逼近器以稳定和鲁棒的方式学习值函数,这得益于两个创新:1。通过回放缓冲区中的样本对网络进行非策略训练,以最小化样本之间的相关性;2. 利用目标Q网络对该网络进行训练,使其在时间差异备份期间得到一致的目标。在这项工作中,我们使用了相同的思想,以及批处理归一化(Ioffe & Szegedy, 2015),这是深度学习的最新进展。
为了评估我们的方法,我们构建了各种具有挑战性的物理控制问题,包括复杂的多关节运动、不稳定和丰富的接触动力学和步态行为。其中既有经典问题,如cartpole抡起问题,也有许多新领域。机器人控制的一个长期挑战是直接从原始感官输入(如视频)中学习行动策略。因此,我们在模拟器中放置一个固定的视点摄像机,并尝试使用低维观测(例如关节角)和直接从像素进行所有任务。
我们称之为深度DPG (DDPG)的无模型方法可以使用相同的超参数和网络结构,使用低维观测(例如笛卡尔坐标或关节角)来学习所有任务的竞争策略。在许多情况下,我们还能够直接从像素中学习到好的策略,仍然保持超参数和网络结构不变。
该方法的一个关键特征是它的简单性:它只需要一个直接的actor-critic架构和学习算法,“移动部分”很少,这使得它很容易实现,并可扩展到更困难的问题和更大的网络。对于物理控制问题,我们将我们的结果与规划者(Tassa等人,2012)计算的基线进行比较,规划者可以完全访问底层模拟动力学及其衍生物(参见补充信息)。有趣的是,DDPG有时可以发现超过规划器性能的策略,在某些情况下,甚至从像素学习(规划器总是在底层的低维状态空间上进行规划)。
我们考虑一个标准的强化学习设置,包括一个智能体与环境E在离散时间步的交互。在每个时间步t,智能体接收到一个观察xt,在,采取一个行动,并收到一个标量奖励rt。在这里考虑的所有环境中,行动是实值∈I RN。一般来说,环境可能被部分观测到,因此整个观测历史中,作用对st = (x1, a1,…,在−1,xt)可能需要描述状态。这里,我们假设环境是完全观测的,所以st = xt。
智能体的行为由策略π定义,该策略将状态映射到操作π的概率分布:S→P(a)。环境E也可能是随机的。我们将其建模为一个马尔可夫决策过程,它具有状态空间S,作用空间a = I RN,初始状态分布p(s1),过渡动力学p(st+1|st, at)和奖励函数r(st, at)。
状态的回报被定义为贴现后的回报Rt = PT i=t γ(i−t)r(si, ai)的和,贴现因子γ∈[0,1]。请注意,回报取决于所选择的操作,因此也取决于策略π,并且可能是随机的。强化学习的目标是学习一种策略,使从起始分布J = Eri,si ~ E,ai ~ π [R1]的期望回报最大化。我们表示策略π的折现态访问分布为ρπ。
在许多强化学习算法中都使用了actor-critic函数。它描述了在状态st采取行动后的预期收益以及随后的策略π:
强化学习的许多方法都利用了被称为Bellman方程的递归关系:
如果目标策略是确定性的,我们可以将其描述为功能(function): S←a,避免内部预期:
期望只取决于环境。这意味着可以使用从不同的随机行为策略β生成的转换来学习Qµoffpolicy。
Q-学习(Watkins & Dayan, 1992)是一种常用的非策略算法,使用贪婪策略(s) =参数最大Q(s, a)。我们考虑参数为θQ的函数逼近器,我们通过最小化损失来优化它:
其中
虽然yt也依赖于θQ,但这通常被忽略。
由于理论性能不可能得到保证,而且实际学习往往不稳定,过去常常避免使用大型非线性函数逼近器来计算学习价值或动作价值函数。最近,(Mnih等人,2013;2015年)采用q学习算法,以便有效地使用大型神经网络作为函数逼近器。他们的算法能够从像素中学习玩雅达利游戏。为了扩展q学习,他们引入了两个主要的变化:使用回放缓冲区,以及用于计算yt的独立目标网络。我们将在DDPG上下文中使用它们,并在下一节中解释它们的实现。
直接将Q-learning应用于连续动作空间是不可能的,因为在连续空间中寻找贪婪策略需要在每个时间步上优化at;这种优化对于大型的、无约束的函数逼近器和非平凡的作用空间来说太慢了。相反,这里我们使用了一种基于DPG算法的演员-评论家方法(Silver等人,2014)。
DPG算法通过将状态确定性地映射到特定动作上,维持一个参数化的参与者函数(s|θ)µ来指定当前策略。评论家Q(s, a)在Q-learning中使用Bellman方程学习。对于参与者参数,通过对起始分布J的期望回报应用链式规则来更新参与者:
Silver等人(2014)证明了这就是政策梯度,即政策绩效的梯度2。
与Q学习一样,引入非线性函数逼近器意味着不再保证收敛。然而,为了学习和推广大的状态空间,这样的近似器显得必不可少。NFQCA (Hafner & Riedmiller, 2011)使用与DPG相同的更新规则,但使用神经网络函数逼近器,使用批量学习来获得稳定性,这对于大型网络来说是难以解决的。NFQCA的小批量版本不会在每次更新时重置策略,这是扩展到大型网络所需要的,它相当于原始的DPG,我们在这里进行比较。我们的贡献是受DQN成功的启发,对DPG进行改进,使其能够使用神经网络函数逼近器在线学习大的状态和动作空间。我们将我们的算法称为Deep DPG (DDPG,算法1)。
当使用神经网络进行强化学习时,一个挑战是大多数优化算法假设样本是独立和同分布的。显然,当样本是在一个环境中连续探索生成时,这种假设就不再成立了。此外,为了有效地使用硬件优化,必须分批学习,而不是在线学习。
在DQN中,我们使用回放缓冲区来解决这些问题。重放缓冲区是一个有限大小的缓存R.根据探索策略从环境中采样转换,元组(st, at, rt, st+1)存储在重放缓冲区中。当回放缓冲区满时,最老的样品被丢弃。在每个时间步中,actor和critic通过统一地从缓冲区中采样一小批来更新。由于DDPG是一种非策略算法,重放缓冲区可以很大,使算法能够从一组不相关的过渡中受益。
用神经网络直接实现Q学习(方程4)在许多环境中被证明是不稳定的。由于更新的网络Q(s, a|θQ)也用于计算目标值(公式5),因此Q更新容易发生发散。我们的解决方案类似于(Mnih et al., 2013)中使用的目标网络,但针对actor-critic进行了修改,并使用“软”目标更新,而不是直接复制权重。我们创建了一个行动者网络和批评网络的副本,分别为Q0(s,一个|θQ0)和µ0(s|θµ0),用于计算目标值。然后通过让它们缓慢跟踪学习到的网络来更新这些目标网络的权值:θ0←τ θ +(1−τ)θ0和τ ?1. 这意味着目标值被约束得变化缓慢,极大地提高了学习的稳定性。这个简单的改变使得相对不稳定的动作-价值函数学习问题更接近于监督学习的情况,这是一个存在鲁棒解决方案的问题。我们发现,同时拥有一个目标µ0和Q0需要有稳定的目标yi,以持续训练批评而不产生分歧。这可能会减慢学习,因为目标网络延迟了价值估计的传播。然而,在实践中我们发现,学习的稳定性大大超过了这一点。
当从低维特征向量观测中学习时,观测的不同成分可能具有不同的物理单位(例如,位置与速度),而且范围可能因环境而异。这可能会使网络难以有效学习,并可能很难找到跨环境一般化的超参数,具有不同规模的状态值。
解决这个问题的一种方法是手动扩展功能,使它们在不同环境和单位中处于相似的范围。我们通过采用深度学习的一种名为批处理归一化的新技术来解决这个问题(Ioffe & Szegedy, 2015)。该技术将小批量样本中的每个维度归一化,以获得单位均值和方差。此外,它维护平均值和方差的运行平均值,以便在测试期间(在我们的例子中,是在探索或评估期间)用于标准化。在深度网络中,它用于最小化训练期间的协方差偏移,通过确保每层接收到白化的输入。在低维情况下,我们对状态输入和动作输入之前的所有层的µ网络和Q网络的所有层使用了批处理归一化(网络的细节在补充材料中给出)。通过批处理规范化,我们能够有效地学习使用不同类型单元的许多不同任务,而不需要手动确保单元在一个设置的范围内。
在持续行动空间中学习的主要挑战是探索。像DDPG这样的非策略算法的一个优点是我们可以独立于学习算法来处理探索问题。我们通过将噪声过程N中采样的噪声添加到行动者策略µ0,构造了一个探索策略
N可以根据环境来选择。如补充材料中所述,我们使用了奥恩斯坦-乌伦贝克过程(Uhlenbeck & Ornstein, 1930)来生成具有惯性的物理控制问题的勘探效率的时间相关勘探(Wawrzy´nski, 2015))。
在所有任务中,我们使用低维状态描述(如关节角度和位置)和环境的高维渲染进行实验。如DQN (Mnih等人,2013;2015),为了使问题在高维环境中几乎完全可观察到,我们使用了动作重复。对于智能体的每个时间步,我们将模拟分为3个时间步,每次都重复智能体的操作并呈现。因此,报告给智能体的观察结果包含9个特征图(3个渲染图中每个渲染图的RGB),这允许智能体利用帧之间的差异来推断速度。将帧下采样到64x64像素,将8位RGB值转换为缩放到[0,1]的浮点数。有关我们的网络结构和超参数的详细信息,请参阅补充信息。
我们在训练期间通过在没有探索噪声的情况下进行测试来定期评估该策略。图2显示了一组环境的性能曲线。我们还报告了去除算法组件(即目标网络或批处理归一化)后的结果。为了更好地完成所有任务,这两项功能都是必要的。特别是,没有目标网络的学习,就像最初使用DPG的工作一样,在许多环境中是非常糟糕的。
令人惊讶的是,在一些更简单的任务中,从像素学习策略的速度与使用低维状态描述符学习一样快。这可能是因为重复的动作使问题变得更简单了。卷积层也可能提供了一种容易分离的状态空间表示,这对于更高层的快速学习是直接的。
表1总结了DDPG在所有环境中的性能(结果平均为5个副本)。我们用两个基线对分数进行了标准化。第一个基线是原始策略的平均回报,该策略从有效的操作空间上的均匀分布中采样操作。第二条基线是iLQG (Todorov & Li, 2005),对潜在的物理模型及其衍生品的完全访问权限的基于规划的求解器。我们将分数归一化,使朴素策略的平均分为0,而iLQG的平均分为1。DDPG能够在许多任务中学习到好的策略,而且在许多情况下,一些副本学习到的策略优于iLQG,即使是直接从像素学习。
学习准确的价值估计是有挑战性的。例如,Q-learning容易高估数值(Hasselt, 2010)。我们通过比较训练后Q估计的值与测试集上看到的真实回报,实证地检验了DDPG的估计。图3显示,在简单的任务中,DDPG估计的回报是准确的,没有系统偏差。对于更难的任务,Q估计更糟糕,但DDPG仍然能够学习好的政策。
为了展示我们的方法的普遍性,我们还包括Torcs,一个赛车游戏,其中的行动是加速,刹车和转向。Torcs以前曾被用作其他政策学习方法的试验台(Koutn´ık等人,2014b)。我们在物理任务中使用了相同的网络架构和学习算法超参数,但由于所涉及的时间尺度非常不同,我们改变了探索的噪声过程。在低维和像素上,一些副本能够学习到合理的策略,从而能够绕着轨道完成一圈,尽管其他副本未能学习到合理的策略。
图1:我们试图用DDPG解决的环境示例截图。从左至右依次为:cartpole抡起任务、一个到达任务、一个喘气和移动任务、一个打冰球任务、一个单独的平衡任务、两个运动任务和Torcs(模拟驾驶)。我们使用低维特征向量和高维像素输入处理所有任务。附录中提供了环境的详细描述。一些有学问的政策的电影可以在 https://goo.gl/J4PIAz看到
图2:使用DPG变量选择域的性能曲线:原始DPG算法(小批量NFQCA)与批处理归一化(浅灰色),与目标网络(深灰色),与目标网络和批处理归一化(绿色),与仅像素输入的目标网络(蓝色)。目标网络至关重要。
原始的DPG论文使用贴图编码和线性函数逼近器评估了带有玩具问题的算法。它证明了策略外DPG的数据效率优于策略内和策略外随机行动者批评器。它还解决了一个更具挑战性的任务,即多关节章鱼臂必须用肢体的任何部分攻击目标。然而,那篇论文并没有证明将这种方法扩展到我们这里所使用的大的、高维的观察空间。
人们通常认为,标准的策略搜索方法,如在目前的工作中探索的方法是太脆弱,无法扩展到困难的问题(Levine等人,2015)。标准策略搜索被认为是困难的,因为它同时处理复杂的环境动态和复杂的政策。事实上,过去大多数与actor-critic和政策优化方法相关的工作难以扩展到更具挑战性的问题(Deisenroth等人,2013年)。通常,这是由于学习的不稳定性,其中一个问题的进展要么被后续的学习更新破坏,要么学习太慢而不实用。
图3:密度图显示了估计的Q值与从5个副本的测试片段中抽样观察到的返回值。在简单的领域,如钟摆和cartpole, Q值是相当精确的。在更复杂的任务中,Q估计不太准确,但仍然可以用来学习有竞争力的政策。虚线表示统一,单位任意。
表1:在所有环境中最多250万步的训练后的表现。我们报告了平均和最佳观察结果(在5次运行中)。除Torcs外,所有分数都归一化,使随机代理接收0,规划算法接收1;在《Torcs》中我们呈现了原始奖励分数。我们在环境的低维(lowd)版本和高维(pix)版本中包括来自DDPG算法的结果。为了进行比较,我们还包括来自原始DPG算法的回放缓冲区和批归一化(cntrl)的结果。
另一种方法,信任区域策略优化(TRPO) (Schulman等人,2015b),直接构建随机神经网络策略,而不将问题分解为最优控制和监督阶段。这种方法通过对策略参数进行精心选择的更新来产生近乎单调的改进,限制更新以防止新策略与现有策略偏离太远。这种方法不需要学习动作价值函数,(可能因此)数据效率明显较低。
为了应对actor-critic方法的挑战,最近的指导策略搜索(GPS)算法的工作(例如,(Levine et al., 2015))将问题分解为相对容易解决的三个阶段:首先,它使用全状态观测来创建一个或多个标准轨迹的动态局部线性逼近,然后使用最优控制来找到沿着这些轨迹的局部线性最优策略;最后,它使用监督学习来训练一个复杂的、非线性的策略(例如深度神经网络),以再现优化轨迹的状态到动作映射。
这种方法有几个好处,包括数据效率,并已成功应用于各种现实世界中使用视觉的机器人操作任务。在这些任务中,GPS使用了与我们类似的卷积策略网络,但有两个显著的例外:1。它使用空间softmax将视觉特征降维为每个特征地图的单个(x, y)坐标,以及2。该策略还直接接收关于网络中第一全连接层机器人配置的低维状态信息。两者都可能提高算法的能力和数据效率,并且可以很容易地在DDPG框架中加以利用。
PILCO (Deisenroth & Rasmussen, 2011)使用高斯过程学习非参数的概率动力学模型。使用这个学习的模型,PILCO计算分析策略梯度,并在许多控制问题中取得了令人印象深刻的数据效率。然而,由于高计算需求,PILCO是“不切实际的高维问题”(Wahlström et al., 2015)。看来,深度函数逼近器是最有希望的方法缩放强化学习到大,高维领域。
Wahlström等人(2015)使用深度动态模型网络和模型预测控制来解决像素输入的摆起任务。他们训练一个可微的前向模型,并将目标状态编码到学习的潜在空间。他们使用模型预测控制学习的模型来找到达到目标的策略。然而,这种方法只适用于目标状态的领域,可以演示的算法。
最近,进化方法被用于从像素中学习Torcs的竞争策略,使用压缩权值参数化(Koutn´ık等人,2014a)或无监督学习(Koutn´ık等人,2014b)来降低进化权值的维度。目前还不清楚这些方法推广到其他问题的效果如何。
这项工作结合了深度学习和强化学习方面的最新进展,产生了一种算法,可以稳健地解决具有连续行动空间的各种领域的挑战性问题,甚至在使用原始像素进行观察时也是如此。与大多数强化学习算法一样,使用非线性函数逼近器消除任何收敛保证;然而,我们的实验结果表明,稳定的学习不需要任何环境之间的修改。
有趣的是,我们所有的实验所使用的步骤都比DQN学习在Atari领域中寻找解决方案所使用的步骤要少得多。我们研究的几乎所有问题都在250万步(通常更少)的经验范围内解决了,比DQN需要的优秀的Atari解决方案少了20步。这表明,如果有更多的模拟时间,DDPG可以解决比本文所考虑的更难的问题。
我们的方法仍然存在一些限制。最值得注意的是,与大多数无模型强化方法一样,DDPG需要大量的训练片段来找到解决方案。然而,我们相信,一个健壮的无模型方法可能是更大系统的一个重要组成部分,它可能会突破这些限制(Gläscher等,2010)。