21年9月来自UC Berkeley、Stanford和UPenn的论文“Bridge Data: Boosting Generalization of Robotic Skills with Cross-Domain Datasets”。
机器人学习有望实现宽广泛化的学习策略。然而,这种泛化需要足够多样化的数据集,而收集这些数据集的成本可能非常高昂。在计算机视觉等其他领域,通常使用共享的可重复使用数据集(如 ImageNet)来克服这一挑战,但这在机器人领域已被证明是困难的。一个问题:如何才能在机器人领域实现实际的数据重用,以实现端到端的技能学习?可以假设,关键是使用具有多个任务和多个领域的数据集,这样想要训练机器人在新领域执行新任务的新用户,可以将该数据集纳入训练过程,并从跨任务和跨领域的泛化中受益。
为了评估这一假设,收集一个大型多领域和多任务数据集,其中包含 10 个环境中的 7,200 个演示,构成了 71 个任务,并通过实证研究这些数据如何改善新环境中新任务的学习。与仅使用目标域数据相比,使用建议的数据集和新领域中 50 次未见任务的演示进行联合训练,平均可将成功率提高 2 倍。新领域中仅有少数任务的数据可以弥补域差距,并使机器人能够执行仅在其他领域中见过的各种先验任务。这些结果表明,重复使用包括该开源数据集在内的各种多任务和多领域数据集,可能会为更宽广的机器人泛化铺平道路,从而无需为每个新机器人学习项目重新收集数据。
人类和动物可以将学到的技能推广到各种各样的情境中,无需每次都重新学习该技能。如果赋予机器人同样的能力,将是让机器人更适用于各种现实世界环境的重大进步。然而,机器人学习的主流模式,是针对每个新任务和环境从头开始重复数据收集和策略训练。孤立地学习策略,不仅增加了数据收集的成本,而且还限制了策略的推广范围。
在其他领域,如计算机视觉 [1] 和自然语言处理 (NLP) [2],利用大型、多样化的数据集已显示出相当大的成功,能够用少量数据(例如,通过预训练和微调)推广到新问题或领域。然而,在机器人技术领域,数据集通常是针对特定的机器人平台和领域收集的,通常由打算使用该数据集的同一位研究人员收集。如何才能使数据集在机器人技术中可重复使用,就像重复使用大型监督数据集(例如 ImageNet [3])一样?这种数据集的每个最终用户可能都希望他们的机器人学习不同的任务,这些任务将位于不同的领域(例如,不同的实验室、家庭等)。目前,这种重复使用在机器人技术中是否可行,仍是一个悬而未决的问题,假设任何这样的数据集都需要涵盖多个不同的任务和多个不同的领域。
为此,本文研究这种多任务和多领域的数据集(称之为一个 Bridge 数据集)在多大程度上可以使新领域(Bridge 数据中未见过)中的新机器人,在学习新任务(Bridge 数据中也未见过)时更有效地泛化,以及将任务从 Bridge 数据转移到目标领域。还提出一个数据集,可以在使用低成本机械臂完成厨房主题任务的背景下实现这一目标,旨在供其他研究人员重复使用。
提出一个核心的假设:先前的数据是否可用于改善新领域中新任务的泛化能力?起名为 Bridge 数据假设。这是机器人技术中有效数据重用的关键要求,不同的实验室和研究人员都可以从相同的共享数据集中引导。为了研究这一点,收集一个新的多域操作数据集,其中包含 71 个不同且语义上有意义任务的 7,200 个演示,主题围绕厨房环境中的家务。数据是在 10 个不同的“玩具”厨房中收集的,如图所示。
这些数据适用于模仿学习,这是工作的重点,但它也可以在未来重新用于离线强化学习 RL 和其他算法。新数据集用来评估 Bridge 数据假设,使用三种类型的迁移场景:(1)当用户需要在新领域中训练现有任务时,加入 Bridge 数据是否会提高性能?这大致对应于标准域自适应设置。 (2)当用户在新领域中收集了一些任务数据后,他们的机器人是否可以执行新领域中未见但仅存在于 Bridge 数据中的其他任务(即,它可以从 Bridge 数据中“导入”任务)? (3)当用户在新领域中收集一些 Bridge 数据中未见过的任务数据时,是否可以将 Bridge 数据纳入训练来提高该任务的性能和泛化能力?场景(3)直接评估核心假设,而其他场景则说明了 Bridge 数据的其他潜在用途。
现有的机器人学习数据集没有表现出正确的特性,无法提升新领域中新任务的泛化能力,也无法将技能从先前数据集零样本迁移到目标领域。大多数现有的机器人数据集,例如 MIME [16]、DAML [10]、RoboTurk [17]、[18] 以及许多其他数据集 [19]、[20]、[21]、[22]、[23]、[24]、[5] 都只包含一个领域,因此很难用于提升其他领域的泛化能力。如表是 Bridge 数据集与之前研究结果的比较。该数据集拥有当时最多的任务,并且是唯一拥有超过 2 个任务且涉及多个领域的数据集。这对于评估 Bridge 数据假设至关重要。
由于数据收集协议、时间离散化、机器人形态和传感器的不一致,将多个现有数据集合并为一个多领域数据集非常困难。已经使用 RoboNet [6] 研究从多机器人的学习,其提供一个包含 7 个不同领域机器人的数据集。这里的数据是用随机运动生成的,不会产生语义上有意义的任务。这将任务复杂性限制在推动和基本抓取上,这样的数据不太适合模仿学习。
“Bridge 数据集”这个术语,特指在一系列设置(例如,不同的视点、光照条件、目标和场景)中为一系列不同任务收集的大型多样化机器人行为数据集,以便能够“桥接”当用户在其特定目标域中提供少量到中量数据时出现的泛化差距。术语“目标域”,定义为机器人必须执行所需任务的环境。此目标域不同于 Bridge 数据集中看到的任何设置:目的是让所有用户将相同的大型 Bridge 数据集用于他们需要的任何目标域。
提升泛化
考虑三种泛化:匹配行为的迁移、目标支持的零样本迁移和新任务的泛化提升。如下图所示:
为了实现这种泛化提升,推测 Bridge 数据集必须具备以下关键特征:(i)足够多样的设置,实现良好的泛化;(ii)Bridge 数据域和目标域之间具有共享结构(即,期望使用厨房任务 Bridge 数据,让一个建筑机器人实现泛化是不合理的);(iii)足够多的任务范围,打破任务和域之间不必要的相关性。
类似于 ImageNet 数据集 [3] 提供广泛的覆盖范围,从而可以提升一系列计算机视觉任务的泛化能力,Bridge 数据集越广泛,目标任务在特定目标域中获得泛化提升的可能性就越大。
一个大规模厨房任务的Bridge数据集
由于数据集对于拥有相同或类似类型机器人的用户来说可能是最有用的,因此选择使用一款低成本且广泛使用的机器人,即 6 自由度 WidowX250s(2900 美元),数据集的许多其他用户可能能够获得它。该设置的总成本不到 3600 美元(不包括计算机)。为了收集演示,使用 Oculus Quest 耳机,放在机器人旁边的桌子上(如图所示),并通过逆运动学将用户的动作应用于机器人末端执行器,同时跟踪用户的手机。用标准网络摄像头以及英特尔 RealSense 深度摄像头,同时从 3 到 5 个传感器位置捕获图像。
作为概念验证(POC),为了说明Bridge 数据集对于提高机器人学习泛化的实用性,展示利用该数据的模仿方法的实验结果,尽管该数据也可以与各种其他机器人学习算法一起使用,例如离线 RL 和基于模型的规划。
用任务条件的行为克隆 (BC),并在策略中添加一个额外的任务 ID 输入,用于在训练和测试期间区分不同任务。在某些情况下,仅通过观察输入图像无法唯一地确定任务,而表示任务的 one-hot 向量将解决此问题。首先将图像输入到 34 层 ResNet [26] 中,然后将生成的特征图通过空间 softmax [27]、[28],提取一组相关特征的空间位置。然后将空间特征与 one-hot 任务 ID 向量连接起来,并输入到 3 层全连接网络中,通过该网络生成最终的动作预测。在训练期间,对于包含任务 ID、图像和真实动作多元组的一批训练数据,最小化真实动作与策略给出的预测动作之间标准 l2 误差来训练网络,前提是任务 ID 和图像观测作为输入。
由于目标域数据量通常明显小于 Bridge 数据量,因此在训练期间重新平衡这两个数据集。在匹配行为和零样本迁移(带目标支持)场景中,桥梁和目标数据中的轨迹数量之比大约为 10:1,重新平衡数据,使得数据集的 70% 为Bridge 数据,30% 为目标域数据。在“促进新任务泛化”场景中,不平衡更为严重,大约为 60:1,因此重新平衡数据,使得数据集的 90% 为桥梁数据,10% 为目标域数据。当目标域数据量低至 50 次演示时,桥梁数据和目标域数据的较低重平衡比率,往往会产生过拟合。