大模型时代的具身智能系列专题(四)

google deepmind团队

谷歌旗下最大的两个 AI 研究机构——地处伦敦 DeepMind 与位于硅谷的 Google Brain 合并成立新部门 Google DeepMind。其将机器学习和系统神经科学的最先进技术结合起来,建立强大的通用学习算法。代表作有AlphaGo,AlphaStar,AlphaFold等。近期在具身智能方面诞生了RT系列的作品。

主题相关作品

  • RT-1
  • RT-2
  • RT-H
  • RT-X
  • RT-Trajectory
  • SARA-RT
  • AutoRT

RT-1

RT1的出现就是为了解决:
• 机器人学习中的泛化问题。尤其是在真实世界控制任务中,模型需要能够处理多样化的任务、环境和对象。
• 机器人数据收集的难度和成本较高问题。训练具有良好泛化能力的学习模型,解决了如何在机器人领域中利用大规模、多样化的任务无关数据集来训练模型的问题
fig1
使用Everyday robots的移动机械手,它有7个自由度的手臂,一个两指夹持器和一个移动底座
fig2
我们的训练数据由人类提供的演示组成,我们用机器人刚刚执行的指令的文本描述来标注每个片段。指令通常包含一个动词和一个或多个描述目标对象的名词。为了将这些指示组合在一起,我们将它们分成许多技能。

tab1
RT-1的Transformer架构模型通过开放式任务无关训练和高容量架构来吸收多样化的机器人数据。RT-1模型结合了FiLM(Feature-wise Linear Modulation)调节的EfficientNet、TokenLearner以及Transformer,以实现高效的推理速度和实时控制的可行性。RT-1 的输入由图片序列、自然语言指令构成,输出由机械臂运动的目标位姿( x, y, z, roll, pitch, yaw)、gripper stαtus 、模式转换指令构成。

robotics transformers

fig

Instruction and image tokenization

使用预训练的EfficientNet和Universal Sentence Encoder来处理图像和文本指令,提取特征。通过FiLM层将图像特征和文本嵌入结合起来,以增强模型对任务相关特征的提取。
6张动作视频历史帧序列(分辨率300×300)输入到预训练的 ImageNet EfficientNet-B3 模型中得到 9×9×512 的 spatial feature map 然后flatten得到81个visual tokens
为了融合语言指令,RT-1 使用 Universal Sentence Encoder(USE)对指令进行 embedding,然后将这个 embedding 作为预训练的FiLM(Feature-wise Linear Modulation)层的输入
RT-1的图像和指令 tokenization 总共有16M的参数,包含26层 MBConv 块和FiLM层,输出 81个 vision-language tokens。

为了包含语言指令,我们以预训练语言嵌入的形式将image tokenizer设置在自然语言指令上,从而允许在早期提取与任务相关的图像特征并提高RT-1的性能。指令首先通过Universal Sentence Encoder(Cer et al., 2018)嵌入。然后将该嵌入用作输入,将identity初始化的FiLM层(Perez等人,2018)添加到预训练的EfficientNet中,以调节图像编码器。通常,将FiLM层插入预训练网络的内部会破坏中间激活,并抵消使用预训练权值的好处。为了克服这个问题,我们初始化稠密层(fc和hC)的权重,使FiLM仿射变换为零,允许FiLM层最初充当恒等并保留预训练权重的函数。我们发现,在没有ImageNet预训练的情况下,使用从头初始化的effentnet进行训练时,identity-initialized FiLM也会产生更好的结果,但它并没有超过上面描述的初始化。

TokenLearner

使用TokenLearner模块来减少Transformer需要处理的token数量,从而提高推理速度
为了进一步压缩需要处理的token数量并加快推理速度,RT-1采用了TokenLearner,这是一个element-wise attention module,它学习如何将大量token映射到更少的token集合中。

fig1
实现思路:
• 计算一个空间注意力图,突出显示重要区域(使用卷积层或 MLP)。
• 然后将这个空间自注意力图应用到输入中,来为每个区域进行不同的加权(忽略不必要的区域),并将结果空间池化,来生成最终学习的 token。
• TokenLearner将来自FiLM-EfficientNet层的81个视觉token降采样到8个最终token,这些token随后被传递给Transformer层。

Decoder-only Transformer

采用Transformer模型来学习图像、文本和动作之间的映射关系,并输出离散化的动作token。
实现思路:
• 将6张图的序列,每张图的8个token concat 成48个token
• 输入到一个decoder-only的Transformer里,包含有8个自注意力层和19M的参数,用于输出action token。

Action tokenization

action token在RT-1中被离散化为256个区间。这包括臂部运动的7个维度(x、y、z、滚转、俯仰、偏航、夹持器开度)和基座运动的3个维度(x、y、偏航)。
RT-系列训练中使用的动作字符串表示。这样一个字符串的例子可以是一系列机器人动作令牌号码,例如“1 128 91 241 5 101 127 217”,其中每个数字代表一个特定的动作区间(旋转、位置变化)。
pos
对所有的 action 进行归一化,然后拼接,得到下面这个轨迹:
fig2

Loss

我们使用标准的分类交叉熵目标和因果mask(早先在基于transformer的controllers上用的)

Inference speed

与许多大型模型的应用(如自然语言或图像生成)相比,需要在真实机器人上实时运行的模型的独特要求之一是快速和一致的推理速度。考虑到执行本工作中所考虑的指令的人类速度(我们测量的速度在2 - 4秒范围内),我们希望模型不会明显慢于此。根据我们的实验,这一要求对应于至少3hz的控制频率和由此产生的模型推理时间预算,给定系统中的其他延迟,小于100ms。

Model selection

通过Real to sim来近似评估跨多任务的模型性能,训练一个retinaGAN将仿真图像转成真实图像:
在这里插入图片描述

RT-2

前作RT1的限制:
• RT1 是纯 low-level controller 的任务,训练的时候不会从互联网规模的丰富语义知识中受益
• 机器人控制数据成本高,数据集小(130k),模型泛化性能差
• 模型参数量少(35M),无法具有理解和推理能力
• PaLM-E 这些又是 high-level planning 的,训练的时候会从互联网规模的丰富语义知识中受益,但是本质上是充当状态机的角色,只是解释命令并将其解析为单个原语(例如拾取和放置对象)

解决思路:
• 利用好PaLM-E 这种预训练的能力来增强泛化能力
○ RT1 只是尽可能地拟合数据集的轨迹,泛化能力有限
○ RT1+PaLM-E 可以找一些更符合人的行为的轨迹
• 即训练一个单一的模型同时具有以下两种能力:
○ 将机器人的观察转换成动作的能力(RT1)
○ 多模态大模型的推理能力(PaLM-E 等)

方法

结合high-level planning 的VLM 和大规模网络数据,使用网络数据和机器人轨迹联合微调SOTA VLM 得到Vision-Language-Action Models,即将大型预训练VLM 的能力直接集成到机器人的low-level control中(或者反过来说),从而促进泛化并实现语义推理的涌现
fig2

Pre-Trained Vision-Language Models(high-level reasoning & planning)

在这里插入图片描述
利用预训练的视觉-语言大模型(PaLI-X(5B & 55B)和PaLM-E(12B)),输入图片序列和文本,产生一个 token序列
1. 大规模数据集:这些模型通常在包含数十亿图像-文本对的大规模数据集上进行预训练,这些数据集涵盖了多种语言和广泛的主题,从而使模型能够学习到丰富的视觉和语义知识。
2. 多模态学习:预训练视觉-语言模型通过同时处理视觉(图像)和文本(描述、问题等)输入,学习到跨模态的表示,这使得模型能够理解和生成与视觉内容相关的自然语言。
3. 强大的基础能力:通过在多样化的互联网数据上进行预训练,这些模型获得了强大的基础能力,包括对象识别、场景理解、属性抽取和复杂的推理任务。
4. 迁移学习:预训练模型的一个关键优势是它们可以通过迁移学习适应特定的下游任务。这意味着在预训练阶段学到的知识可以迁移到新的任务上,通常通过在特定任务的数据上进行微调来实现。
注意:
• PaLM-E 生成连续的是控制指令(high-level instruction),如上图所示,而不是 action,直接output action的工作比如Gato、VIMA、RT-1等
• 文章只是假定了存在一个low-level policy or planner(low-level controller),可以将这些instruction翻译成low-level actions

Robot-Action Fine-tuning

RT-2将预训练的视觉-语言模型(VLMs)进一步训练,使其能够直接控制机器人的动作。这个过程的目标是让模型学会将视觉输入和语言指令映射到具体的机器人动作上,从而实现对机器人的闭环控制。
• 为了使视觉语言模型能够控制机器人,就必须训练它们来输出动作(low-level controller 而不是high-level instruction)
• 7个tokens表示一个动作,同 RT1
• 既学习从state/observation -> action 的映射
• 也能够从互联网的语言、视觉语言数据的大规模预训练中获益(Internet-scale training)
实现
标准的VLM模型可以输出完整的自然语言token;VLA模型需要输出能够被机器人执行的token,因此RT-2限制输出词汇表,仅采样可用的action token来实现对齐
• action 来自于当前图像、语言命令和特定timestep的机器人动作
• 把 action 对齐成 action tokens(同 RT1),这些action tokens 在模型的训练集中被当作自然语言text toekn 一样处理。
• 即:VLM 输出 text token,但是机器人需要 action token
在这里插入图片描述
训练的时候,把 action token 对齐为 text token,变成multimodal sentences放到训练集中,微调(co-finetune) VLM 得到 VLA
• web data:1B图片文本对,包含109种语言
• 机器人数据和RT-1相同,130k条数据;“Pick Object”, “Move Object Near Object”, “Place Object Upright”, “Knock Object Over”, “Open Drawer”, “Close Drawer”, “Place Object into Receptacle”, and “Pick Object from Receptacle and place on the counter”
• 在共同微调阶段,模型被训练来理解和生成这种结合了自然语言和动作标记的序列。模型学习如何根据视觉输入和语言指令生成正确的动作标记序列。
• 与原始web data一起 co-finetune 机器人数据,增加机器人数据集上的采样权重来平衡每个训练批次中robotics data和web data的比率。
推理的时候,transformer自回归生成的tokens会被de-tokenize为action(每一个timestep的action,交由机器人去执行)
这种action tokens和文本tokens对齐的方式在机器人policy中利用了VLM的backbone和pretraining,一定程度转移了泛化性、语义理解、机器人控制方面的推理能力

实验

• 该工作中训练的最大模型有55B参数;
• 可以直接运行在用于实时机器人控制的GPU上;
• 这是到目前为止最大的模型,用于端到端的机器人控制;
• 模型部署在muti-TPU的云服务上,通过网络调用这个服务;
• 最大的模型,RT2-PaLI-X-55B,运行频率1-3Hz;
• 小点的模型,5B参数,可以运行5Hz;
实验目标
• 评估RT-2在已知任务上的表现。
• 测试RT-2对新对象、背景和环境的泛化能力。
• 观察和量化RT-2的新兴能力,包括语义理解和基本推理。
• 研究模型参数数量和其他设计决策对泛化能力的影响。
• 探索RT-2是否能够展示类似于视觉-语言模型的链式推理能力。

指标

fig4
fig6
• 在已知任务上,RT-2与其他基线模型相比没有显著差异。
• 在泛化到新对象、背景和环境的实验中,RT-2比基线模型表现出约2倍的改进。
• 在评估新兴能力的实验中,RT-2在符号理解、推理和人类识别任务上显著优于基线模型。
• 在模型大小和训练策略的消融实验中,发现更大的模型和共同微调策略能够带来更好的泛化性能。

总结

做的事情和大致的思路其实和以前的RT-1, VIMA等模型没啥区别,本质上就是一种将预训练的 PaLM-E 等预训练的 VLM 大模型如何加进这些模型中,不过从VLM finetune、action token对齐text token是比较新的点
限制:
• RT-2可以执行更加复杂的指令,这是因为从自然语言到动作能更容易被理解;但是不能泛化到新的行为上,因为网络上获取的数据只能帮助模型学会更多的视觉语义信息,无法学会新的行为
• 由于机器人数据集总体量级很少,并且无法搜集机器人没有做过的行为
• 可以从人类行为的视频中提取数据
无法实时推理:机器人控制模型需要模型能够实时推理,RT-2参数量太大,无法实时推理。后续工作的重点可以考虑模型量化和蒸馏,加快推理速度。

RT-H

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

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个可能的状态),并被编码为整数值。
fig2

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

RT-H模型引入了一个动作层次结构,其中包括两个主要的查询阶段:
1. 语言运动查询(Language Motion Query):先利用 VLM(RT2)将 task 和 scene 预测出一个细粒度的语言动作 motion
2. 动作查询(Action Query):再同样利用 VLM(RT2)将 motion 和 scene 预测出一个细粒度的机器人动作 action(这里是token)

high-level的policy将观察和任务描述映射为中间行为:
eq1
Low-level的policy将:观察、任务描述和中间行为映射为low-level的行为:
eq2
行为层次policy定义为:
eq3

交互式模仿学习和纠正

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

RT-H模型允许人类通过自然语言干预和纠正机器人的行为。这种干预可以在机器人执行任务的任何阶段进行,以帮助机器人更好地完成任务或避免错误。具体来说,当机器人在执行任务时遇到困难或错误时,人类可以提供新的语言动作指令来指导机器人。例如,如果机器人在拿起一个物体时动作不正确,人类可以输入新的指令,如“向左移动手臂”或“更慢地旋转手腕”,以纠正机器人的动作。 这种干预方式有几个优点:
1. 直观性:使用自然语言进行干预使得非专家用户也能够轻松地与机器人交流和指导。
2. 灵活性:人类可以根据当前场景和任务的具体情况提供定制化的纠正。
3. 易于扩展:与需要物理操作(如遥控操作)的干预方法相比,语言干预更容易扩展到多个用户和多样化的任务。 这种在线干预可以用于评估模型的性能,或者在模型部署后进行微调。

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

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

实验

训练

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

指标

fig3

性能提升:RT-H在多个任务上表现出比RT-2更高的成功率,平均提高了15%。这表明使用语言动作作为中间层的方法能够有效地利用多任务数据集,并提高策略的鲁棒性和灵活性。
fig4

上下文感知:RT-H能够根据当前场景和任务指令的上下文来适应其动作。实验中展示了相同的语言动作如何在不同的情境下导致微妙的动作变化,证实了RT-H的上下文感知能力。

fig5
对新指令的响应:RT-H不仅能够执行训练中学习到的语言动作,还能够灵活地响应人类在运行时提供的新的、未见过的指令。
fig6

人类干预的效果:实验中,通过人类干预,RT-H的成功率得到了显著提高。这表明RT-H能够有效地响应人类的语言纠正,并根据这些纠正来调整其行为。
fig7

泛化能力:RT-H在新场景、新物体和新任务上的泛化能力得到了测试。实验结果显示,RT-H能够在新环境中执行任务,并在完全未见的任务上通过少量纠正成功完成任务。
tab2

动作层次结构的优势:与没有使用动作层次结构的模型相比,RT-H在多个任务上都显示出更高的性能。这证明了动作层次结构在提高数据共享和策略泛化方面的优势。

总结

RT-H利用语言动作,如“向前移动手臂”作为高级任务和低级动作之间的中间预测层。RT-H训练将语言描述的任务映射到语言动作中,然后使用推断的语言动作来预测动作,其中两个步骤都取决于视觉输入和任务。使用一个自动化的过程来标记语言运动,该过程可以扩展到各种各样的任务,而不需要人工标记成本。我们使用像RT-2这样的单一转换模型来实例化RT-H,其中动作和语言运动查询都是用大量互联网规模的数据共同训练的。RT-H(1)通过学习看似不同的任务之间的共享任务结构,实现了不同任务之间的更多数据共享,从而更有能力大规模地摄取多任务数据集,并且(2)适用于在场景和任务背景下改变底层行为的语言运动修正。在实验中证明了RT-H在不同的多任务数据上优于RT-2和动作层次消融。然后证明了RT-2在语言运动空间中是高度可校正的,甚至对于看不见的语言运动也是如此,并且从这些语言运动校正中学习优于从基于远程操作的校正中学习。最后,与RT-2相比,RT-H对场景和物体变化的鲁棒性更强。这些结果显示了使用语言的行动层次结构的前景,我们相信RT-H为扩大数据收集和机器人学习提供了坚实的基础。

RT-H为未来的工作开辟了几个令人兴奋的途径。

  • 首先,我们在一个大而多样的数据集上测试RT-H,获得了最先进的性能,但绝对成功率仍然有提高的空间,即使在进行校正训练之后。我们相信,正如RTH更具样本效率的语言运动校正所证明的那样,未来的工作应该扩大离线数据集和校正管道——语言运动甚至可以用来帮助连接具有许多不同实施例(如oxe)的数据集,甚至可以从仅用语言描述动作的人类视频中学习。
  • 其次,尽管我们对比了不同的动作层次,但未来的工作需要确定中间层的最佳抽象级别(例如,使用对象参考语言与我们的语言运动)。此外,我们在这项工作中主要只测试一个中间动作层,或者只是一个动作推理步骤,但未来的工作可能会定义多个动作推理步骤,用户可以在任何抽象级别进行干预。例如,我们可以添加一个任务预测级别,从像“打扫房间”这样的长期水平指令到像“捡可乐罐”这样的单个任务,然后将任务映射到语言动作,然后是动作。为了分解层次结构中任何级别的修正,甚至可以教模型自动定位层次结构中的修正,然后自回归预测较低级别的动作,直到它认为它已经达到机器人动作级别。
  • 第三,语言运动代表了一个语境和压缩的空间,在这个空间中可以预测动作。人们可以在RT-H中利用这种运动情境性来大大压缩强化学习方法和策略探索的行动空间,可能利用语言运动预测作为先验。我们怀疑语言运动将提供更有意义的探索程度和更有效的政策学习样本,同时对人类来说也具有高度的可解释性和可纠正性。即使在模仿学习中,也有几项研究表明了跨演示者的行动一致性的重要性,我们假设使用语言动作作为压缩的行动空间可以导致更一致的行动,从而提高样本效率的策略学习。
  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值