您好,欢迎来到金属加工网 登录 | 免费注册 | 忘记密码
当前位置: 首页 > 技术中心 > 专业论文 > 机器人强化迁移学习指南:架设模拟和现实的桥梁1

机器人强化迁移学习指南:架设模拟和现实的桥梁1

http://www.b2b.hc360.com 中国金属加工网 信息来源:Author发布时间:2019年12月30日浏览:389

  近年来,强化学习(Reinforcement learning)在人工智能领域中表现出了显著的性能,例如基于原始像素的Atari游戏,连续复杂控制策略的学习,以及在围棋游戏Go中超越人类的表现等。


  然而,这些成功大多是在仿真、视频游戏等非物理环境中实现的,强化学习在物理系统上的复杂策略仍存在很大的挑战。强化学习需要与现实环境进行大量的交互,但是机器人强化学习从现实环境中获取样本的代价极高,因此,针对复杂运动技能的机器人强化学习是一个具有挑战性且尚未解决的问题,而迁移学习是实现物理机器人强化学习的重要策略。


  本文聚焦如何利用迁移学习,使强化学习能够在模拟环境中进行训练,而在实际的物理机器人领域中得到应用。


  机器人的强化迁移学习背景介绍


  机器之心在之前的文章中对一般的强化迁移学习进行过梳理,我们首先来回顾一下:


  强化学习是一种根据环境反馈进行学习的技术。强化学习agent辨别自身所处的状态(state),按照某种策略决定动作(action),并根据环境提供的奖赏来调整策略,直至达到最优。


  马尔可夫决策MDP(Markov Decision Process)是强化学习任务的标准描述,我们定义一个任务M,用四元组<S,A,T,R>表示,其中S是状态空间,A是动作空间,T是状态转移概率,R是奖赏函数。state-action空间S×A定义了任务的域,状态转移概率T和奖赏函数R定义了任务的目标。


  当强化学习的状态动作空间S×A很大时,为了寻找最优策略,搜索过程非常耗时。此外,学习近似最优解所需的样本数量在实际问题中往往令人望而却步。无论是基于值的方法还是基于策略的方法,只要问题稍稍变动,之前的学习结果就会失效,而重新训练的代价巨大。因此,研究者们针对强化学习中的迁移学习展开了研究,希望能够将知识从源任务迁移到目标任务以改善性能。


  上文中提到的样本数量、学习结果针对不同任务失效等这些在一般强化学习中存在的问题在机器人强化学习中尤其突出。现有的机器人强化学习方法大多只能完成单个任务,而无法在不同的任务之间推广,或者仅通过收集很少数量的现实机器人经验来概括一些任务策略,其性能无法满足实战的要求。将迁移学习引入机器人强化学习,目的是利用模拟环境中的数据辅助现实机器人学习。机器人强化学习中的迁移学习称为「模拟到现实(Sim-to-real)方法」,具体是指首先在模拟环境中收集数据并训练机器人控制策略,然后进行迁移学习,将训练获得的控制策略(新技能)应用于物理现实中的机器人。


  然而,机器人的强化迁移学习也并不容易,因为并不存在能够完美捕捉现实的模拟器(环境),模拟与现实之间存在「现实差距」(Reality Gap),模型的输入分布在策略训练(模拟)和策略执行(现实)之间存在动态变化和差异性。如果继续在这种有缺陷的模拟环境中训练策略产生控制行为,这种行为无法应对现实环境中的任何微小变化。此外,对于一些机器人动作模拟问题(如滑动摩擦力和接触力),其背后的物理现象仍然没有在模拟器上百分百模拟,这就意味着根本不可能在模拟环境中对一些现实中的机器人动作进行完全精确的模拟。


  目前,改进机器人的强化迁移学习主要有几类方法:


  1、试图在模拟和现实之间建立明确的一致性,缩小模拟和现实的差距;


  2、对模拟阶段的策略训练进行随机化处理,使其能够推广到相关的动力学现实策略中;


  3、在模拟阶段得到一个足够好的策略,能够在现实的机器人策略执行过程中快速适应现实世界;


  4、提高对机器人动作物理现象本身的模拟水平;


  5、可以通过引入其他学习手段提升机器人强化迁移学习的效果。


  本文对机器人强化迁移学习的最新进展进行了梳理,对不同的方法进行了简要分析。


  机器人的强化迁移学习最新进展


  1、缩小模拟和现实的差距


  Florian Golemo,Adrien Ali Taiga,et al,「Sim-to-Real Transfer with Neural-Augmented Robot Simulation,」PMLR 2018,


  在大部分机器人模拟器中,只能通过有限的参数对物理环境进行模拟,因此与现实情况对比总有误差。这篇文章提出,使用从现实机器人中收集的数据训练一个递归神经网络来预测模拟和现实世界之间的差距,经过训练缩小该误差,从而提升机器人强化迁移学习的效果,称为:神经增强模拟(Neural-Augmented Simulation,NAS)。NAS可以与不同强化学习算法相结合,在保证快速离线训练的同时,较好的学习迁移策略。为了有效捕获状态(state)中不满足标准马尔可夫假设的偏差,本文引入递归神经网络进行学习,以LSTM为例具体介绍。


  针对强化学习中的马尔可夫决策MDP,假设源域(模拟环境)和目标域(现实环境)具有相同的动作(action),两个域中的任务分别为Ds=<S_s,A,p_s,r_s>和Dt=<S_t,A,p_t,r_t>,假设奖赏相同(即r_s=r_t),同时假设有权访问源域并可将其重置为特定的状态。作者利用LSTM建立一个源域和目标域之间的差距模型,学习从源域中的轨迹到目标域中轨迹的映射,通过使源域中的模拟对象逼近目标域中现实机器人的轨迹来提高模拟的质量,从而缩小模拟和现实的差距。给定行为策略μ(可以是随机的或由专家提供),从目标域中收集现实机器人的轨迹。


  从目标域分布中采样初始状态s_0~p_t(s_0),源域也从相同的初始状态开始训练。在每个学习过程中,根据行为策略a_i∼μ(s_t)对操作进行采样,在两个域中分别处理并进行迁移学习,将源域重置为目标域状态,重复该过程,直到结束。最终得到的行为轨迹为:

图1.jpg

  在从现实机器人中收集数据之后,使用训练模型φ(LSTM)来预测目标域中s_{i+1}的值。通常来说,两个域状态之间的差距很小,计算网络输出校正项为:

图2.jpg

  机器人强化迁移学习指南:架设模拟和现实的桥梁


  其中h是网络的隐藏状态。


  训练得到模型φ后,将其与模拟环境相结合,以学习稍后将迁移到现实目标环境的策略。本文选择PPO[1]作为强化学习的方法,在每个学习过程中,将源域中的当前状态迁移至模型φ,计算目标环境中对当前状态的估计,根据该估计值选择动作:

图3.jpg

  然后将源域状态设置为目标域状态的当前估计值,从而允许模型修正来自源域的轨迹,使它们更接近目标域中的相应轨迹,以缩小两个域之间的差距。


  本文与如下几种方法进行实验对比:


  1、forward模型策略:使用LSTM和从目标域收集的数据训练前向动态模型,然后仅使用此模型训练策略(没有来自源域的轨迹调整);


  2、专家策略:直接在目标域内训练;


  3、源策略:直接将在源域中训练得到的策略应用于目标域,而不进行任何自适应处理;


  4、传输策略:使用NAS训练的策略。

QQ截图20191230102501.jpg

  图1.不同方法的效果对比


  图1给出不同方法的实验效果。图1(a):比较每种方法给出3个策略的20次奖赏平均值。图1(b):在模拟(绿色虚线)、现实机器人(蓝色实线)上接收目标位置(紫色虚线)时的单关节行为比较,以及根据forward模型(红色虚线)和本文提出方法(黄色虚线)进行估计的结果。


  本文使用Popy Ergo Jr机器人手臂进行实验,将两个机器人固定在一块木板上,两个机器人面朝对方,两个机头在静止位置相隔5毫米。一个机器人拿着一把「剑」(铅笔),另一个拿着一个盾牌。护盾机器人(「防御者」)每2.5秒移动一次,移动到一个任意位置,在该位置护盾在对手可触及的范围内。剑形机器人(「攻击者」)是唯一可直接控制的机器人。每一个工作段(episode)持续10秒,攻击者的目标是尽可能频繁地触摸盾牌。


  图1(a)中结果显示专家策略(直接在现实机器人中训练的策略)的效果最差,其主要原因是,在这篇文章所述的实验条件下:


  (a)在现实环境中的命中检测并不完美(该现象与在模拟中类似),并且由于不是每一次命中都能够成功检测到,因此得到的奖赏非常稀疏。


  (b)由于攻击者机器人经常将剑卡在对手身上、自己身上或环境中,因此在某些任务中从现实环境找到并提取机器人状态和动作并不像模拟中那么容易。此外,源策略和forward模型策略的效果差不多,而使用NAS训练的传输策略效果最优。


  图1(b)给出了对于一个给定任务不同方法估计关节位置的准确度差异。尽管forward模型能够很好的估计从目标域中收集的数据,但由于没有根据源域的轨迹进行任何调整,仅使用forward模型训练得到的策略效果较差。出现这样的问题是由于forward模型过度拟合训练数据,而不能够很好的推广到其他情况。而能够有效避免这一问题也是本文提出方法的一个关键优势:NAS通过引入神经网络来增强学习,能够有效利用来源于不同任务的学习增强信息,从而提升策略水平。


  2、随机化处理策略训练


  X.Peng,M.Andrychowicz,W.Zaremba,and P.Abbeel,「Sim-to-real transfer of robotic control with dynamics randomization,」CoRR,2017.


  机器人的强化迁移学习基于模拟环境中丰富的样本数据来训练agent。经典算法一般基于固定的动态模型训练,例如上一篇文章中介绍的是基于确定的状态和动作完成训练的。这种情况下经常会导致Reality Gap的问题。这篇文章提出来的思路是通过随机化处理状态和动作,训练得到动态的、高适应性的策略,从而实现在现实物理系统中应用策略,不需要再进行任何训练或调整就能有效应对现实世界中的动态变化。


  首先,引入一组动态参数μ,用于表征模拟场景的动态变化概率p(s_{t+1}|s_t,a_t,µ)。策略训练的目标是最大化动态参数分布的期望值E:

图4.jpg

  基于动态参数训练得到的策略能够更好的满足现实环境中的动态情况推广要求。具体的,文章选择以一个7自由度的取物机器人手臂在一个推球任务中的训练为例介绍随机化策略。明确每个阶段(episode)的目标「g」为将冰球移动到桌面的随机目标位置。机器人及模拟场景见图2。


QQ截图20191230102539.jpg

  图2.推球任务机器人及模拟MuJoCo模型


  首先,确定状态和动作。使用手臂的关节位置和速度、抓取器的位置以及冰球的位置、方向、线速度和角速度等来表示状态,生成一个52维的状态空间;观测噪声对传感器中的不确定性进行建模,并作为独立的高斯噪声应用于每个状态特征。动作由指定位置控制器的目标关节角度来表示,目标角度指定为相对于当前关节旋转的相对偏移,生成一个7维动作空间。


  第二,对模拟MuJoCo模型中的状态和动作进行随机化处理,从而产生更多训练样本。在本文的示例场景中具体包括:机器人身体各环节的质量、各关节阻尼、冰球的质量摩擦和阻尼、桌子的高度、位置控制器增益、动作间隔时间,以及观测噪声。总共包含了95个随机参数。


  第三,制定适应性策略。虽然动态参数μ在模拟环境中很容易获得,但对于部署在现实环境中的策略未必适用。为了弥补它们之间的误差,引入一个在线系统识别模块φ(s_t,h_t)=μ,该模块利用状态和动作的历史情况h_t=[a_t-1,s_t-1,a_t-2,s_t-2,…]来预测动态参数μ。然后,将预测的参数用作通用策略的输入,该策略根据当前状态和推断的动态参数π(a_t|s_t,μ)对操作进行采样。关于历史状态μ的计算方式不是本文讨论的重点,详细内容可参照[2]。


  使用递归模型π(a_t|s_t,z_t,g)将动态参数嵌入到策略中,其中z_t=z(h_t)表征过去的状态和动作,从而提供策略用于推断系统动态变化的机制。


  第四,完成策略训练。在策略训练过程中,通过奖赏函数的设计保证agent完成任务目标。这篇文章使用Hindsight Experience Relay(HER)基于稀疏奖赏函数训练策略[3],具体为:考虑轨迹τ,目标g在轨迹调整的过程中始终不满足,因此每一步的奖赏值为-1。一旦确定新目标g』,就可以计算原始轨迹的奖赏在新目标下的轨迹。与g』相关的奖赏不再是-1。使用HER替代过去的经历,可以使用比原始记录轨迹更好的样本来训练agent。


  此外,这篇文章还引入一个适合于连续控制的循环确定性策略梯度(Recurrent Deterministic Policy Gradient,RDPG)实现强化学习。具体做法是:将递归价值函数建模为Q(s_t,a_t,y_t,g,µ),其中y_t=y(h_t)。价值函数仅在训练期间使用,并且已知模拟器的动态参数μ,使用μ作为价值函数的附加输入,而不是策略的附加输入。


  图3给出了策略(π)和价值(Q)网络的结构图示,其中输入为当前状态s_t和前一个动作a_t-1。策略(π)网络架构如下:每个网络由一个前馈分支和一个递归分支组成,后者的任务是从过去观测值推断动态参数。内部存储器使用一层LSTM单元建模,并且仅提供推断动态参数所需的信息(例如,s_t和a_t-1)。由于目标g在每个阶段都是确定的,因此不包含任何有关的动态信息(时序信息),因此仅由前馈分支处理。此外,由于当前状态对于确定当前时间步长特别重要,因此还向前馈分支提供一个副本作为输入。然后,将两个分支计算的特征连接起来,由两个附加的全连接层(每个层128个单元)进行处理。价值(Q)网络整体架构类似。

QQ截图20191230102735.jpg

  图3.策略和价值网络的结构图示


  在这篇文章以及我们上面介绍的神经增强模拟(NAS)方法中都提到了递归神经网络(LSTM)的使用。其中,NAS使用LSTM建立源域和目标域之间的差距模型,在每个学习过程中,将源域中的当前状态迁移至LSTM模型,计算目标环境中对当前状态的估计,根据该估计值选择动作:然后将源域状态设置为目标域状态的当前估计值,从而允许模型修正来自源域的轨迹,使它们更接近目标域中的相应轨迹,以缩小两个域之间的差距。而在本文中,引入LSTM是作为强化学习策略训练网络结构的内部存储器使用。


  文章最后给出了实验对比,评估了不同模型在模拟和真实Fetch arm上部署的性能,分别为:使用图3中结构的LSTM、一种只接受当前状态作为输入的无记忆的前馈网络(FF)、无记忆无随机化前馈网络(FF-no-Rand)、增加了8个先前观察到的状态和动作的历史输入的前馈网络(FF+Hist)。图4为不同模型在模拟和现实机器人上完成推送任务的性能,只使用模拟数据训练策略。LSTM与FF+Hist在模拟环境中效果相当,但LSTM能够更好地适应动态变化的物理系统(现实机器人),而未经随机训练的前馈网络(FF-no-Rand)则根本无法在现实机器人的动态环境中执行任务。

QQ截图20191230102742.jpg

  图4.不同模型在模拟和现实机器人上进行推送任务时的性能对比


  3、直接提高策略质量


  Zhanpeng He,Ryan Julian,et al,「Zero-Shot Skill Composition and Simulation-to-Real Transfer by Learning Task Representations,」


  这篇文章提出的方法试图在模拟环境中学习一个能够快速适应现实世界的健壮的策略。文章的基本思想是:利用强化学习和变分推理学习技能的嵌入空间,之后将这些技能在真实机器人上转移和组合实现。通过引入模型预测控制(Model-Predictive Control,MPC)学习任务表示,实现了在现实机器人中不经微调处理即可成功的完成未知任务,从而使得迁移过程更加健壮,能够显著减少训练策略所需的仿真样本数,从而得到相关任务的策略。MPC是直接利用学习到的潜在空间和模拟来寻找新任务的在线策略。


  该方法包括四个关键部分:变分推理、策略梯度强化学习、模型预测控制(MPC)和物理模拟。其中,使用变分推理(variational inference)来学习一个低维的技能潜在空间,使用强化学习同时学习以这些潜在技能为条件的控制策略。而由于对于给定的潜在技能,策略的精确长时间行为很难预测,因此在实际机器人上执行之前,使用MPC和在线仿真来评估模拟中的潜在技能计划。


  


分享到:0

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品 均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

【我要评论】 【全部评论(共0条)】

  • 还可输入(1000个字符)
  • *网友评论仅供其表达个人看法,并不表明中国金属加工网同意其观点或证实其描述
精华文章

先临三维:VCU人文研究项目打开喜马拉雅古老文明的3D数字世界

Bernard K.Means是美国弗吉尼亚联邦大学的助理教授,在弗吉尼亚联邦大学虚拟[更多]

FDM(熔融堆积)3D打印机的五大优势—创想三维

3D打印技术是一种越来越有价值的商业工具,其中FDM(熔融堆积)是3D打印技术是[更多]

高熵合金3D打印进展

高熵合金处于金属材料界的前沿。它们被用作生产高温涡轮叶片、高温模具、切[更多]

访谈:AM CEO介绍LAPS3D打印技术

3D打印机制造商Ascend制造公司透露了其新颖的大面积投影烧结(LAPS)3D打印方[更多]

生物3D打印入门概述

生物3D打印是目前正在兴起的研究领域,狭义上的生物3D打印可以理解为操纵细胞[更多]