发表时间:CoRL 2018 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4500197057754718210¬eId=2424798567891365120 作者单位:Imperial College London
Motivation:就像人类一样,机器人应该能够利用来自先前学习任务的知识,以便在新的和不熟悉的环境中快速学习新任务。尽管如此,大多数机器人学习方法都专注于从头开始学习单个任务,泛化概念有限,并且没有利用知识更有效地学习其他任务的方法。一种可能的解决方案是元学习(本文也是采用元学习的训练策略,划分了support set 和 query set),但许多相关方法在扩展到大量任务的能力方面受到限制,并在不忘记先前学习的任务的情况下学习进一步的任务。
解决方法:考虑到这一点,我们引入了任务嵌入式控制网络(包括两个部分,任务嵌入+控制,训练时候是一起优化的),该网络使用来自度量学习的思想来创建一个任务嵌入,该嵌入可以由机器人从一个或多个演示中学习新任务(每个s是一个或者多个任务的平均(类似类别原型))。
实现方式:演示的图像被嵌入到任务的紧凑表示中,可以组合起来创建一个句子sentence。然后将这句话扩展为从该任务的新配置的最新观察,然后以闭环方式通过控制网络发送。任务嵌入网络和控制网络都经过联合优化以产生丰富的embedding。
任务嵌入式控制网络 (TecNets) 以存在任务嵌入的想法为中心,其中相似(在视觉外观方面)的任务应该在空间上彼此接近,而不同的任务应该彼此远离(伪代码第九行损失函数的设计,有点对比学习的思想)。由一个任务嵌入网络和一个控制网络组成,该网络在给定单个或多个演示的情况下,联合训练输出动作以获得不可见任务的新变化。任务嵌入网络负责学习任务的紧凑表示,我们称之为sentence。然后控制网络将这个(静态)句子以及当前对世界的观察来输出动作(也就是说s表示了由o到a的映射关系,通过(‖π(o, s) − a‖这个loss),而control network是想通过o和s再得到a(a = π(o, s)),s由test时候的observation得到)。TecNets 对可以学习的任务数量没有严格的限制,并且在训练期间不容易忘记先前学习的任务(因为每个任务的s都是保存好的),或者之后。设置在测试期间仅期望演示者的观察结果(例如视觉),这使得它非常适合从人类演示中学习。
是如何不忘记先前学过的任务的? 通过把每一类任务映射成一个s(而每个s在训练的时候都见过,学到的policy π具有通过test时候的s和o映射到对应的a的能力).
我们可以在模拟中训练我们的元学习能力,然后在现实世界中部署,而不需要任何额外的训练:
Task-Embedded Control Networks:
-
A policy π for task T maps observations o to actions a, and we assume to have expert policies π∗ for multiple different tasks.(感觉应该是不同的任务共用一个 π,因为后面说的是universal policy π(o, s))
-
Corresponding example trajectories consist of a series of observations and actions: τ = [(o1, a1), . . . , (oT , aT }), and we define each task to be a set of such examples, T = {τ1, · · · , τK }.(每一个轨迹表示为 T = {τ1, · · · , τK })
-
TecNets aim to learn a universal policy π(o, s) that can be modulated by a sentence s, where s is a learned description of a task T(s 是 T = {τ1, · · · , τK }的平均,表示当前任务。也就是说,每一个轨迹被映射成s)
-
The resulting universal policy π(o, s) should emulate the expert policy π∗ for task T.
Task Embedding:
A combined sentence sj ∈ RN is then computed for that task by taking the normalised mean of the example vectors:(s是同类t的平均),然后在通过上述loss去进行学习(联合优化,伪代码的9-11行)。
Control:
对于我们所有的实验,我们发现我们只需要取示例轨迹 τ 的第一帧和最后一帧来计算Task Embedding,因此丢弃中间的帧,从而产生 (width, height, 6) 的输入。(只用整个轨迹的第一帧和最后一帧)。
然后将来自任务嵌入网络的sentence平铺并逐通道连接到控制网络的输入(如图 2 所示),从而产生(宽度、高度、3+N)的输入图像,其中 N 表示sentence向量的长度。
也就是说s表示了由o到a的映射关系(‖π(o, s) − a‖),而control network是想通过o和s再得到a(a = π(o, s))
实验:two simulated experimental domains; a real-world robot arm
Simulated Reaching:Input to the control network consists of the (current) arm joint angles, end-effector position, and the 80 × 64 RGB image, whilst the taskembedding network receives only images (first and last).
Simulated Pushing:The control network input consists of a 125×125 RGB image and the robot joint angles, joint velocities, and end-effector pose, whilst the task-embedding network again receives images only.
Real-world:our TecNet is trained in simulation with a dataset of 1000 tasks with 12 examples per task.
结论:该方法的工作原理是通过嵌入网络学习任务的紧凑描述,该网络可用于条件控制网络来预测同一任务不同示例的动作。only visual information is available。与许多其他元学习方法不同,我们的方法能够在不忘记旧任务的情况下持续学习新任务,而不会失去其少样本能力。此外,我们证明了小样本能力可以在仿真中进行训练,然后部署在现实世界中。一旦部署,机器人就可以继续从单个或多个演示中学习新任务。