VIMA: General Robot Manipulation with Multimodal Prompts

发表时间: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。

相关推荐
学习前端的小z5 分钟前
【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用
人工智能·chatgpt·aigc
埃菲尔铁塔_CV算法33 分钟前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR34 分钟前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
打羽毛球吗️40 分钟前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
好喜欢吃红柚子1 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
正义的彬彬侠1 小时前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
Debroon1 小时前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
羊小猪~~1 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习