利用神经网络动力学实现基于模型的强化学习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j r o n h e r 前沿

利用神经网络动力学实现 基于模型的强化学习

□文 /Anusha Nagabandi、Gregory Kahn

般来说,让机器人在现实世界中

自主行动是一件很困难的事情。

即使具有昂贵的机器人和世界一

流的研究人员,机器人仍然难以在复杂的非

结构化环境中进行自主导航和交互。

很多人可能会有这样一个疑问:为什么

自主机器人不能像我们一样在这个世界中生

活呢?那是因为能够处理人类世界所有复杂

问题的工程系统是很难的。从非线性动力学、

部分可观测到的不可预知的地形和传感器故

障,机器人特别容易受到墨菲定律的影响:

一切可能出错的事物都会出错。我们并不是

通过对机器人可能遇到的每个情景进行编码

以对抗墨菲定律,相反,我们可以选择接受

这种失败的可能性,并让我们的机器人能够

从中学习。从经验中学习控制策略是有利的,

因为与手动控制器不同的是,学习控制器可以通过更多的数据来进行适应和改进。因此, 当出现这样一个场景——所有事情都出错了, 尽管机器人虽然会失败,但是,当下一次遇 到类似的情况时,已学习过的控制器便有可 能修正它的错误。为了处理现实世界中任务■图1 —个已学习的神经网络动力学模型使六足机器人学习运行和遵循所需的轨迹,而整个过程只 需17分钟的真实经验

52 机器人产业 I ROBOT

INDUSTRY

利用神经网络动力学实现基于模型的强化学习

的复杂性,当前基于学习的方法通常使用深 度神经网络,这是一种强大但非数据有效的

神经网络;这些基于反复摸索的学习器往往 会经历再次失败、第三次失败,甚至是数千 到数百万次的失败。当代深度强化学习方法 的样本无效性往往是现实世界中利用学习型 方法的主要瓶颈之一。

我们一直在研究用于机器人控制的神经 网络的基于学习的样本高效方法。对于复杂 的、接触点丰富的模拟机器人以及实际应用 中的机器人(图1),我们的方法能够学习 轨迹跟踪的运动技能,而这一过程仅使用收 集自机器人在环境中的随机行为的数分钟数 据。在本文中,我们将对该方法和结果进行 简要概述。更多细节查阅论文(https://arxiv. org/pdf/1708_02596_pdf)和相关代码(https:// /nagaban2/nn_dynamics)

样本效率:

无模型的V S基于模型的

从经验中学习机器人技能通常属于强化 学习的范畴。强化学习算法一般可以分为两 类:无模型,即学习策略或值函数;以及基 于模型的,即学习动力学模型。虽然无模型 深度强化学习算法能够学习广泛的机器人技 能,但它们往往会受到高昂的样本复杂性的 限制,通常需要数百万个样本才能获得良好 的性能表现,而且一次只能学习一项任务。尽管之前的一些研究已经将这些无模型算法 应用于现实世界的操作任务中,但这些算法 的高度复杂性和不灵活性已经阻碍了它们在 现实世界中用于学习运»能的应用。

基于模型的强化学习算法通常被认为是

更有效的样本。然而,为了获得良好的采样

效率,这些基于模型的算法通常使用相对简

单的函数逼近器,其不能很好地推广到复杂

的任务,或者使用高斯过程这样的概率动力

学模型,其概括性好,但复杂和高三维的领

域,如摩擦接触,会导致不连续的动力学系统。

相反,我们使用中等大小的神经网络作为函

数逼近器,可以实现出色的样本效率,同时

仍然具有足够的表现力,可以用于各种复杂

和高维运动任务的推广和应用。

基于模型深度强化学习的

神经网络动力学

在我们的研究中,我们的目标是将深度

神经网络模型在其他领域中的成功应用扩展

到基于模型的强化学习中。近年来,先前那

些将神经网络与基于模型的强化学习相结合

的努力,还没有实现能够与较简单的模型(例

如高斯过程)相媲美的结果。例如,G u等人

观察到,即使是线性模型在合成经验生成方

面也能够获得较好的性能表现,而Heess等人

则在将涵盖神经网络在内的模型纳入到无模

型学习系统的过程中看到了相对适度的益处。

我们的方法依赖于一些关键的决策:首先,

我们在一个模型预测控制框架内使用已学习

的神经网络模型,其中,系统可以迭代地重

新规划并修正错误;其次,我们使用相对较

短的范围预测,以便我们不必依靠这个模型

对未来做出非常准确的预测。这两个相对简

单的设计决策使得我们的方法能够执行各种

各样的运动任务,其中,这些运动任务之前

机器入产业I

ROBOT INDUSTKZ2018年第1期53

f r o n t i e r 前沿

■图2基于模型的强化学习算法概述

没有使用通用的基于模型的强化学习方法进

行演示,即可以直接在原始状态观察中操作。

我们的基于模型的强化学习方法如图2

所示。我们保持一个迭代增加的轨迹数据集,

并使用该数据集对动态模型进行训练。这个

数据集是用随机轨迹进行初始化的。然后,

我们通过在使用数据集对神经网络动态模型

进行训练、使用模型预测控制器(MPC )和

已学习的动态模型收集附加的轨迹以聚合到

数据集之间交替,从而执行强化学习。我们

在T ®将对这两个雛部倾耐论。动力学模型

我们将已学习的动力学函数参数化为一

个深度神经网络,可以通过一些需要学习的

权重进行参数化。我们的动力学函数以当前

状态S t 和动作作为输入,然后输出预测

的状态差&+1 —和.动力学模型本身可以

在监督学习环境中进行训练,其中收集的训

练数据以成对的输入(私叫和相应的输出标注{s t +i ,s t).需要注意的是,我们上面所提到的“状态,’ 可以随着智能体的变化而变化,并且可以包 括诸如质心位置、质心速度、关节位置以及 其他簡我们想选择的可测量数值。控制器为了使用一个已学习的动力学模型来完 成任务,我们需要定义一个对任务进行编码 的奖励函数。例如,标准的“x _v e r 奖励可

以编码一个前进的任务。对于轨迹追踪的任

务,我们制定了一个奖励函数,能够激励靠 近驗,并沿着驗前进。使用已学习的动力学模型和任务奖励函 数,我们建立了一个基于模型的控制器。在 每个时间步骤中,智能体通过随机生成K 个 候选动作序列,使用已学习的动力学模型预 测那些动作序列的结果,并选择对应于最高 累积奖励的序列(图3),做出到达未来所 需H 步的规划。然后,我们只执行动作序列54 机器斤业 I R〇B〇T

|NDUSTRY

相关文档
最新文档