halcyon、魏子敏编译

只需看一眼,伯克利最新机器人就可以copy你的动作!

通过观察另一个人的做法来学习一项新技能,即模仿的能力,是人类和动物智力的关键部分。我们能让机器人做同样的事情吗?

伯克利研究中心近日po出的一个新的研究成果中,机器人也可以通过一次性观察,模仿人类的某个动作了。

观察人类之后,即使调整了顺序,机器人依然学会了把桃子放进红碗里👆

机器人具备这种“模仿”能力有什么意义呢?

伯克利称,这或许将成为我们与机器人沟通的一种新的方式。

之前,人类与机器人的沟通多基于要远程操作机器人或设计奖励函数。这种方法依赖一个成熟的感知系统,因此比较困难。而在模仿系统下,想要让机器人完成一个任务,我们只需简单地向机器人展示我们想让它们做什么就可以了。

其实,这一领域已有很多精彩的研究,比如模仿学习——机器人如何从自己的同类专家(即通过远程操作或动觉教学)中学习。

然而,基于视觉技能的模仿学习通常需要专家多次演示一项技能。

例如,使用原始像素输入访问单个固定对象,这样的任务需要多达200次演示,才能获得良好的性能。

如果演示次数太少,机器人一般很难学会。

此外,当机器人需要模仿表现出某种操作技能的人类时,这个问题变得更加具有挑战性。

首先,机器人的手臂看起来和人类的手臂有很大的不同;

第二,在人类演示和机器人演示之间建立正确的对应关系是非常难的。

只是跟踪和重新绘制运动图还不够简单:这项任务更关键地取决于这个运动如何影响世界中的物体,需要建立起一个基于交互的通信。

为了让机器人能够从一个人类的视频中模仿技能,伯克利这一研究的创新之处在于,让机器人融合以前的经验,而不是从头开始学习每一项技能。

通过结合以前的经验,机器人还应该能够快速地学习操作新对象,同时不改变域的改变,这种改变包括:提供演示的人、变化的背景场景或不同的视角。

伯克利希望通过学习从示范数据中学习来实现这两种能力:小样本模仿(few-shot imitation)和域不变性。这项技术,也被称为元学习,是我们如何让机器人具备通过观察并模仿人类的能力的关键。

点击查看元学习相关资料👇:

http://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/

一次性模仿学习(One-Shot Imitation Learning)

那么,如何利用元学习机器人快速适应不同的对象呢?

伯克利的方法是将元学习模仿学习结合起来,使一次性模仿学习成为可能。其核心思想是提供一个特定任务的单一演示,即操纵一个特定对象,机器人可以快速识别任务是什么,并在不同的环境下成功地解决它。

伯克利之前一项关于一次性模仿学习的研究通过学习成千上万的演示,获得了卓越的结果,比如在块堆叠等模拟任务上。

如果想要一个物理机器人能够模仿人类并操纵各种各样的新事物,我们需要开发一个新的系统,它可以学习如何从视频演示中学习,用一个可以在现实世界中实际收集的数据集。首先,讨论通过远程操作收集的单个演示的视觉模拟方法。然后,展示如何将它扩展到从人类的视频中学习。

一次性视觉模拟学习(One-Shot Visual Imitation Learning)

为了使机器人能够从观看视频中学习,伯克利的本次研究结合了模拟学习和有效的元学习算法,也即model-agnostic meta learning(MAML)。

点击查看元学习算法👇

http://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/

在这个方法中,伯克利用带有参数θ的卷积神经网络作为策略表示。从机器人相机和机器人结构(如关节角度和关节速度)的图像映射机器人在t时刻的动作(如抓手的线速度和角速度)。

以下是伯克利算法的三个主要步骤:

伯克利元学习算法的三个步骤👆

首先,收集一个巨大的数据集,其中包含远程操作机器人执行许多不同任务的演示,在伯克利提供的例子中,这些任务对应于操作不同的对象。在第二步中,运用MAML学习一组初始的策略参数θ,这样,在被提供了某个对象的一个演示之后,可以对那个对象运行梯度下降法找到可概括的策略参数。当使用远程操作演示时,可以通过比较策略的预测动作来计算策略更新

然后,通过驱动更新策略匹配来自同一对象的另一个演示的操作来优化初始参数θ。在元训练之后,可以要求机器人通过使用该任务的一个演示来计算梯度步骤来操作完全不可见的对象。这一步叫做元测试。

由于该方法没有为元学习和优化引入任何额外的参数,结果证明它是非常数据有效的。因此,只需观看远程的机器人演示,就可以完成推放等多种控制任务:

使用单个演示将物体放置到新容器中。左:演示。右:学会策略。👆

通过域自适应元学习观察人类的一次性模仿

上述方法仍然依赖于远程操作机器人的演示而非人类的演示。为此,伯克利还在上述算法的基础上,设计了一种域自适应一次性模拟方法。

伯克利收集了远程操作机器人和人类完成的许多不同任务的演示。然后,提供人工演示来计算策略更新,并使用执行相同任务的机器人演示来评估更新的策略。该算法的图示如下:

图:域自适应元学习概览

遗憾的是,由于人工演示只是一个人执行任务的视频,它不包含专家操作,所以伯克利也提出,无法计算上面定义的策略更新。因此,其建议学习一个更新策略的损失函数,一个不需要动作标签的损失函数

学习损失函数背后的直觉是,可以获得一个函数,该函数只使用可获得的输入、未标记的视频,但仍然可以生成用于更新策略参数的梯度,从而产生一个成功的策略。

虽然这似乎是一项不可能完成的任务,但重要的是要记住,在梯度步之后,元训练过程仍然用真正的机器人动作来管理策略。因此,学习损失的作用可能被解释为简单地指导参数更新,以修改策略,以在场景中获取正确的视觉线索,以便元训练的动作输出将产生正确的动作。用时间卷积表示学习的损失函数,它可以在视频演示中提取时间信息:

伯克利将这种方法称为域自适应元学习算法,因为它是从来自不同域的数据中学习(在这里指人类视频),机器人的策略在这个域中运行。伯克利通过这种方法,使PR2机器人能够有效地学习如何将在元训练中看不到的许多不同的物体推向目标位置:

学会通过观察人的动作推送一个新物体👆

通过观察一个人对每个物体的操作,把很多物体放到目标容器中:

学会抓起一个新物体并把它放到之前没见过的碗中👆

伯克利还使用在不同房间用不同的摄像机收集的人类演示来评估这种方法。机器人仍然能很好地完成这些任务:

通过观察不同的角度不同环境下的人来学习推一个新的物体👆

下一步是什么?

伯克利称,既然其已经教机器人通过观看一个视频学会操纵新对象,下一步自然是进一步扩展这些方法,设置不同的任务对应于完全不同的运动和目标,比如使用各种各样的工具或玩各种各样的运动。

通过在任务的底层分配中考虑更多的多样性,我们希望这些模型能够实现泛化,允许机器人快速地为新情况制定策略。此外,在这里开发的技术并不是局限于机器人操纵甚至控制的。例如,模仿学习元学习都被用于语言环境中,在语言和其他顺序决策环境中,学会模仿一些演示是未来工作的一个有趣的方向。

入门伯克利机器人
1
相关数据
卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

范数技术
Frobenius Norm

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

模仿学习技术
Imitation learning

模仿学习(Imitation Learning)背后的原理是是通过隐含地给学习器关于这个世界的先验信息,就能执行、学习人类行为。在模仿学习任务中,智能体(agent)为了学习到策略从而尽可能像人类专家那样执行一种行为,它会寻找一种最佳的方式来使用由该专家示范的训练集(输入-输出对)。

梯度下降技术
Gradient Descent

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

损失函数技术
Loss function

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

元学习技术
Meta learning

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

感知技术
perception

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

机器人技术
Robotics

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

堆叠技术
Stacking

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

推荐文章
独家对话NIPS 2016最佳论文作者:如何打造新型强化学习观独家对话NIPS 2016最佳论文作者:如何打造新型强化学习观
机器之心机器之心
致研究者:2018 AI 研究趋势致研究者:2018 AI 研究趋势
机器之心机器之心
1
深度强化学习综述:从AlphaGo背后的力量到学习资源分享深度强化学习综述:从AlphaGo背后的力量到学习资源分享
机器之心机器之心
2
返回顶部