具身智能之RT-H

标题 : RT-H: Action Hierarchies Using Language
论文 : arxiv.org/html/2403.0...

导读

现有方法的问题:

  1. **任务与动作之间的映射学习难度增加:**随着任务变得更加语义上多样化,例如从"拿起可乐罐"到"倒杯咖啡",在多任务数据集中共享数据变得更加困难,因此学习将高级任务映射到动作需要更多的示例数据。
  2. **数据共享困难:**在多任务学习中,由于任务描述的语言变得更加多样化,例如"拿起可乐罐"与"倒一杯咖啡",这使得从高级语言任务描述中学习到的共享结构变得更加困难。
  3. **干预和纠正的挑战:**在交互式模仿学习中,机器人执行任务时的学习依赖于人类的反馈。现有方法通常需要在机器人的动作空间进行干预,如通过遥控操作或触觉教学,这对非专家来说可能具有挑战性,并且难以扩展。
  4. **语言干预的局限性:**一些工作研究了使用语言作为干预媒介的方法,例如在任务预测不正确时提供人类指导。但是,这些方法通常定义了一组固定的细粒度语言纠正,并将其映射到这些纠正原语上,这在更复杂的情境中可能缺乏上下文性。
  5. **数据驱动方法的局限性:**数据驱动的方法需要大量的语言纠正数据集,或者在部署期间需要共享自主性,这可能限制了方法的实用性和可扩展性。

思路

RT-H在高层次任务描述(task descriptions)和低层次动作(action)之间引入一个中间层,即语言动作(language motions),这些语言动作是用更细粒度的短语来描述机器人的低级动作,例如"向前移动手臂"或"向右旋转手臂"。 这种方法的优势在于:

  • **共享模型结构和数据:**尽管"拿起可乐罐"和"倒一杯咖啡"在语义上是不同的任务,但它们都可能涉及到相似的低级动作,如"移动手臂"或"旋转手腕",因此,即使任务在语义上不同,它们在语言动作层面可能完全重叠。通过学习这些共同的动作模式,RT-H能够更有效地在多个任务之间共享和迁移学习到的知识,能够在多任务数据集中更好地共享数据,从而提高其在执行多样化任务时的灵活性和鲁棒性。
  • **上下文感知:**RT-H学习的语言动作不仅与当前任务相关,还依赖于场景的上下文。这意味着相同的语言动作可以在不同的场景和任务中有不同的具体动作,从而提供了更大的灵活性和适应性。
  • **人类干预和纠正:**人类还可以通过语言动作来纠正机器人的行为,而不需要复杂的机器人操作,机器人也可以从这些纠正中学习,从而提高性能。
  • **从纠正中学习:**RT-H不仅可以响应人类的语言纠正,还可以从这些纠正中学习,以改进其性能。通过收集语言动作纠正数据并重新训练模型,RT-H能够更有效地从经验中学习,并提高其在新任务上的表现。

方法

RT-H模型架构

RT-H模型是基于VisionLanguage Model (VLM)的,具体来说,它使用了与RT-2相同的PaLI-X 55B架构。这个架构包括以下几个关键部分:

  1. ViT Encoder:用于处理输入的图像,将图像转换为一系列的tokens。
  2. Encoder-Decoder Transformer:将图像tokens和自然语言tokens结合起来,用于进一步的处理和动作预测。
  3. 动作表示:动作被离散化为一系列的可能性(例如,将每个动作维度离散化为256个可能的状态),并被编码为整数值。

动作层次化:(task->motion->action)

RT-H模型引入了一个动作层次结构,其中包括两个主要的查询阶段:

  1. 语言运动查询(Language Motion Query):先利用 VLM(RT2)将 task 和 scene 预测出一个细粒度的语言动作 motion
  2. 动作查询(Action Query):再同样利用 VLM(RT2)将 motion 和 scene 预测出一个细粒度的机器人动作 action(这里是token)

交互式模仿学习和纠正

人类干预和纠正(在线干预)

RT-H模型允许人类通过自然语言干预和纠正机器人的行为。这种干预可以在机器人执行任务的任何阶段进行,以帮助机器人更好地完成任务或避免错误。具体来说,当机器人在执行任务时遇到困难或错误时,人类可以提供新的语言动作指令来指导机器人。例如,如果机器人在拿起一个物体时动作不正确,人类可以输入新的指令,如"向左移动手臂"或"更慢地旋转手腕",以纠正机器人的动作。 这种干预方式有几个优点:

  1. 直观性:使用自然语言进行干预使得非专家用户也能够轻松地与机器人交流和指导。
  2. 灵活性:人类可以根据当前场景和任务的具体情况提供定制化的纠正。
  3. 易于扩展:与需要物理操作(如遥控操作)的干预方法相比,语言干预更容易扩展到多个用户和多样化的任务。 这种在线干预可以用于评估模型的性能,或者在模型部署后进行微调。

从纠正中学习(离线干预)

RT-H模型不仅可以响应人类的纠正,还可以从这些纠正中学习,以改进其未来的行为。当人类提供纠正时,这些纠正被视为额外的训练数据。模型会收集这些纠正数据,并将其与成功的任务执行数据一起用于进一步训练。 从纠正中学习的过程包括以下几个步骤:

  1. 收集数据:在机器人执行任务并接受人类纠正时,系统会记录下相关的观察数据、任务描述和语言动作纠正。
  2. 更新模型:使用收集到的纠正数据,模型会更新其语言运动查询部分,以便在未来更好地预测正确的行为。这一过程不需要重新训练整个模型,只需更新负责语言运动预测的部分。
  3. 提高性能:通过从实际的纠正中学习,模型能够逐步提高其在执行任务时的性能,减少错误并更好地适应新的任务和环境。

实验

训练

RT-H模型的训练遵循以下步骤:

  1. 预训练:使用大规模的互联网数据集对VLM进行预训练,以学习丰富的视觉和语言知识。
  2. 联合训练:在预训练的基础上,使用专家演示数据集对RT-H模型进行联合训练。这包括同时训练语言运动查询和动作查询,以便模型能够学习如何将高级任务描述映射到低级动作。
  3. 训练数据的组成:训练数据由原始数据集(包括动作和语言运动查询)和纠正数据集(仅语言运动查询)组成。这种混合数据集的训练方法有助于模型在学习如何从语言运动中预测动作的同时,也能从人类的纠正中学习。
  4. 采样权重:为了确保每个训练样本都能被适当地考虑,RT-H在训练时使用了不同的采样权重。例如,预训练查询占50%,演示数据中的语言运动查询和动作查询各占23%,纠正数据中的语言运动查询占4%。

指标

  • 性能提升:RT-H在多个任务上表现出比RT-2更高的成功率,平均提高了15%。这表明使用语言动作作为中间层的方法能够有效地利用多任务数据集,并提高策略的鲁棒性和灵活性。
  • 上下文感知:RT-H能够根据当前场景和任务指令的上下文来适应其动作。实验中展示了相同的语言动作如何在不同的情境下导致微妙的动作变化,证实了RT-H的上下文感知能力。
  • 对新指令的响应:RT-H不仅能够执行训练中学习到的语言动作,还能够灵活地响应人类在运行时提供的新的、未见过的指令。
  • 人类干预的效果:实验中,通过人类干预,RT-H的成功率得到了显著提高。这表明RT-H能够有效地响应人类的语言纠正,并根据这些纠正来调整其行为。
  • 泛化能力:RT-H在新场景、新物体和新任务上的泛化能力得到了测试。实验结果显示,RT-H能够在新环境中执行任务,并在完全未见的任务上通过少量纠正成功完成任务。
  • 动作层次结构的优势:与没有使用动作层次结构的模型相比,RT-H在多个任务上都显示出更高的性能。这证明了动作层次结构在提高数据共享和策略泛化方面的优势。
相关推荐
C++忠实粉丝41 分钟前
前缀和(6)_和可被k整除的子数组_蓝桥杯
算法
木向1 小时前
leetcode42:接雨水
开发语言·c++·算法·leetcode
TU^1 小时前
C语言习题~day16
c语言·前端·算法
吃什么芹菜卷1 小时前
深度学习:词嵌入embedding和Word2Vec
人工智能·算法·机器学习
wclass-zhengge1 小时前
数据结构与算法篇(树 - 常见术语)
数据结构·算法
labuladuo5201 小时前
AtCoder Beginner Contest 372 F题(dp)
c++·算法·动态规划
夜雨翦春韭1 小时前
【代码随想录Day31】贪心算法Part05
java·数据结构·算法·leetcode·贪心算法
hsling松子6 小时前
使用PaddleHub智能生成,献上浓情国庆福
人工智能·算法·机器学习·语言模型·paddlepaddle
dengqingrui1237 小时前
【树形DP】AT_dp_p Independent Set 题解
c++·学习·算法·深度优先·图论·dp
C++忠实粉丝7 小时前
前缀和(8)_矩阵区域和
数据结构·c++·线性代数·算法·矩阵