VIMA: General Robot Manipulation with Multimodal Prompts

news/2025/1/15 1:40:40/

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


http://www.ppmy.cn/news/1508628.html

相关文章

运动耳机哪个品牌好用?五款质量一流品牌推荐!

运动耳机无疑是运动爱好者的绝佳伴侣,让每一次挥汗如雨的瞬间都伴随着无与伦比的音乐盛宴与舒适的佩戴感受。特别是对于跑步爱好者而言,一款优秀的运动耳机更是不可或缺的装备。然而,市场上的运动耳机种类繁多,质量也千差万别&…

机器学习——逻辑回归(学习笔记)

目录 一、认识逻辑回归 二、二元逻辑回归(LogisticRegression) 1. 损失函数 2. 正则化 3. 梯度下降 4. 二元回归与多元回归 三、sklearn中的逻辑回归(自查) 1. 分类 2. 参数列表 3. 属性列表 4. 接口列表 四、逻辑回归…

怎么在网站底部添加站点地图?

在优化网站 SEO 时,站点地图(Sitemap)是一个非常重要的工具。它帮助搜索引擎更好地理解和抓取您的网站内容。幸运的是,从 WordPress 5.5 开始,WordPress 自带了站点地图生成功能,无需额外插件。下面将介绍如…

EPIC 数据库 Chronicles 的连接方式

EPIC 使用的是 IRIS 数据库,但是在 EPIC 内部,却有一个称为 Chronicles 的系统。 有关这个 Chronicles 的连接方式,请参考: Chronicles Chronicles 在 EPIC 内部被称为 DBMS,是 EPIC 的数据库管理系统。 我们可以认…

TDengine Cloud 助力智源未来,引领能源管理革新

在全球能源转型的大背景下,能源管理和储能技术的创新成为了各行业关注的焦点。随着能源需求的不断增加和对可再生能源的广泛应用,企业对高效、智能的能源管理解决方案的需求也在迅速增长。储能技术不仅能够平衡电力供应与需求,还能够在电网高…

如何高效记录并整理编程学习笔记?

如何高效记录并整理编程学习笔记? 笔记工具选择 1、Typora 轻量化,简单好用 2、 飞书云文档 手机电脑都可以看,随时同步笔记。 笔记结构设计 做好清晰的标题,按照知识去分类。 Java基础知识 开源框架 中间件 实践与复习策略 只…

10、java程序流程控制之二:分支语句(switch-case结构)、循环结构(for循环)(经典案例)

java程序流程控制之二: Ⅰ、分支语句:switch-case1、switch-case 分支结构:其一、描述:其二、代码为:其三、截图为: 2、switch-case 分支结构的案例1:判断是否合格其一、描述:其二、…

HC32F460 IIC访问总结

IC 总线由一根时钟线( SCL),一根数据线( SDA)构成。所有的连接器件必须是漏 极开路输出。 SCL, SDA 线外接上拉电阻。电阻阻值取决于系统应用。 通常情况下,一个完整的通信过程包括下列 4 部分&…