学界 | 看一遍人类动作就能模仿,能理解语义的谷歌机器人登上无监督学习的新高度
AI 科技评论按:机器学习能让机器人学会复杂的技能,例如抓住把手打开门。然而学习这些技能需要先人工编写一个奖励函数,然后才能让机器人开始优化它。相比之下,人类可以通过观察别人的做法来理解任务的目标,或者只是被告知目标是什么,就可以完成任务。目前,谷歌期望通过教会机器人理解语义概念,以使得机器人能够从人类的示范中学习动作,以及理解物体的语义概念,完成抓取动作。
以下为 AI 科技评论编译的这篇谷歌博客的部分内容。
问题的引入
人类与机器人不同,我们不需要编写目标函数即可以完成许多复杂的任务。我们可以这样做,是因为我们利用了自己对世界先验知识:当我们看到有人切苹果时,我们明白,目标是切出两个苹果片,不管它是什么类型的苹果,还是用什么样的工具来切苹果。同样,如果我们被告知拿起苹果,我们明白我们要抓住特定的物体“苹果”,而不是梨或者桃子,因为我们可以在环境中理解“苹果”这个词:我们知道这个词的意思。
这些就是语义概念:例如切两个苹果切片为显著事件,而“苹果”这样的词就表示的物体类别。那么我们可以教导机器人来了解语义概念,让它们通过物体类别标签或用户提供的示例来实现简单命令吗?在这篇文章中,谷歌的研究者讨论了他们最近关于机器人学习的一些工作,它们结合了机器人自主收集的经验和人工标注的数据,其中机器人的自主收集的数据很丰富,但缺乏人工提供的标注,而人工标注的数据能使机器人更好地理解语义。同时本文也描述了机器人如何使用它们的经验来理解人工示范中的显著事件,并且理解诸如“玩具”和“笔”之类的语义类别,以基于用户命令拾取物体。
通过深度视觉特征理解人类示范
在第一组实验中,研究者介绍了他们这篇论文中的内容:「Unsupervised Perceptual Rewards for Imitation Learning」。目标是使机器人能够在只看到少量未标注的人类演示的情况下,理解一个任务,比如打开一扇门。通过分析这些演示,机器人必须理解执行哪些语义方面显著的事件能够使任务成功,然后使用强化学习来执行这些显著事件。
左图:人类演示 右图:相应的机器人模拟
在非常小的数据集上使用无监督学习是机器学习中最具挑战性的场景之一。为了使该方法可行,研究者使用了从ImageNet上进行图像识别训练的大型网络的深度视觉特征。这种深度视觉特征对于语义概念是敏感的,能够很好的提取语义概念,同时防止诸如外观和照明等变量的干扰。研究者使用这些功能来解释用户提供的演示,结果显示从几个演示中就可以以无监督的方式学习到奖励函数,而无需额外训练。
在从观察中学习到奖励函数之后,研究者用它来引导机器人学习开门任务,只使用图像来评估奖励函数。借助初始的动作演示,机器人有10%的时间能够成功完成开门动作,而在机器人使用学习到的奖励函数继续学习之后,准确率则能够提高到100%。
学习过程
通过自我监督和模仿来模仿人的动作
在「Time-Contrastive Networks: Self-Supervised Learning from Multi-View Observation」这篇论文中,谷歌的研究者提出了一种从观察中学习世界的新颖方法,并通过自我监督的姿态模拟实验证明了该方法的可行性。该方法主要依靠的时间和空间的同时性进行监督:通过训练区分视频不同时期的帧,该方法学会将现实分解和组织成有用的抽象表示。
在例如姿态模拟的任务中,抽象表示的不同维度可能编码了人或机器人身体的不同关节。研究者并没有手动定义人与机器人关节之间的映射(这种映射通常由于人和机器人的生理差异而模糊不清),而是让机器人以端到端的方式进行模仿学习。当模型同时接受人和机器人观察的训练时,即使没有提供任何人与机器人的对应关系,模型也可以自然地发现两者之间的对应关系。因此,该方法可以得到一种机器人,无需人与机器人之间的对应关系,即可模仿人的姿势。
机器人的自监督人类动作模拟
上面展示的多对一和高度非线性关节映射是端到端学习有点的有力证明。在这个例子中,人的上下运动涉及许多关节,而机器人只需要一个关节。结果显示机器人并没有使用任何明确的人类姿态信息,本身就发现了这种高度复杂的映射
通过物体语义类别进行抓取
上面的实验展示了人类如何通过演示来制定机器人的目标,在这种情况下,机器人必须解释任务的语义:显著事件和姿势的相关特征。如果不向机器人展示任务来制定目标,而是只是通过告诉机器人要做什么来制定目标,这该怎么办呢?这就需要机器人理解语义,以便识别世界中哪些物体与用户指定的语义类别相对应。在End-to-End Learning of Semantic Grasping这篇文章中,谷歌的研究者研究了人类手工标注的数据和机器人自动收集的数据的组合如何用于执行语义抓取的任务,机器人必须从与箱子中拾取用户指定物体,例如“橡皮擦”或“玩具”。
为了学习如何执行语义抓取,机器人首先通过自主地尝试拾取各种各样的物体,收集一个大量的抓取数据集。该数据本身可以使机器人拾取物体,但并不能使机器人理解如何将物体与其语义标签相关联。为了能够理解语义,研究者再次使用了适度的人工监督。每次机器人成功抓住一个物体,机器人会对该物体进行拍照,如下图所示。
然后,这些图像的中的一部分由人工进行标注。由于呈现的图像展示了物体在抓取姿态下的标准外观,因此很容易通过在标注的图片上训练分类器,将这些标签传递给剩余的未标注的图像。然后标注过的表示图像即可以告诉机器人实际拾取了哪个物体。在此后机器人从箱子拾取物体时,可以将抓取时观察到的图像与标签联系到一起。
使用这个标记的数据集,谷歌的研究者训练了一个双流模型,该模型以当前获得的图像和机器人将要采取的动作为条件,预测应该抓取哪个物体。研究者采用的双流模型灵感来源于人类视觉皮层中观察到的dorsal-ventral分解,其中ventral流负责推理物体语义类别,而dorsal流负责推理抓取的几何结构。关键的是,ventral流可以包含由物体(不一定来自机器人)的标记图像组成的辅助数据,而dorsal流可以包含不具有语义标签的辅助数据,从而允许整个系统更有效地使用更大量的不同类别的标签数据。以这种方式,可以将有限数量的人工标记与大量自动收集的机器人数据结合在一起,以便根据所需的语义类别来抓取对象,如下面的视频所示:
https://youtu.be/WR5WUKXUQ8U
未来的工作
实验显示了有限的人工标注语义标签数据可以与由机器人自动收集和标记的数据相结合,以使机器人能够理解显著事件,物体类别以及用户的演示。将来,机器人系统可以通过用户标注的数据和不断增加自主收集的数据集的组合进行训练,提高机器人能力,并减轻设计自主机器人的工程负担。此外,随着机器人系统在现实世界中收集越来越多的自动标记的数据,该数据不仅可以用于改进机器人系统,还可以用于改进计算机视觉,语音识别和自然语言处理系统等其他系统,这些系统都可以从这样大的辅助数据中得到改进。
当然,这并不是研究者们第一次考虑机器人语义学。自然语言理解,机器人感知,抓取和模仿学习等的广泛研究工作已经考虑了如何在机器人系统中结合语义和行为,然而,谷歌的研究者在上面讨论的这些实验可能指向未来在自主机器人系统结合自我监督和人工标注数据进行工作的一个可行方向。
via Google Research Blog
文中所提到的论文地址:
Unsupervised Perceptual Rewards for Imitation Learning
- https://arxiv.org/abs/1612.06699
Time-Contrastive Networks: Self-supervised Learning from Multi-View Observation
- https://arxiv.org/abs/1704.06888