发表时间:arXiv 2024年5月15日
论文链接:https://arxiv.org/pdf/2309.11499
作者单位:Xi'an Jiaotong University
Motivation : 机器人技术中的任务规范有多种形式,例如模仿一次性演示、遵循语言说明和达到目标。它们通常被认为是不同的任务,并由专门的模型解决。在以前的文献中,不同的任务通常需要多样化和不兼容的接口,导致孤立的机器人系统不能很好地泛化到不同任务。
解决方法 :我们表明,广泛的机器人操作任务可以用多模态提示、交错文本和视觉token来表达(因此可以通过这种方式构建不同操作统一的模型) 。因此,作者先是构建了一个数据集VIMA bench。然后设计了一个基于Transformer的机器人agent VIMA,它通过序列建模的形式自回归处理这些提示并输出运动动作(代码使用的是 序列模型 gpt 自回归生成的方式)。
实现方式 : 我们的关键见解是,各种任务规范范式(如目标条件反射、视频演示、自然语言指令)都可以实例化为多模态提示。
模型架构: 我们用预先训练的T5模型对多模态提示进行编码 ,并通过交叉注意层在提示上调节机器人控制器。controller(我理解这个controller就是小脑,对应Actiondecoder)是一个因果转换器解码器,由交替的自我和交叉注意层组成,用于预测以提示和交互历史为条件的运动命令。
-
左边是我想要执行的动作,当作条件。用预先训练的T5模型对多模态提示进行编码。 提示中有 3 种原始输入------文本、单个对象的图像和完整桌面场景的图像 (例如,用于从视频帧重新排列或模仿)。对文本 ,直接用预训练的T5模型编码。对images of full scenes ,需要先通过mask cnn进行目标的定位,然后再提取特征。对images of single objects,直接使用vit进行特征提取。为了适应来自新模态的标记,我们在非文本标记和 T5 之间插入 MLP,也就是说经过vit处理之后还有个mlp。这种对图像的object center的处理方式(Maskcnn+Vit)提高了对图像数据的利用效率,使得VIMA能利用少量数据相对于其他模型达到更好的效果,通过后边实验加以证明了。
-
前向过程的几个关键值:
- 右边是interaction history包括历史信息。演示不是视频,只是部分的关键帧。机器人控制器(解码器)由P和历史轨迹H之间的一系列交叉注意层为提示条件,交叉注意力中的Q是轨迹得来的,K和V都是从Prompt得来的。交叉注意力设计具有三个优点:1)加强与提示的联系; 2)原始提示token的完整和深度流; 3) 更好的计算效率。(消融实验也证明了cross attention比其他的交互方式更好)。
-
右边预测的是个action_token,与obs_token进行交错的放置,这个预测的动作token就是前面的act_tokens,感觉有点类似于cls token,与其他的obs_token进行交互。
-
最后,我们遵循常见的做法将预测的动作标记映射到机械臂的离散姿态。通过一个ActionDecoder(实际上就是MLP+solfmax)实现每个pos的位置和旋转角度的预测。
-
VIMA采用以对象为中心的表示**(MASK-cnn+vit,提高数据的利用效率)** ,从边界框坐标和裁剪的RGB patches计算token。object_encoder的输出就包括bbox坐标,把每个object先找到,再进行特征提取。也就是说vit处理的是cropped之后的图像:
训练策略:为了防止灾难性遗忘,VIMA 仅使用逐层学习率衰减 (He et al., 2021) 微调语言编码器的最后两层,但冻结所有其他层。
实验 : 我们设计了 4 个级别的评估设置来系统地测量代理的零样本泛化能力。每个level都更多地偏离训练分布,因此比以前的level更具挑战性。
数据集:VIMA-BENCH: Benchmark for Multimodal Robot Learning,有17个任务(具体见附录),并且按照任务的难易程度划分为四个不同的level(每个level都包括17个任务)。
结论 : 我们得出结论,直接将可变长度的目标序列传递给机器人控制器而不是下采样到固定数量的tokens是很重要的**(tokens的数量是很重要的,如果减少tokens的数量会带来信息的丢失,不利于decision making**)。
启发 : 我们假设数据效率可归因于 VIMA 配方中使用的以对象为中心的表示,这比直接从低数据机制中的像素中学习更容易过度拟合。也就是说,VIMA通过object-centric representation这种方式提高了数据的利用率,能更加充分的利用现有数据。 我**也可以把这个点当作切入点,去解决小样本动作学习问题。**通过对模型或者方法的改进,提高数据利用的效率。
作者说是a solid starting point for future work,实际上没公开训练的代码,没法follow。