机器之心原创
编辑:JoniZhong
在机器人的动作学习,传统的方法基于任务训练强化学习(reinforcementlearning)的策略,即针对每一个成功完成的任务的动作序列,训练得到一条策略。或者在该基础上,当奖励讯号稀疏出现时,利用各种技术完成各项模仿学习(imitationlearning)。但模仿学习的问题是,它的各种任务是独立的。例如,通过训练一个模仿学习算法(神经网络)能够得到一个关于如何将块堆叠到高度为3的塔中的策略。但当希望机器人完成将块堆叠到高度为2的塔中的动作时,则需要重新训练神经网络,从而得到另外一个策略。
单样本模仿学习(One-ShotImitationLearning)最先是伯克利大学著名的PieterAbbeel教授以及他的学生在2017年提出来的[1]。是指通过一次演示(可能包含一个或多个任务),告诉机器人当前有哪些任务以及如何完成这项任务。此时,不再是基于特定任务的神经网络学习,而是一种「演示模仿」学习。从有监督学习的角度讨论,给定包含几个训练任务的演示,单样本模仿学习能够根据当前样本推广到未知但相关联的任务中,从而做到一眼就能模仿。至于如何制定「相关联」,就是各位研究者所要探讨的内容。
本文主要介绍了3篇有关one-shotimitationlearning的代表作,分别针对元学习、符号规划问题和观察学习的单样本模仿学习进行分析:
Yu,Tianhe,etal."One-shothierarchicalimitationlearningofcompoundvisuomotortasks."arXivpreprintarXiv:1810.11043(2018).,基于元学习的单样本模仿学习。
De-AnHuang,etal.「ContinuousRelaxationofSymbolicPlannerforOne-ShotImitationLearning.」arXivpreprintarXiv:1908.06769()(2019).,利用符号规划问题的单样本模仿学习。
LeoPauly,etal.「One-ShotObservationLearningUsingVisualActivityFeatures.」arXiv:1810.07483().,基于视觉活动特征的单样本观察学习。
One-shothierarchicalimitationlearningofcompoundvisuomotortasks

方法分析
文章首先解决教会机器人通过模仿人类演示来学习原始动作技能的问题。本文使用领域自适应元学习(Domain-adaptivemetalearning,DAML)方法从单个演示推断策略。DAML是模型不可知元学习算法(Model-agnosticmeta-learningalgorithm,MAML)的扩展。Finn中首次提出了MAML的概念[2],其目标是通过二重循环1.分别学习不同任务的深度网络的参数($\theta_1,\theta_2,\theta_3$),2.找到不同任务间的共同次优解($\theta$),从而通过一步或几步梯度下降实现有效的泛化处理。图1中给出MAML原理示意图,找到这样的模型参数,对于任一任务产生的参数微小变化,能够使得损失函数具有很大的改进,因此通过优化表示$\theta$,能够快速完成新任务的适应性学习。

,whichoptimizesforarepresentationθthatcanquicklyadapttonewtasks.
首先介绍MAML在机器人视觉演示这个任务里的目标函数。令θ表示初始模型参数,L(θ,D)表示有监督学习的损失函数,D_t表示任务t的标记数据。在元训练阶段,MAML选定任务T并抽取数据D_T,将D_T随机分为两组(tr,val),MAML对模型参数θ进行优化,目标函数为:

将内部损失定义为适应目标,外部损失定义为元目标。在测试阶段,MAML使用从T_test中提取的K个示例运行关于θ的梯度下降:


其中d^h和d^r分别表示人类和机器人的演示。在目标函数的学习过程中,利用参数θ和人类演示d^h,在与机器人演示动作d^r比较的基础上,训练和调整整个网络,更新参数θ。
在元学习的训练阶段,对于具有特定对象集的每个子任务P_k,提供多组人类演示{(d_i).^h}_k以及多组机器人演示{(d_j).^r}_k。将人类(d_k)^h执行的演示定义为人类执行P_k的图像序列,将机器人演示(d_k)^r定义为机器人执行相同动作基元的图像和动作序列。其中人类和机器人的演示可能具有不同的时间范围,因此需要将人类和机器人的演示基于所使用的对象和执行的原始对象进行对应,但不需要以任何方式对齐,例如执行速度、对象位置等。
在本文的方法中,不但需要基于复杂任务序列完成机器人子任务学习,同时还希望机器人能够学习到如何区分和组合学习到的基元,从而具有完成多阶段组合任务的能力。因此,本文训练两个模型,分别识别任何人类或机器人基元的时间进程或阶段,这两个模型可用于分割人类演示和终止机器人正在执行的基元从而转移到下一个子任务。该方法的完整过程见图2。

monstrationprimitives,therobottemporallysegmentsahumandemonstration(justavideo)ofindividualprimitivesandlearnstoperformeachsegmentedprimitivesequentially.

至此,本文所提出的解决复杂学习任务的元学习方法介绍完毕。
实验分析
1.模拟订单执行:机器人须学会挑选并将一组特定的新对象放入一个箱子,并将箱子推到指定的位置。
本文基于MuJoCo物理引擎中的Sawyer机械臂对一系列模拟订单执行任务的方法进行评估,使用一个对象和两个对象订单完成任务来评估每个方法。实验结果见图3。

(top)andsimulatedSawyer(bottom).
结果如表1所示,基于梯度的元学习和阶段预测都改进了方法的效果。作者指出,几乎所有的失败案例都是由单样本模仿学习者引起的,主要与抓取有关,这说明本文提出的方法在解决视觉对象精确定位和精确控制的要求方面还存在一些问题。

mentfromasingledemonstrationwithcomparisons
2.PR2厨房服务:PR2须抓住一个物体,将其放入正确的碗或盘子中,并将其中一个盘子或碗推到机器人的左侧。

,unseenobjects.
总结与讨论
ContinuousRelaxationofSymbolicPlannerforone-shotImitationLearning
基于元学习的单样本模仿学习在机器人学习领域获得了很好的效果,然而该方法需要几百个元训练任务,这就限制了方法的可扩展性。本文将单样本模仿学习定义为一个符号规划问题(symbolicplanningproblem),本文的主要贡献是:
将单样本模仿学习定义为规划问题,有效将策略执行与任务间的泛化处理分开;
提出连续规划方法,允许直接处理符号状态分布,解决无效状态问题;
将模块化思想引入符号接地(grounding)神经网络,进一步提高任务间的泛化能力。
方法分析上一篇文章中,单样本模仿学习的过程是给定一个任务的演示,目标模型能够输出指导完成任务实例的策略。模仿学习的建模过程要同时实现演示理解和任务执行,因此对于数据效率具有很大挑战。
而第二篇介绍的文章,用了另外的思路,将单样本模仿学习定义为一个经典的符号规划问题。规划问题(So,Sg,O)包含初始状态So、目标Sg和一组运算符O={o}。每个运算符由以下项定义:O=(name(o),precondition(o),effect(o)),其中name(o)包括运算符名称和参数列表,precondition(o)指定应用运算符需要满足的条件,effect(o)定义运算后如何更新状态。状态State定义为所有真实的groundatom的集合(例如,{On(A,B),Clear(A)})。本文使用规划域定义语言(PlanningDomainDefinitionLanguage,PDDL)来解决规划问题。在PDDL中,规划问题被分为一个域文件和一个问题文件。其中,域文件包含O={g}运算符集和谓词集,问题文件包含初始状态So和目标状态Sg。
1.利用规划问题解决单样本模仿学习
本文将复合任务的建模分解为符号接地网络学习(SymbolGroundingNetworks,SGN)和连续规划执行(ContinuousPlanning,CP)。其中SGN完成任务间的泛化处理,CP执行策略。这样的分离大大降低了将任务推导至不可见任务的复杂性。方法的训练和测试过程见图1。
利用规划问题解决单样本模仿学习的过程可简述为:将演示映射到一个符号目标Sg,将当前观察到的连续状态Sc映射到相应的符号状态So,则可以使用规划来解决基于域文件中定义的运算符O的任务。So和Sg都可以通过解决将连续状态s映射到相应符号状态s的符号接地问题来求解。以Sg为例,给定一项任务,通过符号接地(grounding)将一段演示表示为d=[d_1,,d_T],其中最终状态d_T能够满足任务要求。使用SGN解决符号接地问题,通过预测当前和目标的符号状态,能够得到下式:
其中SGN网络的运算详细介绍如下。
2.符号接地网络(SymbolGroundingNetworks,SGN)
本文利用模块化神经网络结构来泛化学习任务和动作(谓语)的表示,从而完成对应任务的元学习(Meta-Learning)。给定一个未知任务的演示,SGN能够识别对应的目标Sg,同时能够将当前的连续状态Sc从任何任务映射到相应的符号状态,完成符号接地。由于实现了在相似域内共享符号接地,与传统的复合问题相比,SGN更易优化。对于每个谓词p,给定一个谓词模块f_p,对于每个对象b,给定一个对象模块g_b。通过多层感知器参数化处理后,groundatomp(b1,b2)的分类如下:
其中对象模块g_b从当前连续状态Sc中提取嵌入值,使用cat函数连接全部目标模块的嵌入值后输入预测模块f_p中。这一操作使我们可以共享域中每个groundatom的符号接地参数,从而提高SGN的数据效率。图2给出SGN处理2个groundatom的示例。Clear(A)和Clear(B)共享同一谓词模块f_clear。两个groundatom与On(a,b)共享所有目标模块。
(SGN)
3.连续规划(CP)
由于符号规划器的输入为离散的符号状态,因此其输出为离散化的概率输出。在单样本模仿学习问题中,离散化的输出不能确保合理化的符号状态。本文通过引入符号规划的持续性松弛来解决这一问题,允许持续性松弛的结果作为规划等式的概率输出。本文使用概率符号代替确定性规划中的集合论表示,从而使得CP输出一个基于SGN输出的操作列表。与经典符号规划问题类似,本文的CP也包含5个过程:
(i)描述当前状态
为了解决SGN输出的不确定性,本文采用概率符号状态进行表示,当SGN输出如下概率
这些概率值可以被看作是在所有8个可能的符号状态上指定一个分布,本文使用这个概率分布而不是一组groundatom作为CP的状态表示,从而实现了利用连续值进行符号规划。使用Z(s)表示符号状态的分布,它将符号状态s映射到相应的概率。假设已知所有groundatom的集合,并且atom之间是条件独立性分布的,使用P_z(s)(g)表示Z(s),P_z(s)(g)为给定所有g的分布Z(s)后groundatomg为真的概率。
(ii)找到可应用的操作列表
给定当前分布Z(s),动作a的适用概率为:
其中r(s,a)表示s满足a的前置条件集Pre(a)。由于满足条件独立分布,该求和可用前置条件集中groundatom的概率表示。
(iii)找到一个可应用操作
在连续条件下,对操作的选择问题改为对操作适用性的排序问题。
(iv)执行动作并达到新的状态
本文使用行动的尝试(attempt)来描述状态分布的改变。给定当前状态的分布,当尝试执行一个操作时分布会发生改变。同时,也有可能因为不满足先决条件而导致行动失败。执行动作a则状态Z(s)改变为Z'(s'):
其中第一项表征尝试成功的转换,第二项表征操作失败。根据这一定义,新分布Z'(s')中特定groundatom的概率为:
(v)目标达到后终止
由于连续状态下当前的状态和目标都不再由符号来表征,目标满足条件不再由符号状态中groundatom的存在来定义,相对应的,我们具有符号状态的当前分布以及目标状态的分布。因此,当前情况下的搜索目标是匹配这两个分布。
4.学习与推导
本文提出的CP是符号规划的连续性松弛,因此不需要训练。我们仅需要对SGN进行反向传播的训练,具体过程见算法1。
总体来说,本文模型可以作为一个以d^T为条件的闭环策略,具体见算法2。
由于预测值S^g和S^o只是状态上的分布,因此执行算法2的处理后模型可能无法达到目标。在这种情况下,我们更新初始符号状态S^o=SGN(Sc)并重新规划。
实验分析
作者把该算法与下列算法对比:神经任务图网络(NeuralTaskGraphNetworks,NTG)、符号规划+离散SGN(SymbolicPlanner)、SP+手工启发法*(ManulHeuristics)
1.堆箱子该任务目标是将8个方块集合堆放到目标配置中。方块大小为5厘米见方,演示的最终块配置作为目标状态。实验结果见图3。由图3可知,集中基于规划的方法都优于NTG策略网络。更重要的是,本文提出的方法通过操作状态上的分布,显著优于基线方法,这也体现了本文采用的连续松弛处理的优势。
2.BulletPhysics中的对象排序
对象排序任务的目标是将散布在桌面上的对象移动到演示中显示的相应容器中。实验结果见图4。图4中实验的主要难点是模型需要提出不同于演示的替代解决方案。本文提出的方法能够有效找到任务的替代解决方案,在仅有8个训练任务的情况下能够快速学习在不可见的配置上完成任务。
总结与讨论
不同于传统的基于元学习的单样本模仿学习,本文提出了一种连续松弛的符号规划方法,在模拟实验条件下该方法效果优于最先进的单样本模仿学习,为机器人模仿学习提供了一个新的研究思路。然而值得注意的是,本文给出的实验结果是在模拟器中运作的,其中堆箱子任务中block的颜色非常容易辨认,本文提出的基于感知器的SGN在这种条件下非常容易进行泛化,从而保证了符号规划方法的有效性。在实际应用场景中符号规划问题的适用性还有待进一步研究和论证。
One-ShotObservationLearningUsingVisualActivityFeatures
基于元学习的单样本利用神经网络通过one-shotdemo去学习一种元知识从而理解demo的意图并直接映射到控制输出,这种方法是从第一人称的角度出发「模仿」学习。本文提出了一种应用于机器人操作任务的仅需一次演示的单样本观察学习方法(One-shotobservationlearning),该方法的核心思想是从第三人的角度观看演示,将演示编码到一个活动空间中作为活动分类器的一部分。给定一个奖励函数,用于测量展示编码与执行相同任务的机器人实验等效编码之间的距离,通过迭代学习完成机器人机械手任务。本文将强化学习用于模拟机械手的实验中,将随机轨迹优化用于实际机械手的实验。实验结果表明,该方法可以在不同的观察视角、对象属性、场景背景和机械手形态下,从单个演示中成功学习任务。
图1给出本文提出的观察学习方法。第一,使用基于3D-CNN的特征提取器分别从演示和机器人动作中提取活动特征X_D和X_R。第二,使用奖励函数比较活动特征空间中的X_D和X_R,根据它们的相似度生成奖励信号。第三,学习算法控制机器人的动作,最大化奖励信号从而使机器人学会完成演示动作。
:Proposedone-shotobservationlearningmethod.
方法分析
1.特征提取
:C3Darchitecture
2.强化学习
学习算法利用学习到机器人系统的控制信号(U)的映射,在保证奖励最大化的情况下使机器人的运动接近演示的动作。在仿真实验和实际机器人实验中,分别采用强化学习和随机轨迹优化作为学习算法。
本文使用DDPG强化学习算法。强化学习中的状态是环境的瞬时视觉观察(由机器人系统观察)。本文利用在ImageNet上预训练的VGGNet将原始RGB图像转换为视觉状态特征。从VGG-16网络的最后一个卷积层获得的4608长特征向量用作状态表示。本文将随机轨迹优化作为实际机器人实验的学习算法来生成最优的控制序列。将最优控制问题定义为Hamilton-Jacobi-Bellman偏微分方程(PDE)。然后,找到控制U的最优序列使机器人能够通过对轨迹的前向采样来执行演示任务。本文定义成本函数C,将其最小化为:C=-r.^2。
实验分析
本文通过仿真和实际机器人实验验证方法的有效性。实验所考虑的任务是在真实的机器人实验中实现和推进模拟、锤击、扫射和打击。任务及其定义和任务完成措施见表1。为了探索该方法的恢复能力,通过改变观察视角、对象属性、场景背景和机械手的形态,对六种不同的设置进行了实验,见表2。
TABLEI:Taskswithdescriptionandtaskcompletionmeasures
TABLEII:Experimentalsetups
数据库:
仿真实验:
本文使用OpenAIGym和MuJuCo物理引擎搭建仿真环境,任务包括伸手和推。仿真机器控制使用3DOF控制器,在真实环境中收集一个演示用于人物学习。在每个实验中,分别以每次20集、每集60步和160步的速度运行DDPG强化学习算法10次。对于每次运行,该算法都返回一个对应最大奖励值的控制策略。训练结束后,选择奖励最高的两个控制策略。图3显示了所选实验的演示和执行快照以及相应的学习策略。
:Snapshotsofdemonstrationsandtheexecutionofcorrespondinglearnedpolicies
:Taskcompletionratesforthetaskofreaching(simulation)
:Taskcompletionratesforthetaskofpushing(simulation)
机器人实验:
在所有真实的机器人实验中,使用一个6自由度的UR5机械臂,该机械臂具有适合每个任务的不同末端执行器和10次迭代的轨迹优化。所有6个实验装置均用于推压和锤击任务。其中三个设置(V1、V2和M)用于扫荡和打击任务。每个实验运行2次,平均任务完成结果如图6和图7所示。由实验可知,本文方法能够在不考虑观察视角、目标特性、场景背景和机械手形态变化的情况下较好的完成任务。此外,实验还证明了控制动作的学习可以概括目标对象的颜色和形状,在背景杂波存在的情况下,对象的标识可以保持不变。
:Taskcompletionratesforthetasksreachingandhammering(realrobotexperiments)
:Taskcompletionratesforthetaskofsweepingandstriking(realrobotexperiments)
总结与分析
结束语
参考文献:[1]Duan,Yan,etal."One-shotimitationlearning."[2]ChelseaFinn(;query=Finn%2C+C),etal.「Model-AgnosticMeta-LearningforFastAdaptationofDeepNetworks().「ICML2017.[3]DuTran(;query=Tran%2C+D),etal.「LearningSpatiotemporalFeatureswith3DConvolutionalNetworks.」arXiv:1412.0767.
作者介绍:仵冀颖,工学博士,毕业于北京交通大学,曾分别于香港中文大学和香港科技大学担任助理研究员和研究助理,现从事电子政务领域信息化新技术研究工作。主要研究方向为模式识别、计算机视觉,爱好科研,希望能保持学习、不断进步。