RT-H:使用语言的动作分层

227 篇文章 0 订阅
154 篇文章 0 订阅

24年6月来自谷歌和斯坦福的论文“RT-H: Action Hierarchies Using Language”。

语言提供了一种将复杂概念分解为可消化块的方法。机器人模仿学习方面的最新研究,提出了学习语言为条件的策略,可以根据视觉观察和语言指定的高级任务预测动作。这些方法利用自然语言的结构,在多任务数据集中,在语义上相似的任务(例如“挑选可乐罐”和“挑选苹果”)之间共享数据。然而,随着任务在语义上变得更加多样化(例如“挑选可乐罐”和“倒杯子”),在任务之间共享数据变得更加困难,因此学习将高级任务映射到动作需要更多的演示数据。

为了弥合任务和动作之间的这种鸿沟,有这样的一个想法:教机器人这种动作的语言,用更细粒度的短语(如“向前移动手臂”或“闭合夹子”)描述低层动作。预测这些语言运动(language motion)作为高级任务和动作之间的中间步骤,迫使策略学习看似不同任务之间低层动作的共享结构。此外,以语言运动为条件的策略,可以在执行过程中通过人类指定的语言运动,轻松纠正。这为灵活的策略提供了一种新范式,可以从人类对语言的干预中学习。RT-H 方法使用语言运动构建一个动作分层结构:它首先学习去预测语言运动,并以此以及高级任务为条件,在所有阶段使用视觉上下文预测动作。RT-H 利用这种语言运动分层结构,有效利用多任务数据集来学习更强大、更灵活的策略。这些策略不仅可以对语言干预响应,还可以从此类干预中学习,并且优于从远程操作干预中学习的方法。

语言是人类推理的引擎,能够将复杂的概念分解为更简单的概念,纠正误解,并在新环境中推广概念。近年来,机器人也开始利用语言高效的组合结构来分解高级概念 [1]、提供语言校正 [2、3] 或将其推广到新环境 [4]。这些工作通常有一个共同的范例:给定一个用语言描述的高级任务,例如“挑选可乐罐”,它们会学习一种策略,将语言中的观察和任务描述,映射到大型多任务数据集中的低层机器人动作。

在这些环境中,语言的优势在于对类似任务之间的共享结构进行编码(例如,“挑选可乐罐”与“挑选苹果”),从而减少学习从任务-到-动作映射所需的数据。然而,随着任务变得越来越多样化,描述每个任务的语言也变得越来越多样化(例如,“挑选可乐罐”与“倒一杯”),这使得仅从高级语言中学习不同任务之间的共享结构变得更加困难。

为了学习不同的任务,目标是更好地捕捉这些任务之间的相似性。语言能够表达的不仅仅是高级任务:还可以表达如何完成任务——一种更细粒度的表示,更接近低级动作。例如,可以将“挑选可乐罐”任务分解为一系列细粒度的行为,将其表示为语言运动:“向前移动手臂”,然后“抓住罐子”,然后“向上移动手臂”。

主要见解是利用语言运动作为高级任务描述和低级动作之间的中间预测层——从而通过语言运动构建动作分层结构。创建这样的动作分层结构可带来多种好处:(1)它使不同任务在语言运动层面上的数据共享更加方便,从而更好地组合语言运动并在不同的多任务数据集中进行泛化。例如,尽管“倒一杯”和“拿起一个可乐罐”在语义上不同,但它们在语言运动层面上完全重叠,直到拿起目标。(2)语言运动不仅仅是固定的原语,而且在当前任务和场景的上下文中使用指令和视觉观察来学习。例如,单独的“向前移动手臂”并不能传达移动的速度或确切的方向向量;这取决于任务和观察。

学习语言运动的上下文和灵活性引入了一组新功能:当策略不是 100% 成功时,它允许人类对语言运动提供自己的修正。此外,机器人甚至可以从这些人类的修正中学习,完全在语言运动领域。例如,对于“捡可乐罐”,如果机器人提前闭合夹持器,可以告诉它“将手臂向前移动”更长时间,RT-H 会根据当前场景进行解释。这种语言运动的细微变化不仅易于让人类提供,而且与纠正单个机器人动作相比,也更容易学习。

受语言运动优势的启发,本文提出一个端到端框架 RT-H(具有动作分层结构的机器人Transformer),用于学习这些动作分层结构:在每个步骤中,RT-H 以观察结果和高级任务描述为条件来预测当前的语言运动(语言运动查询),从而使模型能够推理如何在细粒度级别上执行任务。然后,RT-H 使用观察结果、任务和推断出的语言运动来预测该步(动作查询)的动作,其中语言运动提供了额外的背景信息以改善对精确动作的预测。为了从数据中提取语言运动,开发了一种自动化方法,从机器人本体感觉中提取一组简化的语言运动,从而无需任何手动注释工作即可产生一个包含 2500 多种语言运动的丰富库。模型架构基于 RT-2,这是一个大型视觉-语言模型 (VLM),它基于互联网规模的视觉和语言数据进行联合训练以改进策略学习 [4]。 RT-H 使用单一模型进行语言运动和动作查询,以利用这种广泛的互联网规模知识来处理动作层次结构的所有级别。

语言运动分层结构在摄取不同的多任务数据集时会产生显着的改进,在各种任务上的表现比 RT-2 高出 15%。在相同的任务上纠正语言运动的成功率接近完美,证明了学习语言运动的灵活性和语境性。此外,使用语言运动干预对模型进行微调,其表现比 IWR [5] 等最先进的交互式模仿学习方法高出 50%。最后,RT-H 中的语言运动比 RT-2 更好地泛化那些场景和目标的变化。

RT-H的示意图如下所示:

请添加图片描述
为了有效地捕捉多任务数据集中的共享结构(高级任务描述无法表示),目标是学习明确利用动作层次结构的策略。具体来说,在策略学习中引入了一个中间语言运动预测层。描述机器人细粒度行为的语言运动可以从多任务数据集中捕获有用的信息,并可以产生高效的策略。
当学习的策略难以执行时,语言运动可以再次发挥作用:它们为给定场景相关的在线人工校正提供了直观的界面。使用语言运动训练的策略可以自然地遵循低级人工校正,并在给定校正数据的情况下成功完成任务。此外,甚至可以在语言校正数据上训练该策略并进一步提高其性能。

关于RT-H 的概览如图所示。左图:利用语言来创建策略学习的动作层次结构;将动作预测问题分为语言运动查询 (πh) 和动作查询 (πl),前者使用图像tokens和任务描述tokens来预测细粒度的语言动作,如“向前移动手臂”,后者使用任务和场景的上下文灵活地将此语言运动解码为动作。利用基于 RT-2 [4] 的单个 VLM 来处理这两个查询,该 VLM 将动作分层结构每个级别互联网规模数据中的广泛先验知识封装起来。右图:用户可以直接干预动作查询,为机器人行为提供语言运动校正,例如此处将“向左移动手臂”改为“向前移动手臂”(顶部)。要从校正中学习,可以使用新标记的语言运动校正来更新语言动作查询(底部)。然后将更新后的模型部署回动作分层结构(橙色块)。

请添加图片描述

RT-H 有两个关键阶段:首先根据任务描述和视觉观察预测语言运动(语言动作查询,图左上角),然后根据预测的语言运动、任务和观察结果推断出精确的动作(动作查询,图左下角)。使用 VLM 主干实例化 RT-H,并遵循 RT-2 [4] 中的训练程序。与 RT-2 类似,联合训练利用互联网规模数据中自然语言和图像处理方面的大量先验知识。为了将这些先验知识纳入动作层次结构的所有级别,单个模型同时学习语言运动和动作查询。

RT-H 和 RT-2 [4] 是使用 Pali-X 55B 多模态编码器-解码器 Transformer 架构 [53] 实现的。图像使用 22B ViT 架构进行编码,该架构是在 Pali-X 预训练阶段学习的,但在机器人演示数据联合训练期间固定下来。编码后的图像和提示通过编码器,每个查询的输出使用解码器进行自回归解码。

RT-H:RT-H 首先使用以下语言运动查询预测任务中的语言运动:问:机器人应该对 [任务] 做什么技能?答:,其中任务以语言指定,并以语言返回生成的语言运动(技能)。然后,它使用预测的语言运动来更好地通知动作预测,使用以下动作查询:问:机器人应该用当前技能对 [任务] 做什么动作:[动作]? A:,其中输出是token化的动作字符串。RT-H 的训练方式与 RT-2 [4] 相同。首先,在与 RT-2 相同的大型视觉-语言数据集上对 RT-H 进行预训练,然后使用 50% 的整体训练样本(各占 25%)以及 50% 的原始预训练混合样本共同训练语言运动和动作查询。与 RT-2 类似,使用 1e-3 的学习率,使用恒定的线性预热和平方根正则化衰减,批量大小为 1024。

RT-H-Joint:与 RT-H 不同,RT-H-Joint 使用单个查询来预测语言运动和动作。虽然这两种方法都是语言运动的自回归,但 RT-H 有两个查询,它们使用不同的措辞来指示语言运动或动作预测,并且 RT-H 还将语言运动传递给动作查询的编码器,因为它是提示字符串的一部分。 RT-H-Joint 的提示如下:问:机器人应该对 [任务] 采取什么技能和动作?答:。然后输出是语言中的第一个语言运动(技能)的串联,然后是token化的动作字符串,形式为技能:[技能],动作:[动作]。RT-H-Joint 的训练方式与 RT-2 和 RT-H 相同,但使用联合语言语言和动作查询,而不是 RT-2 中的动作预测。

RT-H-Cluster:RT-H-Cluster 遵循与 RT-H 相同的两个查询程序和训练实施。为了确定动作集群,首先使用数据集统计数据对数据集中的动作进行规范化。然后,用 256 个聚类中心的 K-means [55] 对动作进行聚类。选择这个数字与来自自动标记程序的数据集中主动使用的语言运动数量相当。然后,将聚类中心替换为 0 到 255 之间的整数,并用于代替动作层次结构中的语言语言。

RT-H-OneHot:RT-H-OneHot 也遵循与 RT-H 相同的两个查询程序和训练实施。唯一的变化是用整数替换唯一的语言运动。首先按常见程度对技能进行枚举,然后为每个技能分配一个唯一的整数值。重要的是,这种表述并没有捕捉到语言的固有结构:例如,“向前移动手臂”和“向前和向左移动手臂”在许多方面都很相似,应该这样处理,但它们替换的 one-hot 标签可能与任何其他两个随机语言运动一样等距。因此,RT-H-OneHot 在预测语言运动时测试了语言结构的重要性。

RT-H 使人类能够使用新的语言运动进行干预,然后这些纠正可以部署到机器人身上。为了训练 RT-H 进行纠正,可以直接输入或说出语言运动的纠正,这些纠正将直接传递到动作查询中,代替从语言运动查询推断出的语言运动。这将纠正的负担在动作层次结构中上移了一个级别,从动作转移到语言语言。收集语言运动纠正的数据集,记录观察结果、任务和语言运动纠正,然后使用原始预训练数据集、机器人演示数据集和加权的语言运动纠正共同训练模型。对于如此大的演示数据集,目标是让每个纠正样本的出现频率是相应演示数据集示例的 50 倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值