[EAI-028] Diffusion-VLA,能够进行多模态推理和机器人动作预测的VLA模型

Paper Card

论文标题:Diffusion-VLA: Scaling Robot Foundation Models via Unified Diffusion and Autoregression
论文作者:Junjie Wen, Minjie Zhu, Yichen Zhu, Zhibin Tang, Jinming Li, Zhongyi Zhou, Chengmeng Li, Xiaoyu Liu, Yaxin Peng, Chaomin Shen, Feifei Feng
论文链接:https://arxiv.org/abs/2412.03293
项目主页:https://diffusion-vla.github.io/
论文出处:/
论文被引:/

Abstract

本文提出了 DiVLA,它将自回归模型与扩散模型结合,用于学习视觉运动策略(visuomotor policy)。目标是 next token prediction,使模型能够有效地根据当前观测结果进行推理。随后,连接一个扩散模型来生成动作。为了通过 self-reasoning 增强策略学习,引入了推理注入模块,将推理句子直接集成到策略学习过程中。使用多个真实机器人进行了大量的实验,以验证DiVLA的有效性。包括一个工厂分拣任务,其中DiVLA成功地对物体进行了分类,包括那些在训练期间未见过的物体。推理模块增强了解释性,能够理解模型的思维过程并识别策略失败的潜在原因。此外,在零样本抓取任务上测试了DiVLA,在102个未见物体上实现了63.7%的准确率。证明了对视觉变化(例如干扰物和新的背景)的鲁棒性,并且易于适应新的机器人本体。DiVLA可以遵从新的指令并保持对话能力。DiVLA的数据效率高,推理速度快;DiVLA-2B在单个A6000 GPU上运行速度达到82Hz,并且可以从<50个演示中学习一个复杂任务。 最后,将模型从20亿参数扩展到720亿参数,展示了随着模型规模的增加而改进的泛化能力。

Summary

在这里插入图片描述

受到 pi0 启发,跟进的挺快的。把 PaliGemma-3B 的骨干换成了 Qwen2-VL 系列的 2B/7B/72B,同时增加了一个细粒度的特征提取模块,来更好的注入到扩散部分。并且实现了多模态推理,能够做 VQA,原始的pi0是没有的。利用预训练VLM作为VLA的骨干,提供了对视觉概念的强大先验理解,可以显著增强复杂任务中的下游性能。用了SigLIP编码器,又用了Qwen2-VL骨干,看起来像是用了两次视觉编码器?另外就是,微调阶段用的数据太少,看起来像是单任务,扩散+VLM构建VLA的实现长周期任务和复杂灵巧类双臂操作任务的优势没有发挥出来,可能是先占坑,期待后续工作~

研究背景

基于离散token自回归预测建模的方式实现的VLA模型,例如 RT-2、OpenVLA 面临的问题是:将连续的机器人动作离散化为固定大小的 token 破坏了动作的连续性和精确性。其次,NTP 的方式推理频率很低,难以满足端侧高频动作推理需求,限制了模型的应用。

近两年,基于扩散的视觉运动策略模型取得了较大的进展。通过将动作序列生成建模为去噪过程,很多方法表现出不错的性能。这种方法能够更好地捕获机器人动作的多模态性质,并能够更快的生成动作序列。但问题是基于扩散的模型缺乏推理能力,因为没有LLM。

所以能不能结合二者的优势构建一个VLA,融合自回归模型的推理能力和扩散模型的高频动作生成能力?

方法介绍

本文提出了 DiffusionVLA(DiVLA),结合了多模态理解模型和扩散模型。其中,多模态理解模型VLM具备良好的基于文本的推理能力,扩散模型能够通过去噪过程学习机器人的动作分布。这使得 DiVLA可以做多模态推理也可以做动作生成。但是有一点需要注意,逻辑推理和可操作的机器人策略之间存在gap,因此引入了推理注入模块,该模块重用了VLM的推理输出并将其直接应用于扩散策略,从而使用显式的推理信号丰富策略学习过程。DiVLA具备的优势:

  • 快速的推理速度:DiVLA-2B 在单个 A6000 GPU 上的推理速率达到 82Hz,DiVLA-7B 的推理速率为 42Hz。
  • 增强的视觉泛化能力:DiVLA不受视觉干扰或新背景的影响,在视觉动态环境中表现出鲁棒性。
  • 可泛化的推理能力:DiVLA能够准确识别和分类未见的物体,展示其跨新输入泛化推理的能力。
  • 对新指令的适应性和对话能力:可以解释和执行复杂的新指令,同时保持对话流畅性,在交互场景中提供多样的响应范围。
  • 对其他机器人本体的泛化能力:DiVLA可以轻松微调以部署在双臂机器人上,只需少量微调即可实现高性能,证明其在各种机器人本体上的适应性。
  • 可扩展性:提供了可扩展的模型系列——DiVLA-2B、7B 和 72B——证明泛化能力和性能随着模型大小的增加而提高,符合 Scaling Law。

模型架构

最终目标是创建一个统一的框架,将擅长预测语言序列以进行推理的自回归模型与擅长生成机器人动作的扩散模型结合起来。 开发这样一个集成模型面临着巨大的挑战:(i)设计一个能够无缝且高效地集成自回归和扩散机制的架构;(ii)利用自生成的推理来增强动作生成,而不会增加推理计算开销。

视觉编码器:SigLIP,将视觉输入转换为固定数量的 token。每个视角的图像单独编码,之后对 token 做拼接,各个视图是共享的。有个疑问,过了两遍视觉编码器?VLM还有自带的 ViT,论文貌似也没说清楚。通过View- adaptive tokenization 方法,将腕部相机视角的图像输入的token数量减少到 16,降低计算量。

VLM骨干:Qwen2-VL-2B/7B/72B

动作解码器:将 LLM 输出的 token 作为condition输入到扩散模型中以进行动作解码,采用标准的 Diffusion Policy 设计,权重随机出实话。之后接多层 MLP 用于解码动作,预测机器人的关节空间,如果用于不同设置的机器人本体,会随机初始化 MLP 的部分,而不是直接复用训练好的。

推理注入模块:目的是将显式的推理注入到VLA模型,避免了迭代输入-输出循环的计算和操作复杂性。使用 RT-1 和 YAY 使用的 FiLM 将其注入到扩散模型部分。

损失函数:两部分,一部分为扩散损失,一部分是 token prediction 损失,其中后者用了超参数,以平衡不同损失的贡献。实验发现,后者比前者小10倍。

训练策略:参考 pi0,使用 lora 微调 VLM,预训练学习率为 2e-5。

数据构建

预训练数据:2B/7B模型使用 Droid 数据,72B模型使用 OXE和Droid数据。使用 GPT-4o 将Droid数据语言注释部分转换为包含推理的形式。

微调数据:四种实验设置 sorting,(500 episodes) bin picking(未采集,评估零样本泛化能力), multi-task learning(580 episodes), and table bussing(400 episodes)。前三种使用 Franka 单机械臂,后者使用双臂 AgileX 机器人。
在这里插入图片描述

消融实验

Real-World Multi-Task Learning

设计了 5 个任务:

  • object selection
  • flip the vertically placed pot
  • placing a cube into a designated box
  • placing a cup onto a plate
  • placing a cube inside a box

对视觉变化的泛化能力:评估模型在多样化、动态环境中的鲁棒性和适应性。三个场景:1) 在周围添加额外的干扰物以增加视觉杂乱和复杂性;2) 改变背景以测试对场景上下文变化的适应能力;3) 实现多彩的灯光效果以引入不同的照明和色彩色调。图 4 显示了这些场景,以说明每次变化对视觉环境的影响,实验结果如表1所示。
在这里插入图片描述
评估表明,虽然所有方法的性能都因这些视觉变化而下降,但DiVLA在五个不同的任务中始终保持最高的平均成功率。说明了模型固有的鲁棒性和适应性,尽管在训练过程中没有任何特定的数据增强技术。

End-to-End Sorting on Real Robot

在工业环境中评估了DiVLA的能力:将物品分为四类:1)玩具汽车,2)针织手套,3)毛绒玩具和 4)内六角扳手。语言指令是“将所有物品分类到相应的区域”。总共收集了500条轨迹作为训练数据。只有当机器人成功抓取物体并将其放置到正确的区域时,才认为任务成功。实验装置如图1所示。

在两种难度设置下评估:简单和困难。简单模式——桌子上放置的物品少于5件;困难模式——6到11件物品被随机排列。 此外,已见物体和未见物体在这两种场景中混合在一起。 在杂乱的场景中,物品可能会重叠或随机分布在桌面上,增加了排序任务的复杂性。

实验结果如图2所示。DiVLA在所有实验设置下的平均成功率为66.2%。 当场景复杂度增加(即物体数量和杂乱程度增加)时,其他方法的性能会显著下降(例如,在高度杂乱的混合场景中,DP的成功率急剧下降到9.2%),而DiVLA保持了60%的成功率。这种持续的性能突显了DiVLA有效处理复杂和动态的现实世界场景的能力。

通过检查推理结果来诊断策略模型。因为模型使用自然语言推理生成输出,所以可以通过观察其推理短语来了解模型的“思考”过程。如图5所示,模型识别出一辆玩具车并决定将其拾起。如果放一个内六角扳手来进行干预,推理短语就会从“抓取玩具车”转变为“抓取内六角扳手”,从而使模型能够适应并准确地对物品进行排序。这种动态推理使模型的决策过程更加透明和可解释。推理注入模块也受益于推理自我校正,从而使机器人动作更加鲁棒。

Zero-Shot Bin Picking of Unseen Objects

评估DiVLA的实例泛化能力,重点关注 Bin Picking 任务——这是评估机器人模型性能的基准。使用102个独特的物体,都没有包含在训练数据中。图6显示了其中一些物体。任务指令“将右侧面板上的任何物体移到左侧篮筐中”。图1(右)展示了实验设置。此次评估的挑战在于物体之间存在显著差异,这不仅包括尺寸差异,还包括不同的颜色图案、纹理和可变形程度。图7是该实验的五个不同尺寸物体的示例。
在这里插入图片描述

实验结果如图3所示,DiVLA 达到了 63.7% 的成功率。相比之下,扩散策略、Octo、TinyVLA 和 OpenVLA 的成功率分别为 8.9%、19.6%、23.5% 和 28.4%。这些结果表明,DiVLA 可以理解各种物体形状和尺寸,而其他模型往往由于依赖于可能无法很好地泛化到新实例的特定于物体的特征而失败。这突出了其在动态、非结构化环境中的应用潜力,在这些环境中,机器人会遇到不熟悉的物体,并且必须在最少人工干预的情况下执行任务。
在这里插入图片描述

Adapt to Real-World Bimanual Robot

研究 DiVLA 对双臂机器人的适应性。 受π0的启发,设计了一个桌子整理任务,该任务涉及清理带有各种物体的桌子。 此任务已针对双臂机器人设置进行了调整:所有餐具都应放置在左侧的面板上,而垃圾则应丢入右侧的垃圾箱。 与工厂分拣任务类似,使用可见物体和可见物体与未见物体的组合来评估模型的性能。图8显示了环境设置以及用于训练和评估的所有物体。 评估包括十二次试验,每次试验在桌子上随机放置3到5个物体。成功率由正确放置的物体数量计算得出。
在这里插入图片描述

在这里插入图片描述

实验结果表明,当物体出现在训练数据中时,在可见物体上的平均成功率达到72.9%。相比之下,Diffusion Policy和OpenVLA的成功率分别为45.8%和0%。 对于涉及可见物体和不可见物体的任务,DiVLA的成功率高达70.8%,与可见物体相比略有下降,这表明其对不同颜色和形状的物体的泛化能力显著。最后,DiVLA展示了识别未见物体的能力,特别是通过对物体颜色做出敏感的反应。例如,它将雪碧罐分类为“绿色罐”,并将其正确地放入垃圾箱。 这一观察结果进一步支持了推理有助于泛化的观点。

Following Novel Instruction

评估模型遵循新指令的能力,特别关注其对未见指令的泛化能力。引入新的指令来提示模型:
对四个物体进行了测试:1)西瓜,2)柠檬水,3)蓝色纸垃圾,4)红辣椒。 这是一项极具挑战性的任务,因为这些新指令在Droid数据集和我们收集的数据中都不存在。评估了四个新的指令,结果总结在表2中。
在这里插入图片描述

研究结果表明,OpenVLA和DiVLA-2B都可以识别这些未见过的物体并执行基本的拾取和放置任务。 然而,当涉及到复杂的顺序任务时,OpenVLA无法准确解释指令;相反,它会随机选择项目。 相比之下,DiVLA 正确地遵循了指令,按指定的顺序拾取物体。通过学习将长期任务分解成子任务,DiVLA获得了理解复杂的多步骤指令的泛化能力。 虽然OpenVLA可以执行更简单的命令,例如“拿起西瓜”,但它难以处理需要按特定顺序选择项目的更高级指令。当模型处理新指令时抓取精度下降,这表明指令的新颖性给任务执行带来了进一步的复杂性

实验结论

这项工作提出了视觉-语言-动作模型 DiVLA,它在模拟和现实场景中都具有强大的性能,包括单臂和双臂机器人。核心在于结合下一个 token 预测目标和扩散模型:前者用于任务推理,后者用于动作预测。 引入了一个推理重用模块来增强动作生成,并实现自适应视图的符元化以降低计算成本。 通过在模拟和多个真实世界实现中的广泛评估,DiVLA 优于几种 SOTA 机器人模型。 此外,DiVLA 具有强大的泛化能力,能够有效地适应新的指令、任务和环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963210.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.5.5 基于横盘结构的分析体系——缠论(走势类型)

走势 缠论中走势的定义如下&#xff1a; 包含一个中枢的走势——盘整 包含两个或多个中枢的走势——趋势 方向 趋势&#xff08;两中枢或多中枢&#xff09; 盘整&#xff08;一中枢&#xff09; 上涨 下跌 表1-8 盘整和趋势类型的走势理论图。 趋势和中枢 …

使用PyQt5绘制带有刻度的温度计控件

前言&#xff1a;进入学习Python开发上位机界面的第二阶段&#xff0c;学习如何开发自定义控件&#xff0c;从常用的控件入手学习&#xff0c;本期主要学习如何使用PyQt5绘制带有刻度的温度计控件。 1. 先找到一篇参考文章 参考文章&#xff1a;Qt编写自定义控件5-柱状温度计…

DIFY源码解析

偶然发现Github上某位大佬开源的DIFY源码注释和解析&#xff0c;目前还处于陆续不断更新地更新过程中&#xff0c;为大佬的专业和开源贡献精神点赞。先收藏链接&#xff0c;后续慢慢学习。 相关链接如下&#xff1a; DIFY源码解析

赛博算卦之周易六十四卦JAVA实现:六幺算尽天下事,梅花化解天下苦。

佬们过年好呀~新年第一篇博客让我们来场赛博算命吧&#xff01; 更多文章&#xff1a;个人主页 系列文章&#xff1a;JAVA专栏 欢迎各位大佬来访哦~互三必回&#xff01;&#xff01;&#xff01; 文章目录 #一、文化背景概述1.文化起源2.起卦步骤 #二、卦象解读#三、just do i…

「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)

深度学习&#xff08;DL&#xff09;是现代人工智能&#xff08;AI&#xff09;的核心之一&#xff0c;但它并不是一夜之间出现的技术。从最初的理论提出到如今的广泛应用&#xff0c;深度学习经历了几乎一个世纪的不断探索与发展。今天&#xff0c;我们一起回顾深度学习的历史…

AIGC技术中常提到的 “嵌入转换到同一个向量空间中”该如何理解

在AIGC&#xff08;人工智能生成内容&#xff09;技术中&#xff0c;“嵌入转换到同一个向量空间中”是一个核心概念&#xff0c;其主要目的是将不同类型的输入数据&#xff08;如文本、图像、音频等&#xff09;映射到一个统一的连续向量空间中&#xff0c;从而实现数据之间的…

单细胞分析基础-第一节 数据质控、降维聚类

scRNA_pipeline\1.Seurat 生物技能树 可进官网查询 添加链接描述 分析流程 准备:R包安装 options("repos"="https://mirrors.ustc.edu.cn/CRAN/") if(!require("BiocManager")) install.packages("BiocManager",update = F,ask =…

【13】WLC HA介绍和配置

1.概述 本文对AireOS WLC的HA进行介绍,和大多数网络架构设计一样,单台的WLC是无法保证设备的冗余性的,而且WLC也不是双引擎的设备,所以需要依靠High Available的技术来为WLC提供高可用性。 2.WLC HA类型 AireOS WLC的高可用性技术可以分为N+1的SSO的HA。不是所有的设备都…

Alibaba开发规范_编程规约之命名风格

文章目录 命名风格的基本原则1. 命名不能以下划线或美元符号开始或结束2. 严禁使用拼音与英文混合或直接使用中文3. 类名使用 UpperCamelCase 风格&#xff0c;但以下情形例外&#xff1a;DO / BO / DTO / VO / AO / PO / UID 等4. 方法名、参数名、成员变量、局部变量使用 low…

【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)

Elasticsearch系列文章目录 【Elasticsearch 基础入门】一文带你了解Elasticsearch&#xff01;&#xff01;&#xff01;【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置&#xff08;单机&#xff09; 目录 Elasticsearch系列文章目录前言单机模式1. 安装 J…

Gurobi基础语法之 addConstr, addConstrs, addQConstr, addMQConstr

在新版本的 Gurobi 中&#xff0c;向 addConstr 这个方法中传入一个 TempConstr 对象&#xff0c;在模型中就会根据这个对象生成一个约束。更重要的是&#xff1a;TempConstr 对象可以传给所有addConstr系列方法&#xff0c;所以下面先介绍 TempConstr 对象 TempConstr TempC…

深度学习可视化指标方法工具

1. TensorBoard 简介&#xff1a;由TensorFlow提供的可视化工具&#xff0c;现已支持多种深度学习框架。 功能&#xff1a; 图可视化&#xff1a;展示计算图结构&#xff0c;帮助理解模型架构。 标量仪表板&#xff1a;跟踪损失和准确率等指标的变化。 直方图仪表板&#xf…

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具01

1、开发背景 大家都很熟悉&#xff0c;Oracle提供了Impdp和ExpDp工具&#xff0c;功能很强大&#xff0c;可以进行db的导入导出的处理。但是对于Sqlserver数据库只是提供了简单的图形化的导出导入工具&#xff0c;在实际的开发和生产环境不太可能让用户在图形化的界面选择移行…

小程序-视图与逻辑

前言 1. 声明式导航 open-type"switchTab"如果没有写这个&#xff0c;因为是tabBar所以写这个&#xff0c;就无法跳转。路径开始也必须为斜线 open-type"navigate"这个可以不写 现在开始实现后退的效果 现在我们就在list页面里面实现后退 2.编程式导航…

list的使用,及部分功能的模拟实现(C++)

目录&#xff08;文章中"节点"和"结点"是同一个意思&#xff09; 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list…

StarRocks BE源码编译、CLion高亮跳转方法

阅读SR BE源码时&#xff0c;很多类的引用位置爆红找不到&#xff0c;或无法跳转过去&#xff0c;而自己的Linux机器往往缺乏各种C依赖库&#xff0c;配置安装比较麻烦&#xff0c;因此总体的思路是通过CLion远程连接SR社区已经安装完各种依赖库的Docker容器&#xff0c;进行编…

Axure PR 9 旋转效果 设计交互

大家好&#xff0c;我是大明同学。 这期内容&#xff0c;我们将学习Axure中的旋转效果设计与交互技巧。 旋转 创建旋转效果所需的元件 1.打开一个新的 RP 文件并在画布上打开 Page 1。 2.在元件库中拖出一个按钮元件。 创建交互 创建按钮交互状态 1.选中按钮元件&#xf…

Java - 引用类型:强引用、软引用、弱引用和虚引用详解

文章目录 概述1. 强引用&#xff08;Strong Reference&#xff09;1.1 什么是强引用&#xff1f;1.2 强引用的特点1.3 强引用的使用场景1.4 强引用的注意事项 2. 软引用&#xff08;Soft Reference&#xff09;2.1 什么是软引用&#xff1f;2.2 软引用的特点2.3 软引用的使用场…

S4 HANA给科目分配允许记账的税码

本文主要介绍在S4 HANA OP中给科目分配允许记账的税码相关设置。具体请参照如下内容&#xff1a; 1. 给科目分配允许记账的税码 以上配置定义了总账科目可以使用什么税码进行记账。通常在科目主数据中会明确总账科目的“Tax Category”来请明确总账科目可以使用什么类型的税码…

xss-labs靶场

xss-labs靶场 xss攻击类型 反射型xss 即攻击者将恶意脚本嵌入到url或者表单中&#xff0c;当用户访问特定的url或者提交表单时&#xff08;用户端请求时)&#xff0c;恶意脚本会执行 攻击需要用户点击恶意链接或访问包含恶意参数的url触发 存储型xss 即攻击者将恶意脚本提交…