基于深度强化学习的连续性动作控制

2018-10-08 20:20:52·  来源:感知与决策研究室 同济智能汽车研究所  
 
摘要:我们在深度Q-learning成功的基础思想将其调整为连续性领域。我们提出了一种基于确定性策略梯度的执行者-评判者的无模型算法,该算法可以在连续动作空间上

摘要:我们在深度Q-learning成功的基础思想将其调整为连续性领域。我们提出了一种基于确定性策略梯度的执行者-评判者的无模型算法,该算法可以在连续动作空间上运行。使用相同的学习算法,网络架构和超参数,我们的算法可以有力地解决20多个模拟物理任务,包括经典问题,如推车摆动,灵巧操纵,腿式运动和汽车驾驶。我们的算法能够找到在动态领域性能与规划算法相竞争的策略。我们进一步证明,对于许多任务,算法可以直接从原始像素输入学习“端到端”策略。

一、 介绍

人工智能领域的主要目标之一是从原始、高维度的感知输入中解决复杂的任务。最近,通过将感知处理的深度学习(Krizhevsky等,2012)的进展与强化学习相结合,取得了重大进展,从而产生了深度Q网络(DQN)算法(Mnih等,2015),在许多Atari游戏中使用未经处理的像素输入有着人类级别的表现。为此,他们使用了深度神经网络函数逼近器来估计动作值函数。

然而,虽然DQN解决了高维观察空间的问题,但它只能处理离散和低维动作空间。DQN不能直接应用于连续域,因为它依赖于找到最大化动作值函数的动作,这在连续值的情况下需要在每个步骤进行迭代优化过程。

使深度强化学习方法(如DQN)适应连续域的一种显而易见的方法是简单地将行动空间离散化。然而,这有许多局限性,最显著的是维度灾难:动作的数量随着ai∈{-k,0,k}自由度的数量呈指数增长。例如,具有7自由度的系统(如在人类手臂中)每个关节的导致动作空间的维数为37=2187。对于需要精确控制动作的任务情况更糟,因为它们需要相应更细粒度的离散化,导致爆炸的离散动作数量。这样大的动作空间难以有效地探索,因此在这种情况下成功训练类似DQN的网络是很难的。此外,动作空间的简单离散化会不必要地丢弃关于动作域结构的信息,然而这对于解决许多问题是很关键的信息。

我们提出了一个使用深度函数逼近器的无模型,离线训练的执行者-评判者算法,可以学习高维,连续动作空间中的策略。我们的工作基于确定性策略梯度(DPG)算法(Silver et al.,2014)((本身类似于NFQCA(Hafner&Riedmiller,2011),类似的想法可以在(Prokhorov et al., 1997)中找到)。然而,如我们下面所示,这种具有神经函数逼近器的执行者-评判者方法的直接应用对于挑战性问题时是不稳定的。在这里,我们将执行者-评判者方法与深度Q网络(DQN)近期成功的见解结合起来(Mnih et al.,2013; 2015)。在DQN之前,人们普遍认为使用大的非线性函数逼近器的学习值函数是困难且不稳定的。由于两项创新,DQN能够以稳定和鲁棒的方式使用此类函数逼近器学习价值函数:

  • 1.使用来自重放缓冲器的样本对网络进行离线策略训练,以最小化样本之间的相关性; 
  • 2.使用目标Q网络训练网络,以在计算时间差分损失时提供一致的目标。

在这项工作中,我们使用相同的想法,以及批量归一化(Ioffe&Szegedy,2015),这是深度学习的最新进展。 

为了评估我们的方法,我们构建了各种具有挑战性的物理控制问题,涉及复杂的多关节运动,不稳定和丰富的接触动力学以及步态行为。其中有经典问题,如推车摆动问题,以及许多新的领域。机器人控制的长期挑战是直接从原始感知输入(如视频)学习动作策略。因此,我们将固定视角相机放置在模拟器中,并使用低维观测值(例如关节角度)和直接从像素尝试完成所有任务。我们称之为Deep DPG(DDPG)的无模型方法可以使用相同的超参数和网络结构,使用低维观测(例如笛卡尔坐标或关节角度)来学习所有任务的竞争策略。在许多情况下,我们还能够直接从像素中学习优秀的策略,同样保持超参数和网络结构不变。该方法的一个关键特征是它的简单性:它只需要一个简单的执行者-评判者架构和学习算法,只需很少的“移动部件”,使其易于实现和扩展到更难的问题和更大的网络。对于物理控制问题,我们将结果与规划方法(Tassa等人,2012)计算的算法现状进行比较,该算法现状可以完全解决基础模拟动力学及其衍生问题(参见补充信息)。有趣的是,DDPG有时可以找到超出规划效果的策略,在某些情况下甚至可以从像素中学习(规划方法总是通过低维状态空间做出策略)。

二、背景

我们考虑一种标准强化学习设置,包括在离散时间步长中与环境E交互的智能体。在每个时间步,智能体接收观察xt,采取行动αt并获取奖励rt。在这里考虑的所有环境中,动作都是实值 at∈IRN。通常,可以部分地观察环境,以便需要观察整个历史,动作对st=(x1,αt,……,αt-1,xt)来描述状态。在这里,我们假设环境是完全可被观测的,因此st=xt。

智能体的行为由策略π定义,该策略将状态映射到动作π:S→P(A)上的概率分布。环境E也可以是随机的。我们将其建模为具有状态空间S,动作空间A=IRN,初始状态分布p(s1),转换动态p(st+1|st,αt)和奖励函数r(st,αt)的马尔可夫决策过程。

状态回报被定义为未来折扣奖励Rt=Γ(i-t)r(si,ai)的总和,折扣因子Γ∈[0,1]。请注意,返回值取决于所选择的操作,因此取决于策略π,并且可能是随机的。强化学习的目标是学习一种策略,该策略最大化期望回报J=IEri,si~E,αi~π[R1]。我们将策略π的折扣状态分布表示为ρπ。

动作值函数用于许多强化学习算法。它描述了在状态st中采取行动αt之后的预期回报,这个过程遵循策略π:

强化学习中的许多方法都使用Bellman方程的递归关系:

如果目标策略是确定性的,我们可以将其描述为函数μ:S←A,避免因为不确定导致的内部期望的计算:

期望仅取决于环境。这意味着可以使用从不同的随机行为策略β生成的转换来学习Qμ离线训练策略。

已发布的Q-learning(Watkins&Dayan,1992)是一种常用的离线训练策略算法,它使用贪婪策略μ(s)=argmaxαQ(s, α)。我们考虑通过θQ数化的函数逼近器,通过最小化损失来优化参数:

其中:

虽然yt也依赖于θQ,但通常会被忽略。

过去经常避免使用庞大的非线性函数逼近器来学习价值或动作值函数,因为理论上的性能保证是不可能的,并且实际上学习往往是不稳定的。最近,(Mnih等人,2013; 2015)采用了Q-learning算法,以便有效地使用大型神经网络作为函数逼近器。他们的算法能够学习从像素中玩Atari游戏。为了扩展Q-learning,他们引入了两个主要变化:使用重放缓冲区和单独的目标网络来计算。我们在DDPG的背景下使用它们,并在下一节中解释它们的实现。

三、 算法

不可能直接将Q-learning应用于连续动作空间,因为在连续空间中找到贪婪的策略需要在每个时间步长优化αt; 对于大的,无约束的函数逼近器和非凡的动作空间,这种优化太慢而不实用。相反,在这里我们使用了基于DPG算法的执行者-评判者方法(Silver et al.,2014)。

DPG算法维护参数化的actor函数,该函数通过确定地将状态映射到特定动作来指定当前策略。评判Q(s, α)类似Q-learning一样通过贝尔曼方程学习更新。通过遵循链式法则应用于初始分布J相对于actor参数的预期返回来更新actor:

Silver等人(2014)证明了这是策略梯度,即策略表现的梯度。与Q-learning一样,引入非线性函数逼近器意味着不再保证可以收敛。然而,为了学习和适应大状态空间,这些近似似乎是必不可少的。NFQCA(Hafner和Riedmiller,2011)使用与DPG相同的更新规则但使用神经网络函数近似器,使用批量学习来实现稳定性,这对大型网络来说是难以处理的。NFQCA的小批量版本在每次更新时不会重置策略,如同扩展到大型网络所需的那样,等同于我们在此比较的原始DPG。我们在这里的贡献是在DQN的成功启发下对DPG进行修改,这使得它能够使用神经网络函数逼近器在线学习大型状态和动作空间。我们将我们的算法称为Deep DPG(DDPG,算法1)。

使用神经网络进行强化学习时的一个挑战是大多数优化算法假设样本是独立且相同的分布。显然,当在环境中顺序探索生成样本时,这种假设不再成立。此外,为了有效利用硬件优化,必须以小批量采样学习,而不是在线学习。

与DQN一样,我们使用重放缓冲区来解决这些问题。重放缓冲区是有限大小的缓存R。根据探索策略从环境中采样转换,并且元组(st,αt,rt,st+1)存储在重放缓冲区中。当重放缓冲区已满时,丢弃最旧的样本。在每个时间步骤,通过从缓冲区统一采样小批量来更新行为者和评判者。由于DDPG是一种离线训练策略算法,因此重放缓冲区可能很大,允许算法通过一组不相关的转换进行学习而因此受益。

直接用神经网络实现Q-learning(方程式4)在许多环境中被证明是不稳定的。由于正在更新的网络也用于计算目标值(等式5),因此Q(s, α|θQ)更新易于发散。我们的解决方案类似于(Mnih et al.,2013)中使用的目标网络,但针对执行者评判者和使用“软”目标更新进行了修改,而不是直接复制权重。我们分别创建了执行者和评判者网络的副本Q’(s, α|θQ’)和μ’(s|θμ’),用于计算目标值。然后通过让他们慢慢跟踪学习的网络来更新这些目标网络的权重θ'←τθ+(1-τ)θ',τ远小于1。这意味着目标值被限制为缓慢变化,大大提高了学习的稳定性。这个简单的变化使学习行为-价值函数的相对不稳定的问题更接近于监督学习的情况,这是一个强有力的解决方案的问题我们发现同时具有目标μ’和Q’需要具有稳定的目标yi,以便一致地训练评判者而不会发散。这可能会减慢学习速度,因为目标网络延迟了价值估计的传播。实践中,我们发现学习的稳定性的重要性远远超过了学习速度。

当从低维特征向量观察中学习时,观察的不同分量可以具有不同的物理单位(例如,位置与速度),并且范围可以在不同环境中变化。这可能使网络难以有效地学习并且可能使得难以找到在具有不同状态值的环境的情况下得到的超参数。

解决此问题的一种方法是人为缩放,使其在不同环境和单位的范围内相似。我们通过称为批量标准化的深度学习的最新技术来解决这个问题(Ioffe&Szegedy,2015)。该技术将小批量中样本的每个维度标准化,使之具有单位均值和方差。此外,它保持了平均值和方差的运行平均值,用于测试期间的标准化(在我们的例子中,在勘探或评估期间)。在深度网络中,它用于通过确保每层接收白化输入来最小化训练期间的协方差偏移。在低维情况下,我们在动作输入之前对状态输入和μ网络的所有层以及Q网络的所有层使用批量归一化(网络的细节在补充材料中给出)。通过批量标准化,我们能够有效地学习具有不同类型单元的许多不同任务,而无需人工确保单元在设定范围内。

在连续行动空间中学习的主要挑战是探索。DDPG等离线训练策略算法的一个优点是我们可以独立于学习算法来处理探索问题。我们通过将从噪声过程N采样的噪声添加到我们的行为者策略中来构建勘探策略μ’。

可以选择N以适应环境。正如补充材料中详述的那样,我们使用Ornstein-Uhlenbeck过程(Uhlenbeck&Ornstein,1930)来产生时间上相关的探索,以探索具有惯性的物理控制问题的探索效率(在(Wawrzynski,2015)中引入了类似的自相关噪声的使用)。

四、 实验结果

我们构建了不同难度级别的模拟物理环境来测试我们的算法。这包括经典的强化学习环境,如cartpole,以及困难的高维任务,如抓手,涉及接触的任务,如冰球打击(加拿大)和运动任务比如猎豹(Wawrzynski,2009)。在除猎豹之外的所有领域中,动作都是应用于驱动关节的扭矩。使用MuJoCo模拟这些环境(Todorov等,2012)。图1显示了任务中使用的一些环境的渲染图(补充包含环境的详细信息,您可以在https://goo.gl/J4PIAz上查看一些学习的策略)。

图1:我们尝试使用DDPG解决的环境示例的屏幕截图示例。按顺序从左侧开始:推车上升任务,到达任务,喘气和移动任务,冰球击打任务,单声道平衡任务,两个运动任务和Torcs(驾驶模拟器)。我们使用低维特征向量和高维像素输入来处理所有任务。补充中提供了对环境的详细描述。有关部分学习策略的视频,请访问https://goo.gl/J4PIAz。

在所有任务中,我们使用低维状态描述(例如关节角度和位置)和环境的高维更新进行实验。如在DQN(Mnih等人,2013; 2015)中,为了使问题在高维环境中几乎完全可观察,我们使用了动作重复。对于智能体的每个时间步,我们将模拟步进3个步骤,重复智能体的操作并每次更新。因此,向智能体报告的观察包含9个特征图(3次更新中的每一个的RGB),其允许智能体使用帧之间的差异来推断速度。帧被下采样到64x64像素,并且8位RGB值被转换为缩放到[0,1]的浮点数。有关我们的网络结构和超参数的详细信息,请参阅补充信息。

我们通过在没有探索噪声的情况下进行测试来定期评估策略。图2显示了一系列环境的性能曲线。我们还报告了删除了我们的算法组件(即目标网络或批量标准化)的结果。为了在所有任务中表现良好,这些添加都是必要的。特别是没有目标网络的学习,如在DPG的原始网络中,在许多环境中效果非常差。

图2:使用DPG变体选择域的性能曲线:具有批量标准化(浅灰色)的原始DPG算法(minibatch NFQCA),具有目标网络(深灰色),具有目标网络和批量标准化(绿色),具有目标来自仅像素输入的网络(蓝色)。目标网络至关重要。

令人惊讶的是,在一些更简单的任务中,来自像素的学习策略与使用低维状态描述符学习一样快。这可能是由于动作重复使问题变得更简单。也可能是卷积层提供了易于分离的状态空间表示,这对于较多层快速学习是很容易的。

表1总结了DDPG在所有环境中的性能(平均超过5次试验)。我们使用两个基线对分数进行标准化。第一个基线是来自简单策略的平均回报,该策略从有效行动空间的均匀分布中采样行动。第二个基线是iLQG(Todorov&Li,2005),一个基于计划的求解器,可以完全访问基础物理模型和它的衍生物。我们对分数进行标准化,使得简单策略的平均分为0,iLQG的平均分为1。DDPG能够学习许多任务的良好策略,并且在许多情况下,一些试验学习的策略优于那些由iLQG发现的,即使直接从像素学习。

表1:在所有环境中训练后的性能,最多250万步。我们报告平均值和最佳观察值(5次运行)。除了Torcs之外的所有分数被归一化,以便随机智能体得到分数0,有规划算法的智能体得到分数1; 对于Torcs,我们提供原始奖励分数。

学习准确的价值估算可能具有挑战性。例如,Q-learning倾向于高估值(Hasselt,2010)。我们通过将训练后Q估计的值与测试集中看到的真实回报进行比较,从经验上检验了DDPG的估计值。图3显示,在简单任务中,DDPG估计准确地返回而没有系统偏差。对于更难的任务,Q估计更糟糕,但DDPG仍然能够学习良好的策略。

图3:密度图显示了估计的Q值与从5个重复试验上的测试事件中采样的观察到的回报。在诸如摆锤和推车的简单域中,Q值非常准确。在更复杂的任务中,Q估计值不太准确,但仍可用于学习合格的策略。虚线表示单位,单位是任意的。

为了展示我们的方法的一般性,我们还包括Torcs,一种赛车游戏,其中的动作是加速,制动和转向。Torcs以前曾被用作其他策略学习方法的试验平台(Koutnık等,2014b)。我们使用相同的网络架构和学习算法超参数来完成物理任务,但由于涉及的时间尺度非常不同,因此改变了探测的噪声过程。在低维和像素方面,一些试验能够学习合理的策略,能够完整跑完赛道,尽管其他试验未能学习到合理的策略。

五、 相关工作

最初的DPG论文使用编码和线性函数逼近器评估了类似游戏问题的算法。它证明了离线训练策略的DPG对在线-离线训练随机执行者-评判者的数据效率优势。它还解决了一个更具挑战性的任务,其中一个是多关节臂必须与肢体的任何部分撞击目标的任务。然而,正如我们在这里所做的那样,该论文没有展示如何扩展大型高维观测空间的方法。

最近关于无模型策略搜索的工作表明,它可能不像以前认为的那样脆弱。Wawrzynski(2009); Wawrzynski和Tanwani(2013)使用重放缓冲器在执行者-评判者框架中训练随机策略。在我们的工作的同时,Balduzzi和Ghifary(2015)将DPG算法扩展为一个“偏离器”网络,该网络明确地学习了∂Q/∂a。但是,他们只训练两个低维域。Heess等人(2015)引入了SVG(0),它也使用了Q-critic,但学习了随机策略。DPG可以被认为是SVG(0)的确定性极限。我们在此描述的用于缩放DPG的技术也适用于通过使用重新参数化技巧的随机策略(Heess等人,2015; Schulman等人,2015a)。

另一种方法,信任区域策略优化(TRPO)(Schulman等,2015b),直接构建随机神经网络策略,而不将问题分解为最优控制和监督阶段。通过对策略参数进行精心选择的更新,约束更新以防止新策略偏离现有策略,这种方法可以产生近乎单调的改进。这种方法不需要学习动作值函数,并且(可能因此)似乎显着降低了数据效率。

为了应对行为者–评论者方法的挑战,最近使用指导性策略搜索(GPS)算法的工作(例如,(Levine等,2015))将问题分解为三个相对容易解决的阶段:首先,它使用全状态观测,以创建围绕一个或多个标称轨迹的动力学的局部线性近似,然后使用最优控制来找到沿这些轨迹的局部线性最优策略; 最后,它使用监督学习来训练复杂的非线性策略(例如深度神经网络)以再现优化轨迹的状态-动作映射。

这种方法有几个好处,包括数据效率,并已成功应用于使用视觉的各种现实世界的机器人操作任务。在这些任务中,GPS使用与我们类似的卷积策略网络,但有两个明显的例外:

  • 1.它使用空间softmax将视觉特征的维度降低为每个特征映射的单个(x,y)坐标。
  • 2.策略还接收关于网络中第一完全连接层处的机器人配置的直接低维状态信息。

两者都可能提高算法的效果和数据效率,并且可以在DDPG框架内轻松利用。

PILCO(Deisenroth和Rasmussen,2011)使用高斯过程来学习动力学的非参数概率模型。使用这种学习模型,PILCO可计算分析策略梯度,并在许多控制问题中有着令人印象深刻的数据效率。然而,由于高计算需求,PILCO“对于高维问题”是不切实际的(Wahlstrom等,2015)。似乎深度函数逼近器是将强化学习扩展到大型高维域的最有前景的方法。

Wahlstrom等(2015)使用深度动力学模型网络和模型预测控制来解决从像素输入的钟摆摆动任务。他们训练了一个可微分的前向模型,并将目标状态编码到学习的潜在空间中。他们使用对学习模型的模型预测控制来找到达到目标的策略。但是,此方法仅适用于具有可向算法演示的目标状态的域。

最近,已经使用进化方法从使用压缩权重参数化(Koutnık等,2014a)或无监督学习(Koutnık等,2014b)的像素学习Torcs的竞争策略,以减少演化权重的维数。目前尚不清楚这些方法对其他问题的普适性。

六、 结论

这项工作结合了深度学习和强化学习的最新进展,产生了一种算法,即使在使用原始像素进行观察时,也可以通过连续的动作空间稳定地解决各种领域的挑战性问题。与大多数强化学习算法一样,使用非线性函数逼近器可以不需要任何收敛保证; 然而,我们的实验结果证明了该算法可以稳定的学习,而无需在环境之间进行任何修改。有趣的是我们所有的实验,都使用了比DQN学习在Atari域中找到解决方案所用的经验步骤少得多的经验。我们所看到的几乎所有问题都在250万步的经验中得到了解决(通常要少得多),比DQN对较优Atari解决方案所需的步数少20倍。这表明,给定更多的模拟时间,DDPG可以解决比这里考虑的更困难的问题。

我们的方法仍然存在一些局限性。最值得注意的是,与大多数无模型强化方法一样,DDPG需要大量的回合训练才能找到解决方案。然而,我们认为鲁棒的无模型方法可能是解决这些限制的大型系统的重要组成部分(Glascher等,2010)。

论文原文、参考文献及补充材料地址: http://cn.arxiv.org/pdf/1509.02971v5
主要作者:Timothy P. Lillicrap∗
所属项目:Google DeepMind

 
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号