Google视觉机器人超级汇总:从RT、PaLM-E、RT-2到RT-X、RT-H(含Open X-Embodiment数据集详解)

前言

本文最开始属于此文「视觉语言机器人的大爆发:从RT2、VoxPoser、RoboFlamingo、OK-Robot到Figure 01、清华CoPa」的第一部分,但随着对视觉语言机器人研究的深入,发现Google的工作很值得深挖

  1. 比如Google的RT-1算是开启了Transformer与机器人的结合,而RT-2则算开启了多模态大模型与机器人的结合

  2. 再​想到很多工作都是站在Google的肩上做产品和应用,​Google真是科技进步的核心推动力,做了大量大模型的基础设施,服(推荐重点关注下Google deepmind的工作:https://deepmind.google/discover/blog/)

故有了本文,单独汇总Google在机器人领域的重大结果、进展

第一部分 RT-1:首个Transformer机器人

Google于22年年底,正式提出RT-1——即Robotics Transformer 1,其将「“语言”和“视觉观察”映射到机器人动作」视为一个序列建模问题,然后使用transformer来学习这个映

  • 其项目地址:https://robotics-transformer1.github.io/
    其paper地址RT-1: Robotics Transformer for Real-World Control at Scale (其v1 Submitted on 13 Dec 2022,至于v2 revised 11 Aug 2023)
  • 通过将高维输入和输出(包括相机图像、指令和电机指令)编码为紧凑的token表示,供Transformer使用,可以在运行时进行高效的推理,使实时控制成为可能
    which by encoding high-dimensional inputs and outputs, including camera images, instructions and motor commands into compact token representations to be used by the Transformer, allows for efficient inference at runtime to make real-time control feasible

1.1 策略学习方法上的选择:模仿学习

现在的目标是从视觉中学习机器人策略来解决语言条件任务

  1. 形式上,作者考虑一个顺序决策环境
    在时间步长 t= 0 时,策略 \pi 被提供一个语言指令 i 和一个初始图像观察 x_0
    策略产生一个动作分布\pi\left(\cdot \mid i, x_{0}\right),从中采样并应用于机器人的一个动作a_0
  2. 这个过程持续进行,策略通过从学习的分布\pi\left(\cdot \mid i,\left\{x_{j}\right\}_{j=0}^{t}\right)中采样来迭代地产生动作 a_t,并将这些动作应用于机器人,交互在达到终止条件时结束
  3. 从起始步骤t= 0到终止步骤 T 的且包含语言指令 i、初始观察图像 x_j、机器人动作 a_j的完整交互i,\left\{\left(x_{j}, a_{j}\right)\right\}_{j=0}^{T} 被称为一个 episode

    在一个episode结束时,Agent将获得一个二进制奖励r \in\{0,1\},指示机器人是否执行了指令 i
    至于目标则是学习一个策略\pi,使得在指令、起始状态 x_0和转移动力学的分布上,期望平均奖励最大化

至于在策略的学习上,最终使用的模仿学习方法

  • 首先,可以使用Transformer来参数化策略\pi(也是RT-1最终所采用的)
    一般来说,Transformer是一个序列模型,将输入序列 \left\{\xi_{h}\right\}_{h=0}^{H}映射到输出序列\left\{y_{k}\right\}_{k=0}^{K},使用自注意力层和全连接神经网络的组合
    虽然Transformer最初是为文本序列设计的,其中每个输入\xi_{j}和输出y_{k}表示一个文本token,但它们已经扩展到图像以及其他模态
    且在使用Transformer学习映射\left\{\xi_{h}\right\}_{h=0}^{H} \rightarrow\left\{y_{k}\right\}_{k=0}^{K}之前,先将输入i\left\{x_{j}\right\}_{j=0}^{t}映射到序列\left\{\xi_{h}\right\}_{h=0}^{H},且再把动作输出 a_t映射到序列\left\{y_{k}\right\}_{k=0}^{K}来参数化\pi
  • 其次,可以使用模仿学习
    模仿学习方法通过一个演示数据集D来训练策略\pi
    具体而言,假设可以访问一个由成功的(即最终奖励为1) N个剧集组成的数据集\mathcal{D}=\left\{\left(i^{(n)},\left\{\left(x_{t}^{(n)}, a_{t}^{(n)}\right)\right\}_{t=0}^{T^{(n)}}\right)\right\}_{n=0}^{N}
    使用行为克隆来优化π,通过最小化给定图像和语言指令时——动作a(t)的负对数似然

总之,RT-1接收一系列短暂的图像和自然语言指令作为输入,并在每个时间步骤为机器人输出一个动作,为了实现这一目标

  1. 首先,通过ImageNet预训练的卷积网络和通过FiLM预训练的指令嵌入来处理图像和文本「关于什么是FiLM,详见此文《YAY Robot——斯坦福和UC伯克利开源的:人类直接口头喊话从而实时纠正机器人行为(含FiLM详解)》的第二部分 EfficientNet与FiLM
  2. 然后通过Token Learner计算一组紧凑的token
  3. 最后通过Transformer对这些token进行关注并产生离散化的动作token
    这些动作包括七个维度的手臂运动(x, y, z, roll, pitch, yaw, opening of the gripper),三个维度的底座运动(x, y, yaw)和一个离散维度,用于在控制手臂、底座或终止情节之间切换

    最终,RT-1进行闭环控制,并以3 Hz的速率执行动作,直到它产生“终止”动作或达到预设的时间步限制

1.2 模型架构:先指令和图像token化,然后做token压缩、最后输出动作

简言之,RT-1基于transformer的基础上,将图像历史记录和任务描述作为输入,直接输出​tokenized​​​​的动作

接下来,按照下图中的自上而下的顺序描述模型的组成部分

1.2.1 语言指令和图像的token化

RT-1架构依赖于对imageslanguage instruction进行高效且紧凑的token化

首先,对于其中的images

  1. RT-1通过将images通过ImageNet预训练的EfficientNet-B3模型进行token化,将6张分辨率为300×300的图像作为输入,并从最后的卷积层输出形状为9×9×512的空间特征图
    RT-1 tokenizes a history of 6 images by passingimages through an ImageNet pretrained EfficientNet-B3 (Tan & Le, 2019) model, which takes 6 images of resolution 300×300 as input and outputs a spatial feature map of shape 9×9×512 from the final convolutional layer
  2. 与Reed等人(2022)——A generalist agent 不同,作者不会将图像分块成视觉token,然后将其馈送到Transformer主干中
    相反,作者将EfficientNet的输出特征图展平为81个视觉token,然后将其传递给网络的后续

其次,对于其中的language instruction

  1. 为了包含语言指令(比如有的机器人模型比如Gato便不包含语言),作者将图像分词器(image tokenizer)与自然语言指令结合,以预训练的语言嵌入的形式进行条件处理,从而能够提取与任务相关的图像特征,并提高RT-1的性能
    \rightarrow  首先,通过通用句子编码器(Universal Sentence Encoder,by Cer等人,2018)对语言指令instruction进行嵌入(The instruction is first embedded via Universal Sentence Encoder)
    \rightarrow  然后,将这个嵌入作为输入,添加到预训练的EfficientNet中的identity-initialized FiLM层(Perez等人,2018)中,以对图像编码器进行条件处理
    This embedding is then used as input to identity-initialized FiLM layers (Perez et al., 2018) added to the pretrained EfficientNet to condition the image encoder
  2. 通常情况下,在预训练网络的内部插入FiLM层会破坏中间激活,并抵消使用预训练权重的好处
    为了克服这个问题,作者将生成FiLM仿射变换的密集层(f_{c}h_{C})的权重初始化为零,使得FiLM层最初作为一个恒等变换,并保持预训练权重的功能
    Normally, inserting a FiLM layer into the interior of a pretrained network would disrupt the intermediate activations and negate the benefit of using pretrained weights. To overcome this, we initialize the weights of the dense layers (fc and hC ) which produce the FiLM affine transformation to zero, allowing the FiLM layer to initially act as an identity and preserve the function of the pretrained weights.

    作者发现,使用identity-initialized FiLM在从头开始初始化EfficientNet (没有ImageNet预训练)进行训练时,也能产生更好的结果,但并没有超过上述描述的初始化方法(We find that identity-initialized FiLM also produces better results when training with an EfficientNet initialized from scratch, without ImageNet pretraining, but it does not surpass the initialization described above)
    图像分词器的架构如上图所示,最终通过FiLM EfficientNet-B3,RT-1的imagesinstruction tokenization总共有16M个参数,包括26层MBConv blocks和FiLM layers,输出81个vision-language tokens

1.2.2 Token Learner与Transformer解码

为了进一步压缩RT-1需要关注的token数量,从而加快推理速度,RT-1使用了Token Learner(Ryoo等,2021年)

  1. Token Learner是一个逐元素的注意力模块,学习将大量token映射到较少的token中
    这使得能够基于它们的信息对图像token进行软选择,仅将重要的token组合传递给后续的Transformer层

    总之,TokenLearner的引入将经过预训练的FiLM-EfficientNet层输出的81个视觉token子采样到只有8个最终token,然后传递给我们的Transformer层
  2. 然后,每个图像的这8个token与历史中的其他图像连接起来,形成48个总token(且附加位置编码),以供RT-1的Transformer主干输入「该Transformer是一个仅解码器的序列模型,具有8个自注意力层和19M个总参数,输出动作token

1.2.3 Action tokenization(Discretized Token)、Loss、Inference speed

为了对动作进行token化,RT-1中的每个动作维度都被离散化为256个箱子(To tokenize actions, each action dimension in RT-1 is discretized into 256 bins)

  1. 如前所述,作者考虑的动作维度包括七个变量,用于手臂运动(x, y, z, roll, pitch, yaw, opening of the gripper),基座的三个变量运动(x, y,偏航)和一个离散变量,用于在三种模式之间切换:控制手臂,基座或终止剧集
    As mentioned previously, the action dimensions we consider include seven variables for the arm movement (x, y, z, roll, pitch, yaw, opening of the gripper), three variables for base movement (x, y, yaw) and a discrete variable to switch between three modes: controlling arm, base or terminating the episode.
  2. 对于每个变量,我们将目标映射到256个箱子中的一个,其中箱子在每个变量的范围内均匀分布
    For each variable, we map the target to one of the 256 bins, where the bins are uniformly distributed within the bounds of each variable.

总的来讲,如RDT作者所说(来源见),RT-1的思路就是将数据像语言一样处理,使用类似语言模型的方式来解决问题——将所有输入数据都当作“语言”,然后生成tokens

  1. 至于解码过程,通常在生成tokens之后,模型会通过一个线性层(或MLP层)进行解码,最终得到预测结果
    例如,像RT系列和GR系列模型就是使用离散的概率。这种方法通过将速度等连续变量(如从-1米到1米每秒的速度范围)离散化256个离散的值,并将其转化为离散的tokens——Discretized Token,进而处理。这就相当于将连续的速度值转化为离散的类别
  2. 但弄成分类问题的核心问题在于,对于动作空间中的连续数据(例如速度、位置等),使用离散化处理会丢失很多信息

    毕竟将一个连续的变量(如速度)离散化为多个分类标签,虽然可以转换成分类问题,但这样会丢失数的大小关系。不同离散的bins是不同的类别,类别之间是没有大小关系的,导致模型难以准确建模复杂的动作空间。实验中,他们发现离散概率在处理简单任务时效果尚可,但一旦任务变得复杂,精度就会显著下降

此外,损失函数上,使用了先前基于Transformer的控制器(A generalist agent、Multi-game decision transformers)中使用的标准分类交叉熵熵目标和因果掩码

而推理速度上,与许多大型模型的许多应用不同,例如自然语言或图像生成,需要在真实机器人上实时运行的模型的一个独特要求是快速和一致的推理速度。考虑到执行指令的人类速度在这项工作中考虑的速度范围(作者测量为 2- 4秒),作者希望模型的速度不明显慢于此

根据作者的实验,这个要求对应于至少3Hz的控制频率,并且由于系统中的其他延迟,模型的推理时间预算要小于 100ms。这个要求限制了可以使用的模型的大小,最终采用了两种技术来加速推理:

  1. 通过使用Token-Learner(Ryoo等,2021)来减少预训练EfficientNet模型生成的令牌数量
  2. 仅计算这些token一次,并在未来的推理中重复使用它们。 这两种方法使我们能够将模型推理加速 2.4倍和 1.7倍

1.3 数据集与不足

1.3.1 数据集

RT-1,使用包含超过13万个示范的大型数据集对RT-1进行了训练,这些示范是在17个月内使用13个机器人收集的

  • 且训练数据由人工提供的示范组成,他们为每个步骤注释一个文本描述,说明机器人刚刚执行的指令。指令通常包含一个动词和一个或多个描述目标对象的名词
  • 其中一条指令对应一个动词加上一个或多个名词,例如“将水瓶竖直放置”、“将可乐罐移动到绿色薯片袋旁”或“打开抽屉”
    且为了将这些指令归类在一起,将它们分解为若干技能(例如,“拾取”、“打开”或“竖直放置”等动词),和对象(例如,“可乐罐”、“苹果”或“抽屉”等名词

类似如下

{
    "observation": {
        "image": "当前帧的 RGB 图像",
        "proprioception": "机器人的本体感知状态(如夹爪开合度)"
    },
    "action": "目标动作(7维向量:位置+旋转+夹爪控制)",
    "language_instruction": "文本指令(可选)",
    "timestep": "时间戳(用于序列建模)"
}

  1. 证明了可以以97%的成功率执行超过700个指令,并且在任务、物体和环境的新情境中比先前发表的基准效果更好地进行泛化
  2. 还证明了RT-1可以成功吸收来自模拟和其他机器人形态的异构数据,而不会牺牲原始任务的性能,并且可以提高对新场景的泛化能力。
  3. 最后,我们展示了这种性能和泛化水平如何使我们能够在SayCan框架中执行非常长期的任务,最多可达50个步骤

1.3.2 不足

虽然RT-1在数据吸收模型方面是迈向大规模机器人学习的一个有希望的步骤,但它也存在
一些限制

  1. 首先,它是一种模仿学习方法,继承了这类方法的挑战,比如可能无法超越示范者的表现
  2. 其次,对新指令的泛化仅限于先前看到的概念的组合,RT-1还不能泛化到完全没有见过的新动作
  3. 最后,现有的方法是在一组大型但不太灵巧的操作任务上展示的,后续计划继续扩展RT-1能够启用和泛化的指令集,以解决这一挑战

第二部分 PaLM-E:第一个具身多模态模型—— PaLM + ViT

23年3月,Google提出了第一个第一个具身多模态视觉语言模型PaLM-E,其对应的论文为《PaLM-E: An Embodied Multimodal Language Model》,其对应的项目地址为:palm-e.github.io

如此文《多模态PaliGemma(含1代和2代):Google推出的基于SigLIP和Gemma的视觉语言模型(含SigLIP详解)》的开头所述

  • PaLI是一系列最先进的视觉-语言模型,最初的PaLI [23-PaLI:A jointly-scaled multilingual languageimage model]展示了有前景的扩展结果,规模达到了170亿,使用了分类预训练的ViT [131]和mT5 [126]语言模型
  • 随后
    PaLI-X [24-PaLI-X: On scaling up a multilingual vision and language model],和具身多模态模型PaLM-E [36- PaLM-E: An embodied multimodal language model]进一步推进了这一点,分别结合了ViT-22B[29],和32 BUL2[104]语言模型或540B PaLM[28]语言模型,并在视觉-语言任务上获得了更高的性能,尽管在标准图像分类和检索任务上的性能趋于饱和
  • 最后,PaLI-3 [25- PaLI-3 vision language models: Smaller, faster, stronger]证明,通过使用SigLIP [133- Sigmoid loss for language image pre-training]进行更好的预训练和更仔细的多模态数据策划

    即一个2B视觉和3B语言模型(即一个5B视觉-语言模型)可以在大多数基准测试中,与规模大10倍的55B PaLI-X(22B视觉 + 32B语言)、和规模大100倍的562B PaLM-E(22B视觉 + 540B语言)相匹敌

2.1 PaLM-E的前置知识PaLM与提出背景

2.1.1 前置知识——PaLM的模型架构:三种参数8B、62B 和 540B

22年4月,Google Research提出PaLM,其对应的论文为《PaLM: Scaling Language Modeling with Pathways》,同时发布了三个不同参数规模的模型:8B、62B 和 540B

如此文《LLM/ChatGPT与多模态必读论文150篇(已更至第101篇)》所述

  1. 22年3月,Google的Barham等人发布了Pathways系统,用于更高效地训练大型模型
    Pathways 的愿景 —— 一个很接近人脑的框架:一个模型,可以做多任务,多模态
    且在做任务时,只是 sparsely activated,只使用一部分的参数
  2. 22年4月,Google发布PaLM模型,基于Transformer decoder架构,参数规模最大的版本达到惊人的5400亿参数(8B 62B 540B),使用multi-query注意力、SwiGLU激活函数以及RoPE位置嵌入
    且在每个Transformer块中使用 "平行 "表述(Wang & Komatsuzaki,2021)
    是Google的Pathways架构或OpenAI GPT2/3提出的小样本学习的进一步扩展

    总之,PaLM首次展示了Pathways的大规模使用——能够以高效的方式在数千或数万个加速器芯片上训练一个模型
    具体来说,通过Pathways,PaLM 540B在两个通过数据中心网络连接的TPU v4 Pod上训练,使用模型和数据并行的组合,在每个Pod中使用3072个TPU v4芯片,连接到768台主机,能够有效地将训练扩展到6144个芯片,而不需要使用任何pipeline并行,其效率水平是以前这种规模的模型所不能达到的

要知道,以前的大多数大型语言模型

  • 要么是在单个TPU系统上训练的(比如GLaM by Du等人2021年,LaMDA by Thopilan等人)
  • 要么是使用由Huang等人在2019年提出的pipeline并行,从而在GPU集群(Megatron-Turing NLG 530B by Smith等人2022年),或多个TPU v3 pod(Gopher by Rae等人2021年)上扩展,最大规模为4096个TPU v3芯片

在预训练数据集上,其由一个7800亿个token组成的语料库,该数据集是由过滤过的网页(占比27%)、书籍(占比13%)、Wikipedia(占比4%)、新闻文章(占比1%)、Github源代码(占比5%,包括Java、HTML、Javascript、Python、PHP、C#、XML、C++和C,总计196GB的源代码),和社交媒体对话(占比50%)组成的,这个数据集是也用于训练LaMDA和GLaM

在模型架构上,PaLM使用仅解码器架构(即每个时间步只能关注自身及过去的时间步),并进行了以下修改:

  • SwiGLU激活
    他们在MLP中间激活中使用SwiGLU激活(Swish(xW)·xV),因为研究表明,与标准ReLU、GeLU或Swish激活相比,它们能够显著提高质量(Shazeer, 2020)

    请注意,这确实需要在MLP中进行三次矩阵乘法,而不是两次,但Shazeer(2020)在计算等效的实验中(即标准ReLU变体具有相应更大的维度)证明了质量的提高

    更细致的介绍,详见此文《LLaMA的解读与其微调(含LLaMA 2):Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子牙》的第一部分的“1.2.3 SwiGLU替代ReLU”
  • 并行层
    即在每个Transformer块中使用“并行”形式(Wang & Komatsuzaki,2021),而不是标准的“串行”形式
    具体来说,标准形式可以写为:
    y=x+\operatorname{MLP}(\operatorname{LayerNorm}(x+\operatorname{Attention}(\operatorname{LayerNorm}(x)))

    而并行形式可以写为
    y=x+\operatorname{MLP}(\operatorname{LayerNorm}(x))+\text { Attention }(\text { LayerNorm } x))
    并行公式在大规模时训练速度大约快15 %,因为MLP 和注意力输入矩阵乘法可以融合
  • 多查询注意力
    标准的Transformer公式使用k个注意力头,其中每个时间步的输入向量线性投影到形状为[k, h]的“查询”、“键”和“值”张量上,其中h是注意力头的大小,如下图最右侧所示

    在这里,键/值投影在每个头之间共享,即“键”和“值”被投影到[1, h],但“查询”仍然投影到形状[k, h]。他们发现这对模型质量和训练速度没有影响(Shazeer, 2019)——我july个人认为说成没有太大影响 更准确 毕竟影响还是有的,但在自回归解码时可显著节省成本
    这是因为标准的多头注意力在自回归解码期间在加速器硬件上效率较低,因为键/值张量在不同样本之间不共享,并且一次只解码一个token

    更细致的介绍,详见此文《一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA
  • RoPE 嵌入
    使用 RoPE 嵌入(Su 等,2021)而不是绝对或相对位置嵌入,因为 RoPE 嵌入在长序列长度上表现更好
    关于RoPE 嵌入的介绍,详见此文《一文通透位置编码:从标准位置编码、旋转位置编码RoPE到ALiBi、LLaMA 2 Long(含NTK-aware简介)
  • 其次,则是共享输入输出嵌入,以及无偏差 – 在任何密集内核或层规范中均未使用偏差
  • 词汇表
    使用了一个包含256k token的SentencePiece(Kudo & Richardson, 2018a)词汇表,选择该词汇表是为了支持训练语料库中的大量语言而不进行过度tokenization
    词汇表是从训练数据中生成的,他们发现这提高了训练效率。词汇表完全无损且可逆,这意味着词汇表中完全保留了空白(对代码尤为重要),并且超出词汇表的Unicode字符被拆分为UTF-8字节,每个字节都有一个词汇表token。数字始终被拆分为单个数字token(例如,“123.5→1 2 3 . 5”)

2.1.2 之前的工作:动作输出模型、规划具身任务的LLM

对于动作输出模型,先前的研究重点是将视觉和语言输入结合在一个具身环境中,以直接预测动作为目标(Guhur等,2022;Shridhar等,2022b;a;Zhang& Chai,2021;Silva等,2021;Jang等,2022;Nair等,2022;Lynch等,2022;Brohan等,2022)

在这些方法中,VIMA(Jiang等,2022)探索了类似于PaLM-E的多模态提示。在这些研究中,语言的角色或许最恰当地被描述为任务说明。相比之下,PaLM-E以文本形式生成高层次指令;通过这样做,模型能够自然地基于自身的预测进行条件化,并且

直接利用嵌入其参数中的世界知识。这不仅使具身推理成为可能,还支持问题回答,。在输出动作的工作中,可能最相似的是Gato(Reed等人,2022年)中提出的方法,该方法与PaLM-E一样,是一个通用的多具身代理。与Gato相比,PaLM-E展示了在不同任务之间的正迁移,其中模型通过跨多个领域的多样化联合训练受益

对于在具身任务规划中的LLM,之前已经提出了几种方法来利用LLM在具身领域中。虽然许多工作集中在理解自然语言目标(Lynch & Sermanet, 2020;Shridhar et al., 2022a; Nair et al., 2022; Lynchet al., 2022),但较少考虑将自然语言作为规划的表示——这是本工作的重点

LLM包含关于世界的海量内化知识(Bommasani et al., 2021),但如果没有基础,生成的计划可能无法执行。一项研究利用提示直接从LLM中引出一系列指令,相比之下,PaLM-E被训练为直接生成计划,而不依赖辅助模型进行基础。这反过来又使得预训练的LLM中丰富的语义知识能够直接整合到规划过程中

2.2 PaLM-E的模型架构与动作预测策略

2.2.1 PaLM-E的模型组成:整合540B的PaLM和22B的ViT

PaLM-E将视觉语言领域的知识转移到具身推理中——从复杂动态和物理约束环境中的机器人规划,到回答关于可观察世界的问题

且将PaLM-E 扩展到562B 参数,整合了540BPaLM (Chowdhery et al., 2022) LLM 和22B VisionTransformer (ViT) (Dehghani et al., 2023)

  • 其输入如图像和状态估计被嵌入到与语言token相同的潜在嵌入中,并由基于Transformer的LLM的自注意力层以与文本相同的方式处理
  • 比如从一个预训练的LLM开始,通过一个编码器注入连续输入。这些编码器经过端到端训练,以自然文本形式输出顺序决策,可以通过调节低级策略或回答具身问题由embodied agent解释

2.2.2 使用PaLM-E来解决具身规划或控制任务

如果使用PaLM-E来解决具身规划或控制任务,它会生成用于条件低级命令的文本。特别是,假设可以访问能够从某个(小型)词汇中执行低级技能的策略,而来自PaLM-E的成功计划必须由这些技能的序列组成

注意,PaLM-E必须根据训练数据和提示自行确定哪些技能可用,且没有其他机制用于约束或过滤其输出。尽管这些策略是语言条件化的,但它们无法解决长远任务或处理复杂指令。因此,PaLM-E被集成到一个控制循环中,其中其预测决策通过机器人执行低级策略,从而产生新的观察,基于此,PaLM-E能够在必要时重新规划——从这个意义上说,PaLM-E可以被理解为一个高层策略,用于排序和控制低层策略

第三部分 RT-2:给VLM加上动作模态RT1,从而变成VLA

3.1 全球首个VLA模型RT-2:直接理解复杂指令从而直接操控机械臂

3.1.1 RT-2 = 多模态大模型PaLM-E + 具备机器人操作能力的RT-1

尽管之前的研究在包括机器人学在内的各种问题和设置上研究了VLMs,但Google

  • 一方面,为了赋予VLMs预测机器人动作的能力,以来扩展其在机器人闭环控制中的能力,从而利用VLMs中已有的知识实现新的泛化水平
    (While prior works study VLMs for a wide range of problems and settings including in robotics, our focus is on how the capabilities of VLMs can be extended to robotics closed-loop control by endowing them with the ability to predict robot actions, thus leveraging the knowledge already present in VLMs to enable new levels of generalizatio)

    说白了,VLM已经具备了大量的常理知识,就不用再从头教机器人一些已经存在于“VLM预训练知识”中的常识
  • 二方面,更为了使得模型权重可以完全共享在语言和动作任务之间,而不需要引入仅针对动作的模型层组件
    (we leverage VLMs that generate language, and the unified output space of our formulation enables model weights to be entirely shared across language and action tasks, without introducing action-only model layer components)

故于23年7月,Google DeepMind宣布推出RT-1的进化版(使用上一代机器人模型RT-1的数据进行训练,数据上虽然没变,但训练方法大大增强了):RT-2

其和RT-1的区别在于

  • RT-1 做的事情只是把简单指令转化成机械臂动作序列,而 PaLM-E 的工作则是用大模型将复杂的指令分解成多个简单的指令,然后再去调用 RT-1 执行动作

  • RT-2 则是把以上环节端到端地集成到了一起,它能够用复杂文本指令直接操控机械臂,中间不再需要将其转化成简单指令,通过自然语言就可得到最终的 Action

    比如,可以直接对它说往左边移 0.1 毫米,把夹子松开或者夹紧等

总之,RT-2将视觉文本多模态大模型VLM具备的数学、推理、识别等能力和机器人比如RT-1的操作能力结合到一块了

为了实现对「VLM之看听想」与「RT-1之操控」两者能力上的结合

  1. Google给视觉-文本大模型(VLM,比如5B和55B的PaLI-X、3B的PaLI以及12B的PaLM-E)增加了一个模态,叫做“机器人动作模态”,从而把它变成了视觉-文本-动作大模型(VLA),比如RT-2-PaLM-E和RT-2-PaLI-X
  2. 随后,将原本非常具体的机器人动作数据,转变成文本token,例如将转动度数、放到哪个坐标点等数据,转变成文本“放到某个位置”
    这样一来,机器人数据也能被用到视觉-语言数据集中进行训练,同时在进行推理的过程中,原本的文本指令也会被重新转化为机器人数据,实现控制机器人等一系列操作

3.1.2 RT-2的三大能力:符号理解、推理、人类识别

其具备三大能力

  1. 符号理解(Symbol understanding),或者叫物体理解
    能将大模型预训练的知识,直接延展到机器人此前没见过的数据上
    例如机器人数据库中虽然没有“红牛”,但它能根据大模型预训练识所具备的知识中理解并掌握“红牛”的外貌,从而最终拿捏到所需物品
  2. 推理(Reasoning),这也是RT-2的核心优势,要求机器人掌握数学、视觉推理和多语言理解三大技能,比如
    \rightarrow  技能一,包含数学逻辑推理的命令,“将香蕉放到2+1的总和的位置”:

    图片

    \rightarrow  技能二,视觉推理,像是“将草莓放进正确的碗中”:

    图片

    \rightarrow  技能三,多语言理解,即使不用英语也能完成指令,例如用西班牙语命令它“从一堆物品中挑出最与众不同的那个”:

    图片

    甚至能主动思考,比如给定指令「选择灭绝的动物」之后,它可以完成多个阶段的推理,从而最终抓取桌子上的塑料恐龙

    图片

  3. 人物识别(Human recognition)
    比如只需要向对话一样下达命令:“将水递给泰勒·斯威夫特”,它就能在一堆图片中辨认出霉霉(Taylor Swift,美国当代歌手),送给她一罐可乐

    图片

3.2 VLMs for RT-2与机器人动作微调

3.2.1 VLMs for RT-2

如上所说,Google给视觉-文本大模型(VLM,比如5B和55B的PaLI-X、3B的PaLI以及12B的PaLM-E)增加了一个模态,叫做“机器人动作模态”,从而把它变成了视觉-文本-动作大模型(VLA),比如RT-2-PaLM-E和RT-2-PaLI-X

接下来,咱们来分别介绍下这几个视觉语言模型

  • PaLI-X模型架构由ViT-22B组成,用于处理图像,可以接受n个图像序列,从而这n个图像序列最终有n \times k个token,其中 k是每个图像的patches数量
    The PaLI-X model architecture consists of a ViT-22B Dehghani et al. (2023) to process images, which can accept sequences of 𝑛 images, leading to 𝑛× 𝑘 tokens per image, where 𝑘 is the number of patches per image.

    \rightarrow  图像token通过投影层后,被一个具有32B参数和50层的编码器-解码器主干网络处理——类似于UL2(该网络将文本和图像作为嵌入进行联合处理),它以自回归的方式生成输出token
    The image tokens passing over a projection layer is then consumed by an encoder-decoder backbone of 32B parameters and 50 layers, similar to UL2 Tay et al. (2023), which jointly processes text and images as embeddings to generate output tokens in an auto-regressive manner.
    \rightarrow  文本输入通常包括任务类型和任何附加上下文(例如,对于字幕任务,是"在 〈lang〉"中生成字幕,对于VQA任务,是"在 〈lang〉中回答问题")
    The text input usually consists of the type of task and any additional context (e.g., "Generate caption in h langi " for captioning tasks or "Answer in h langi : question" for VQA tasks).
  • PaLI-3B模型在Language-Table上训练,使用较小的ViT-G/14(2B参数)处理图像,并使用UL2-3B进行编码器-解码器网络

  • PaLM-E模型基于仅解码器的LLM,将机器人数据(如图像和文本)投影到语言token空间,并输出高级计划等文本
    在使用的PaLM-E-12B情况下,用于将图像投影到语言嵌入空间的视觉模型是ViT-4B
    将连续变量与文本输入进行串联,使PaLM-E能够完全多模态,接受多种输入,例如多个传感器模态,以及以对象为中心的表示,场景表示和对象实体引用

3.2.2 机器人动作微调(Robot-Action Fine-tuning):机器人数据对VLM微调

为了使视觉-语言模型能够控制机器人,将行动表示为模型输出中的token,这些token与语言token的处理方式相同「换言之,为了让视觉-语言模型能够控制机器人,必须训练它们输出动作。采取直接的方法来解决这个问题,将动作表示为模型输出中的token,像处理语言token一样处理它们

说白了,就是基于下一个token预测技术预测动作token

  1. 行动编码基于RT-1模型提出的离散化方法
    行动空间包括机器人末端执行器的6自由度位置和旋转位移,以及机器人夹持器的伸展程度和用于终止任务的特殊离散命令,该命令应由策略触发以表示成功完成
  2. 连续维度(除了离散终止命令之外的所有维度)均均匀地离散为256个箱子,因此,机器人行动可以使用离散箱子的序数表示为8个整数
    The continuous dimensions (all dimensions except for the discrete termination command) are discretized into 256 bins uniformly. Thus, the robot action can be represented using ordinals of the discrete bins as 8 integer numb
  3. 为了将这些离散化的行动用于将视觉-语言模型微调为视觉-语言-行动模型,需要将模型的现有token化与离散行动箱子相关联
    (we need to associate tokens from the model’s existing tokenization with the discrete action bins)
    这需要保留256个token作为动作token,而选择哪些token取决于每个VLM使用的特定分词方式
  4. 为了定义VLM微调的目标,可以通过简单地将每个维度的动作token用空格字符连接起来,将动作向量转换为单个字符串

    这样一个目标的可能实例是:“1 128 91 241 5 101 127”

    再比如“指令:我饿了” 、计划:挑选rxbar巧克力、行动1 128 124 136 121 158 111255

作者在实验中微调的两个VLMs,PaLI-X和PaLM-E,使用不同的分词方式

  • 对于PaLI-X模型,每个整数最多可以有一个唯一的token,因此只需将动作区间与表示相应整数的token相关联
  • 对于PaLM-E模型,它没有提供这种方便的数字表示,因此只需覆盖最不常用的256个token来表示动作词汇
    值得注意的是,训练VLMs以覆盖现有token与动作token是symbol tuning的一种形式,在先前的工作中已经证明对VLMs非常有效

最终,通过采取上述行动表示,将机器人数据转换为适合于VLM模型微调的形式

  • 其中的输入包括机器人摄像头图像和文本任务描述(使用标准的VQA格式“Q:机器人应该采取什么行动来完成[任务指令]?A:”)
  • 输出格式为表示机器人行动的数字/最不常用的标记的字符串(and our output is formatted as a string of numbers/least frequently used tokens representing a robot action)

值得注意的是,同时使用原始的VLM训练数据和机器人数据对VLM微调,得到的效果相对最好(we use both the original VLM training data as well as robotic data for VLM fine-tuning)

此外,推理的时候用的最大模型是55B参数的RT-2-PaLI-X-55B模型,可以以1-3 Hz的频率运行,而该模型的较小版本由5B参数组成,可以以约5 Hz的频率运行

3.3 训练数据

3.3.1 用到了RT-1的机器人演示数据、PaLI-X的训练数据、PaLM-E的训练数据

Brohan等人(2022年)RT-1的数据集

Brohan等人(2022年)等人的RT-1数据集包括使用移动操控机器人收集的示范片段(该数据在办公室、厨房环境中使用13台机器人在17个月内收集而来)

每个机器人演示轨迹都用自然语言指令进行了注释,描述了

  • 执行的任务,指令来自七种技能之一:“拾取物体”、“将物体移动到物体附近”、“将物体竖直放置”、“击倒物体”、“打开抽屉”、“关闭抽屉”、“将物体放入容器中”和“从容器中拾取物体并放置在柜台上”
  • 操作对象的一个或多个名词(例如,“罐头”,“抽屉”,“餐巾纸”)

RT-2-PaLI-X的训练数据

  • 原始图像-文本数据:即Chen等人(2023a)的PaLI-X: On scaling up a multilingual vision and language model中的主要基于Episodic WebLI多语言图像-文本数据集,包含10亿张图像和12亿条文本描述,涵盖109种语言,还包括通过GCP Vision API提取的290亿个图像-OCR对
  • 机器人演示数据:与RT-1的机器人演示数据相结合
    RT-2-PaLI-X对该机器人数据集进行加权,使其占训练组合的约50%

RT-2-PaLM-E的训练数据

  • 原始图像-文本数据:即Driess等人(2023)的Palm-E: An embodied multimodal language model 的原始网络规模数据——即其视觉-语言数据包括视觉问答、字幕和非结构化交织的图像和文本示例
  • 机器人演示数据:同样结合了RT-1的机器人演示数据

对于RT-2训练过程中的参数设置,采用了原始PaLI-X和PaLM-E论文中的超参数,包括学习率调度和正则化

3.3.2 Q-Transformer与Open X-Embodiment 数据集

在 RT-2 之后,谷歌 DeepMind 又提出了 Q-Transformer,机器人界也有了自己的 Transformer 。Q-Transformer 使得机器人突破了对高质量的演示数据的依赖,更擅长依靠自主「思考」来积累经验

RT-2 发布仅两个月,又迎来了机器人的 ImageNet 时刻——谷歌 DeepMind 联合其他机构推出了 Open X-Embodiment 数据集

  • 其改变了以往需要针对每个任务、机器人具体定制模型的方法,将各种机器人学的知识结合起来,创造出了一种训练通用机器人的新思路
  • 想象一下,只需向你的机器人小助理发出「为我打扫房子」或「为我们做一顿美味健康的饭菜」等简单的要求,它们就可以完成这些工作。打扫房间或做饭这种任务,对于人类来说很简单,但对于机器人来说,可真不容易,需要它们对世界有深度理解

对该OXE数据集的详细介绍,详见下文的第三部分

第四部分 百万级规模的Open X-Embodiment数据集与RT-X

23年10月,Google、斯坦福大学、CMU、UC伯克利等21家机构联合整理出了开放的Open X-Embodiment数据集

  1. 其包含超过100万条真实的机器人轨迹,涵盖22种机器人形态,从单个机器人手臂到双手机器人和四足机器人

    该数据集通过整合来自全球34个机器人研究实验室的60个现有机器人数据集而构建,并将它们转换为一致的数据格式,方便下载和使用
    且使用RLDS数据格式[119],该格式将数据保存在序列化的tfrecord文件中,并适应不同机器人设置的各种动作空间和输入模式,例如不同数量的RGB摄像头、深度摄像头和点云
    它还支持所有主要深度学习框架中的高效并行数据加载
  2. 其对应的项目网站为:robotics-transformer-x.github.io/
    其对应的paper为:Open X-Embodiment: Robotic Learning Datasets and RT-X Models

4.1 Open X-Embodiment数据集的组成与特点

4.1.1 Open X-Embodiment数据集的数据分布

下图图2分析了Open X-Embodiment数据集

  • 图2(a)显示了按机器人实体划分的数据集,其中Franka机器人是最常见的
  • 这反映在不同场景的数量中(基于数据集)每个实体的元数据(图2(b)),其中Franka 占主导地位
  • 图2(c) 展示了每个实体的轨迹细分。为了进一步分析多样性,他们使用数据中存在的语言注释。他们使用PaLM语言模型[3] 从指令中提取对象和行为
  • 图2(d,e) 展示了技能和对象的多样性。虽然大多数技能属于拾取-放置类别,但数据集的长尾部分包含” 擦拭” 或” 组装” 等技能。此外,数据涵盖了一系列家用物品,从电器到食品和器具

4.1.2  针对X-Embodiment数据集使用粗略对齐的动作和观察空间

然后做了以下操作

  1. 数据格式整合 创建 X-embodiment 模型的一个挑战是观察和动作空间在机器人之间差异显著。作者在数据集之间使用粗略对齐的动作和观察空间
    模型接收最近图像和语言指令的历史作为观察,并预测一个7维的动作向量来控制末端执行器(x,y,z, 旋转, 俯仰,偏航, 以及抓手的开合或这些量的速率)

    作者从每个数据集中选择一个典型的摄像机视图作为输入图像,将其调整为统一分辨率,并将原始动作集转换为7自由度末端执行器动作。且在离散化之前对每个数据集的动作进行归一化
    这样,模型的输出可以根据所使用的 embodiment进行不同的(去归一化)解释。需要注意的是,尽管这种粗略对齐,摄像机观察在数据集之间仍然存在显著差异
    例如,由于相机相对于机器人的姿势或相机属性的不同,参见下图图3

    同样,对于动作空间,作者没有在数据集之间对齐控制末端执行器的坐标系,允许动作值表示绝对或相对位置或速度,具体取决于为每个机器人选择的原始控制方案
    因此,相同的动作向量可能会为不同的机器人引发非常不同的运动

4.1.3 OXE中几大典型的数据集:包含RT-1 Robot Action、BridgeData V2、BC-Z等

  • Berkeley Cable Routing 多阶段机器人电缆任务数据集
    Berkeley Cable Routing 数据集由加州大学伯克利分校和 Intrinsic Innovation LLC 研究团队发布,共 27.92 GB,该数据集用于研究多阶段机器人操作任务,特别是应用于电缆布线任务
    这个任务代表了复杂的多阶段机器人操作场景,要求机器人必须将电缆穿过一系列夹子,包括处理可变形物体、闭合视觉感知循环以及处理由多个步骤组成的扩展行为
  • RT-1 Robot Action 真实世界机器人数据集
    如上文介绍过的,谷歌研究人员提出了多任务模型 Robotics Transformer (RT-1),该模型在新任务、环境和物体上的零样本泛化方面取得了显著改进,展示了优异的可扩展性和预训练模型特性
    RT-1 模型是在一个大规模真实世界机器人数据集(RT-1 Robot Action 数据集)上训练的,研究人员使用了 13 台 EDR 机械臂,每台机械臂配备有 7 个自由度的手臂、两指夹爪和移动底座,在 17 个月内收集了 13 万个片段,共 111.06 GB,每个片段被标注了机器人执行指令的文字描述
    数据集中涵盖的高层次技能包括捡起和放置物品、开关抽屉、从抽屉中取出和放入物品、将细长物品竖直放置、推倒物体、拉餐巾纸和开罐子等,覆盖了使用多种不同物体的 700 多项任务
  • Language-Table 机器人语言标签轨迹数据集
    Google 团队 Robotics at Google 提出了一种框架,用于构建能够在现实世界中通过自然语言指令进行实时互动的机器人。通过在包含数十万条带有语言注释的轨迹数据集上进行训练,研究人员发现所得的策略能够执行比以往多 10 倍的指令,这些指令描述了现实世界中的端到端视听觉-运动技能
    总之,研究人员已经开源了研究所用的 Language-Table 数据集,该数据集包含了近 60 万条带有语言标签的轨迹,用于推动更先进、更有能力、可自然语言交互的机器人发展
  • BridgeData V2 大规模机器人学习数据集
    加州大学伯克利分校、斯坦福大学、谷歌 DeepMind 和 CMU 共同发布了 BridgeData V2 数据集,该数据集致力于促进可扩展机器人研究,包含在 24 个不同环境中收集的 60,096 条机器人轨迹
    其中,24 个环境分为 4 类,大部分数据来自不同的 toy kitchens,包含水槽、炉灶和微波炉等,其余环境则包括各种桌面、toy sinks、toy laundry 等
    数据集中包含的任务有拾取放置、推和清扫、开关门和抽屉,以及更复杂的任务如堆叠积木、折叠衣物和清扫颗粒介质,某些数据片段包含这些技能的组合

    为了增强机器人的泛化能力,研究人员在多种环境下收集大量的任务数据,这些环境中的对象、摄像头位置和工作区定位各有不同,每条轨迹都附有与机器人任务对应的自然语言指令。从这些数据中学到的技能可以应用于新对象和环境,甚至跨机构使用,这使得该数据集成为研究人员的重要资源
  • BC-Z 机器人学习数据集
    BC-Z 数据集由谷歌、Everyday Robots、加州大学伯克利分校和斯坦福大学共同发布,这个大规模机器人学习数据集旨在推动机器人模仿学习领域的发展,尤其是支持零样本任务泛化,即让机器人在没有先前经验的情况下,通过模仿学习来执行新的操作任务
    该数据集包含了超过 25,877 个不同的操作任务场景,涵盖了 100 种多样化的任务,这些任务通过专家级远程操作和共享自主过程来收集,涉及 12 个机器人和 7 名操作员,累计 125 小时的机器人操作时间

    数据集可用于训练一个 7 自由度的多任务策略,该策略可根据任务的语言描述或人类操作视频调整,以执行特定任务

// 待更

4.2 RT-X的策略架构与训练/推理细节

4.2.1 base模型的选择:RT-1和RT-2

作者考虑了两种模型架构:

  • RT-1 [8],一种为机器人控制设计的高效基于Transformer的架构
    如上文第一部分所说,RT-1 [8]是一个基于Transformer架构[118]设计的3500万参数网络,专为机器人控制而设计,如图3所示

    它接受15张图像的历史记录以及自然语言。每张图像都通过一个预训练的ImageNet EfficientNet [117]进行处理,自然语言指令则被转换为USE [120]嵌入
    视觉和语言表示随后通过FiLM [116]层交织在一起,生成81个视觉-语言token。这些token被输入到一个仅解码器Transformer中,输出tokenized的动作
  • RT-2 [9],一种大型视觉-语言模型,经过联合微调以自然语言token输出机器人动作
    如上文第二部分所说,RT-2 [9]是一系列大型视觉-语言-动作模型(VLA),在互联网规模的视觉和语言数据以及机器人控制数据上进行训练
    RT-2将tokenized的动作转换为文本token,例如,一个可能的动作可能是“1 128 91 241 5 101127”
    因此,任何预训练的视觉-语言模型(VLM[121–123])都可以进行微调以适应机器人控制,从而利用VLM的骨干并传递其某些泛化属性


    总之,上面RT-1和RT-2这两个模型都接受视觉输入和描述任务的自然语言指令,并输出tokenized的动作。对于每个模型,动作被tokenized为256个在八个维度上均匀分布的箱子;一个维度用于终止情节,七个维度用于末端执行器运动

不过,在本部分的这次工作中,作者专注于RT-2-PaLI-X变体[121],其建立在视觉模型ViT [124]和语言模型UL2 [125]的骨干上,主要在WebLI [121]数据集上进行预训练

4.2.2 RT-1-X和RT-2-X训练和推理细节

两个模型都在其输出空间上使用标准的分类交叉熵目标——RT-1 的离散桶和 RT-2的所有可能语言tokens

  • 作者定义在所有实验中使用的机器人数据混合是来自9个机械手的数据,取自RT-1 [8]、QT-Opt [66]、Bridge[95]、Task Agnostic Robot Play [126,127]、JacoPlay [128]、Cable Routing [129]、RoboTurk [86]、NYU VINN [130]、Austin VIOLA [131]、BerkeleyAutolab UR5 [132]、TOTO [133] 和 Language表 [91] 数据集

    请注意,他们实验中使用的机器人数据混合包含9种体现,这少于整个 Open X-Embodiment 数据集(22种)——这种差异的实际原因是他们一直在不断扩展OXE数据集,并且在实验时,上述数据集代表了当时的OXE的所有数据。未来,他们计划继续在扩展版本的数据集上训练策略,并继续与机器人学习社区一起扩展数据集
  • RT-1-X 仅在上述定义的机器人混合数据上进行训练,而 RT-2-X 则通过共同微调进行训练(类似于原始的 RT-2 [9]),原始VLM 数据和机器人数据混合以大约一比一的比例分配

在推理时,每个模型以机器人所需的速率运行(3-10Hz),RT-1 在本地运行,RT-2 则托管在云服务上并通过网络查询

第五部分 RT-H

// 待更

第六部分(选读) 先泛化后加速最后造数据:RT-Trajectory、SARA-RT、AutoRT

Google认为,要生产出真正可进入现实世界的机器人,必须要解决两个基本挑战:

  1. 新任务推广能力
  2. 提高决策速度

本次三连发的前两项成果就主要在这两大领域作出改进,且都建立在谷歌的基础机器人模型RT之上

于是在24年年初,谷歌宣布了一系列机器人研究进展:AutoRT、SARA-RT 和 RT-Trajectory,它们能够帮助机器人更快地做出决策,更好地理解它们身处于怎样的环境,更好地指导自己完成任务

接下来,让我们回顾一下这几项重要研究

6.1 RT-Trajectory:帮助机器人泛化,使得没见过的任务也能直接做

6.1.1 RT-Trajectory创建轨迹的三种方式

人类可以直观地理解、学会如何擦桌子,但机器人却不是很懂。不过好在我们可以通过多种可能的方式将这一指令传达给它,让它作出实际的物理行动

传统上,对机械臂的训练依赖于将抽象的自然语言(擦桌子)映射到一个个特定的动作,然后让机械臂完成,例如对于擦桌子,就可以拆解为:合上夹具、向左移动、向右移动,但很明显,这种方式的泛化能力很差,从而使得模型很难推广到新任务中

说白了,模仿学习可以让机器人迅速掌握所需的技能,但泛化能力比较差,比如任务泛化,其中包括需要以新的方式组合已见的状态和动作,或者完全泛化到未见的状态或动作的情况

在此,谷歌于23年11月新提出的RT-Trajectory模型(对应paper为:RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches)通过解释具体的机器人动作(即描述训练视频或草图中的机器人动作),使 RT 模型能够理解 「如何完成」任务,具体而言

  • RT-Trajectory 将训练数据集中的每段视频与机器人手臂执行任务时抓手的 2D 轨迹草图叠加在一起。这些轨迹以RGB图像的形式呈现,包括路线和关键点,在机器人学习执行任务时提供低级但非常实用的提示
  • 在对训练数据中未见的 41 项任务进行测试时,由 RT-Trajectory 控制的机械臂的性能比现有的 SOTA RT 模型高出一倍多:任务成功率达到 63%,而 RT-2 的成功率仅为 29%

RT-Trajectory可以用多种方式来创建轨迹,包括:

  1. 人工手绘的草图(这点的巨大意义在于不需要人类再亲自实际演示一遍,只需要花成百上千个任务的草图操作图即可,相比采集视频或3D图像的训练数据 更便捷)
  2. 通过观看人类演示,带有手物互动的人类演示视频是一种替代输入方式。从视频中估计人手姿势的轨迹,并将其转换为机器人末端执行器姿势的轨迹,后者可以用于生成轨迹草图(We estimate the trajectory of human hand poses from the video, and convert it to a trajectory of robot end-effector poses, which can later be used to generate a trajectory sketch)
  3. 通过VLM来生成
    \rightarrow  一方面,按照(How to prompt your robot: A promptbook for manipulation skills with code as policies)中描述的类似方法构建了一个提示,其中包含了由VLM检测到的场景中物体的文本描述、机器人约束、夹爪方向和坐标系,以及任务指令
    通过使用这个提示,LLM编写代码生成一系列3D姿势,最初是为了与运动规划器一起执行,然后我们可以重新用来在初始图像上绘制轨迹草图以条件化RT-Trajectory
    \rightarrow  二方面,使用文本引导的图像生成模型来生成一个描述任务的轨迹草图,提供初始图像和语言指令。 比如使用PaLM-E模型,生成从ViT-VQGAN派生的矢量量化标记,表示轨迹图像。一旦解码,生成的图像可以用于条件化RT-Trajectory

如下图所示

  1. 在策略训练期间,我们首先进行回顾轨迹标记,以从演示数据集中获取轨迹条件标签。这使我们能够重复使用现有的演示数据集,并确保提出的方法对新数据集的可扩展性
    然后,我们使用模仿学习对基于Transformer的控制策略进行训练,该策略以2D轨迹草图为条件
  2. 在推理时,用户或高级规划者会从机器人摄像头获得初始图像观察,并创建一个粗略的2D轨迹草图,指定所需的运动(下图左下角),然后将其输入训练好的控制策略以执行指定的操作任务

6.1.2 2D轨迹的绘制

// 待更

6.1.3 机器人动作策略的训练

模仿学习已经在在多任务机器人模仿学习环境中取得了巨大的成功。 更具体地说

  1. 假设可以访问一系列成功的机器人演示剧集。 每个episode \tau 包含一系列观察o_{t}-动作a_{t}\tau=\left\{\left(o_{t}, a_{t}\right)\right\}(Each episode τ contains a sequence of pairs of observations ot and actions at: τ ={(ot,at)}. )
  2. 这些观察包括从头部摄像头获取的RGB图像 x_t和回顾轨迹草图c_{\text {traj }}
  3. 然后,我们使用Transformer来学习表示为策略 π的模型

行为克隆遵循RT-1框架,通过最小化在给定输入图像和轨迹草图下预测动作的对数似然来优化模型(by minimizing the log-likelihood of predicted actions at given the input image and trajectory sketch)

但为了支持轨迹条件,对RT-1架构进行了修改

  1. 轨迹草图与输入序列(6个图像的历史记录)中的每个RGB图像在特征维度上进行连接,然后通过image tokenizer(一个ImageNet预训练的EfficientNet-B3)进行处理
  2. 对于image tokenizer的额外输入通道,将第一个卷积层的新权重初始化为全零。 由于不使用语言指令,我们删除了原始RT-1中使用的FiLM层

最终效果如下图所示

图片

  • 左图:只使用自然语言数据集训练的 RT 模型控制的机器人,在执行擦桌子这一新任务时受挫,而由 RT 轨迹模型控制的机器人,在经过 2D 轨迹增强的相同数据集训练后,成功规划并执行了擦拭轨迹
  • 右图:训练有素的 RT 轨迹模型在接到新任务(擦桌子)后,可以在人类的协助下或利用视觉语言模型自行以多种方式创建 2D 轨迹

RT 轨迹利用了丰富的机器人运动信息,这些信息存在于所有机器人数据集中,但目前尚未得到充分利用。RT-Trajectory 不仅代表着在制造面向新任务高效准确移动的机器人的道路上又迈进了一步,而且还能从现有数据集中发掘知识

5.2 SARA-RT:让机器人的决策速度务必更快

泛化能力上来以后,我们再来关注决策速度

虽然 Transformer 功能强大,但它们可能会受到计算需求的限制,从而减慢决策速度。因为Transformer 主要依赖于二次复杂度的注意力模块。这意味着,如果 RT 模型的输入增加一倍(例如,为机器人提供更多或更高分辨率的传感器),处理该输入所需的计算资源就会增加四倍,从而导致决策速度减慢

为了提高机器人的速度,谷歌在基础模型Robotics Transformer上开发了SARA-RT

SARA-RT使用一种新的模型微调方法让原来的RT模型变得更为高效,这种方法被谷歌称之为“向上训练”,它主要的功能就是将原来的二次复杂度转换为线性复杂度,同时保持处理质量

当 SARA-RT 应用于拥有数十亿个参数的 SOTA RT-2 模型,它能在各种机器人任务中实现更快的决策和更好的性能:

图片

用于操纵任务的 SARA-RT-2 模型。机器人的动作以图像和文本指令为条件。

凭借其坚实的理论基础,SARA-RT 可应用于各种 Transformer 模型。例如,将 SARA-RT 应用于点云 Transformer (用于处理来自机器人深度摄像头的空间数据),其速度能够提高一倍以上

6.3 AutoRT:数据不够?自己创造! ——极大利好机器人数据的收集

在高层次上,AutoRT(对应论文为:AutoRT: Embodied Foundation Models for Large Scale Orchestration of Robotic Agents,Submitted on 23 Jan 2024)通过开放词汇表对象检测器收集数据

  1. 首先对场景进行理解和描述
  2. 然后LLM解析该描述,在给定高层目标的情况下生成明智且安全的语言目标
  3. 最后使用LLM确定如何执行这些目标

AutoRT采用了一个带有摄像头、机械臂和移动基座的移动机械手作为机器人平台。在此处,我们仅考虑操作数据的收集,因此导航只用于获取不同操作设置——然而值得注意的是该系统对其他机器人实现和收集模式也具有通用性

 AutoRT 结合了大型基础模型(如LLM或VLM,和机器人控制模型RT-1/RT-2,创建了一个可以在新环境中部署机器人用以收集训练数据的系统。AutoRT 可以同时指导多个配备了视频摄像机和末端执行器的机器人,在各种各样环境中执行多样化的任务

6.3.1 探索阶段:导航到目标

  1. 第一步是对空间进行探索,并找到有趣的场景进行操作(The first stage of AutoRT is to explore the space and find interesting scenes for manipulation)
    为了绘制环境,我们采用了 Chen 等人提出的自然语言地图方法,该方法利用 VLM 构建,将物体检测编码为视觉语言嵌入\phi_{i} ,相应位置(x_i, y_i, z_i)由机器人的深度传感器和 SLAM 确定
    Tomap the environment, we use the natural language map approach proposed by Chen et al. (Open-vocabulary queryable scene representations for real world planning),which is built using a VLM to encode object detections into visual-language embeddings φi, with corresponding position (xi,yi,zi) determined by the robot’s depth sensor and SLAM.

    因此,给定一个类似于“海绵”的文本目标 q ,我们可以通过查询接近 q 文本嵌入的 \phi_{i} 来引导机器人走向海绵
    Thus, givena textual target q like “sponge”, we can direct the robot towards a sponge by querying for a φithat is close to the text embedding for q.
  2. 为了确定导航目标,在感兴趣区域中采样状态时,我们根据之前看到对象的平均嵌入与潜在距离成比例进行采样
    To determine navigation goals we sample this map forregions of interest via sampling states proportional to their latent distance to an average embeddingof previously seen objects (see Appendix B for more details)

    每个环境只生成一次该地图,并复制到所有收集机器人所在空间中,并从缓存中加载以节省未来情节时间
    For each environment, this map isgenerated once, then copied to all robots collecting in the space and loaded from cache to save timein future episodes.

总之,机器人先在环境中进行探索(场景和物体由VLM描述),然后随机选择导航目标并靠近物体(并提供LLM文本作为机器人生成操纵任务的依据),最终机器人能有效执行任务,且对结果进行评分,并重复该过程,这种方法不需要事先了解环境布局或其中包含的物体

具体来说

  1. 每个机器人将根据 AutoRT,使用视觉语言模型VLM来「看看四周」,了解其环境和视线内的物体
  2. 接下来,大型语言模型会为其提出一系列创造性任务,例如「将零食放在桌子上」,并扮演决策者的角色,为机器人选择需要执行的任务

下图图呈现了 AutoRT 系统的运作过程(绿色部分是本工作的贡献):

  1. 自主轮式机器人找到了一个有多个物体的位置
  2. VLM 向 LLM 描述场景和物体
  3. LLM 为机器人提出各种操作任务,并决定哪些任务机器人可以独立完成,哪些任务需要人类远程控制,哪些任务不可能完成,然后做出选择
  4. 机器人尝试选择要做的任务,收集实验数据,并对数据的多样性和新鲜度进行评分
    机器人将不断重复这个过程

6.3.2 任务列表的生成

在机器人操作场景之前,需要生成一个操纵任务列表。这个过程包括两个步骤:

  1. 场景描述:根据机器人摄像头拍摄的图像,VLM会输出文本来描述机器人观察到的场景以及其中存在的五个物体。例如,在给定场景中,VLM列出了肥皂、餐巾、零食、布和海绵
    Given an image from the robot camera, a VLM outputs text describing thescene the robot observes, and 5 objects that exist in that scene. For example, as shown in Fig. 5,the VLM lists soap, napkin, snack, cloth, sponge in the given scene.
  2. 任务建议:在这一步中,AutoRT会提示生成任务列表。提示首先提供系统角色说明,比如“我是在办公环境中操作的机器人”,以指导LLM扮演相应角色。然后通过由机器人constitution编写的任务生成规则列表结束
    Task proposal: In this step, AutoRT is prompted to generate a list of tasks. This prompt beginswith a system prompt, such as: “I am a robot operating in an office environment”, which describesthe role the LLM should play. It continues with a list of rules that should be followed for taskgeneration, codified by the robot constitution.
  3. 提示部分还可以注入之前VLM调用中得到的场景和对象描述信息。基于这些提示,LLM会生成一个潜在的操纵任务列表。值得注意的是,为了保持底层模型通用性,并没有针对我们特定用例进行LLM微调
    The prompt ends with a section, where we can inject the scene and object description from the prior VLM call. Given this prompt, an LLMgenerates a list of potential manipulation tasks (see Fig. 5). We note, the LLM is not fine-tuned toour specific use case to maintain the generality the underlying model.

研究人员在现实世界中对 AutoRT 进行了长达七个月的广泛评估。实验证明,AutoRT 系统能够同时安全地协调多达 20 个机器人,最多时共能协调 52 个机器人。通过指导机器人在各种办公楼内执行各种任务,研究人员收集了涵盖 77,000 个机器人试验,6,650 个独特任务的多样化数据集

参考文献与推荐阅读

  1. 关于RT-2的报道
    机器人ChatGPT来了:大模型进现实世界,DeepMind重量级突破
    谷歌AGI机器人大招!54人天团憋7个月,强泛化强推理,DeepMind和谷歌大脑合并后新成果
  2. 关于Google家务机器人的报道
    谷歌DeepMind机器人成果三连发!两大能力全提升,数据收集系统可同时管理20个机器人,量子位
    谷歌家务机器人单挑斯坦福炒虾机器人!端茶倒水逗猫,连甩三连弹开打,新智元
    大模型正在重构机器人,谷歌Deepmind这样定义具身智能的未来,机器之心

  3. Google机器人三项成果
    https://deepmind.google/discover/blog/shaping-the-future-of-advanced-robotics/
  4. RT-2 的后续,RT-H:https://rt-hierarchy.github.io/
    对应paper为:https://arxiv.org/pdf/2403.01823.pdf
  5. ..
ngsim-us-101-trajectory-dataset-smoothing是一个用于平滑车辆轨迹数据集的工具。该数据集了美国101号州际公路上的汽车行驶轨迹,由美国国家交通安全局(National Highway Traffic Safety Administration)提供。这个工具的目的是对这些车辆轨迹数据进行平滑处理,以便更好地分析和利用这些数据。 在实际应用中,车辆行驶轨迹数据可能会因为车辆速度变化、道路状况等原因出现一些噪音或不规则的情况。这种情况下,就需要使用ngsim-us-101-trajectory-dataset-smoothing工具来对这些数据进行平滑处理,去除噪音,使得数据更加清晰和准确。通过进行平滑处理,可以更好地分析车辆的行驶轨迹,比如预测车辆的行驶路径、识别交通事故的发生概率等,这对于交通管理和道路安全具有重要意义。 ngsim-us-101-trajectory-dataset-smoothing工具的实现原理可能涉及到一些数学模型和算法,如卡尔曼滤波、移动平均等方法。通过这些方法,可以对车辆行驶轨迹数据进行平滑处理,使得数据更加可靠和稳定。同时,该工具可能还提供了一些可调节的参数,如窗口大小、平滑系数等,以便用户根据实际需求对数据进行个性化的处理。 总之,ngsim-us-101-trajectory-dataset-smoothing工具为我们处理车辆行驶轨迹数据提供了一种方便高效的方法,使得我们能够更好地分析和利用这些数据,为交通管理和道路安全提供更有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

v_JULY_v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值