[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 具有强大的泛化能力,能够有效地适应新的指令、任务和环境。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用MATLAB进行雷达数据采集可视化

本文使用轮趣科技N10雷达&#xff0c;需要源码可在后台私信或者资源自取 1. 项目概述 本项目旨在通过 MATLAB 读取 N10 激光雷达 的数据&#xff0c;并进行 实时 3D 点云可视化。数据通过 串口 传输&#xff0c;并经过解析后转换为 三维坐标点&#xff0c;最终使用 pcplayer 进…

UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备

1 将用到的图标找好&#xff0c;放一起 DataTable里对应好图标 测试一下能正确获取&#xff1a; 2 装备增强属性思路 给FMyItemInfo添加一个枚举变量记录类型&#xff08;物品&#xff0c;道具&#xff0c;装备&#xff0c;饰品&#xff0c;武器&#xff09;--> 扩展DataT…

Docker 部署 Starrocks 教程

Docker 部署 Starrocks 教程 StarRocks 是一款高性能的分布式分析型数据库&#xff0c;主要用于 OLAP&#xff08;在线分析处理&#xff09;场景。它最初是由百度的开源团队开发的&#xff0c;旨在为大数据分析提供一个高效、低延迟的解决方案。StarRocks 支持实时数据分析&am…

(9) 上:学习与验证 linux 里的 epoll 对象里的 EPOLLIN、 EPOLLHUP 与 EPOLLRDHUP 的不同

&#xff08;1&#xff09;经过之前的学习。俺认为结论是这样的&#xff0c;因为三次握手到四次挥手&#xff0c;到 RST 报文&#xff0c;都是 tcp 连接上收到了报文&#xff0c;这都属于读事件。所以&#xff1a; EPOLLIN : 包含了读事件&#xff0c; FIN 报文的正常四次挥手、…

python学opencv|读取图像(五十二)使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习了图像的常规读取和基本按位操作技巧&#xff0c;相关文章包括且不限于&#xff1a; python学opencv|读取图像-CSDN博客 python学opencv|读取图像&#xff08;四十九&#xff09;原理探究&#xff1a;使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客…

数据分析系列--⑦RapidMiner模型评价(基于泰坦尼克号案例含数据集)

一、前提 二、模型评估 1.改造⑥ 2.Cross Validation算子说明 2.1Cross Validation 的作用 2.1.1 模型评估 2.1.2 减少过拟合 2.1.3 数据利用 2.2 Cross Validation 的工作原理 2.2.1 数据分割 2.2.2 迭代训练与测试 ​​​​​​​ 2.2.3 结果汇总 ​​​​​​​ …

DeepSeek r1本地安装全指南

环境基本要求 硬件配置 需要本地跑模型&#xff0c;兼顾质量、性能、速度以及满足日常开发需要&#xff0c;我们需要准备以下硬件&#xff1a; CPU&#xff1a;I9内存&#xff1a;128GB硬盘&#xff1a;3-4TB 最新SSD&#xff0c;C盘确保有400GB&#xff0c;其它都可划成D盘…

AI开发学习之——PyTorch框架

PyTorch 简介 PyTorch &#xff08;Python torch&#xff09;是由 Facebook AI 研究团队开发的开源机器学习库&#xff0c;广泛应用于深度学习研究和生产。它以动态计算图和易用性著称&#xff0c;支持 GPU 加速计算&#xff0c;并提供丰富的工具和模块。 PyTorch的主要特点 …

纯后训练做出benchmark超过DeepseekV3的模型?

论文地址 https://arxiv.org/pdf/2411.15124 模型是AI2的&#xff0c;他们家也是玩开源的 先看benchmark&#xff0c;几乎是纯用llama3 405B后训练去硬刚出一个gpt4o等级的LLamA405 我们先看之前的机遇Lllama3.1 405B进行全量微调的模型 Hermes 3&#xff0c;看着还没缘模型…

像接口契约文档 这种工件,在需求 分析 设计 工作流里面 属于哪一个工作流

οゞ浪漫心情ゞο(20***328) 2016/2/18 10:26:47 请教一下&#xff0c;像接口契约文档 这种工件&#xff0c;在需求 分析 设计 工作流里面 属于哪一个工作流&#xff1f; 潘加宇(35***47) 17:17:28 你这相当于问用例图、序列图属于哪个工作流&#xff0c;看内容。 如果你的&quo…

代码随想录刷题笔记

数组 二分查找 ● 704.二分查找 tips&#xff1a;两种方法&#xff0c;左闭右开和左闭右闭&#xff0c;要注意区间不变性&#xff0c;在判断mid的值时要看mid当前是否使用过 ● 35.搜索插入位置 ● 34.在排序数组中查找元素的第一个和最后一个位置 tips&#xff1a;寻找左右边…

PyTorch框架——基于深度学习YOLOv8神经网络学生课堂行为检测识别系统

基于YOLOv8深度学习的学生课堂行为检测识别系统&#xff0c;其能识别三种学生课堂行为&#xff1a;names: [举手, 读书, 写字] 具体图片见如下&#xff1a; 第一步&#xff1a;YOLOv8介绍 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本…

【Elasticsearch】实现气象数据存储与查询系统

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

python-leetcode-相同的树

100. 相同的树 - 力扣&#xff08;LeetCode&#xff09; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:de…

IM 即时通讯系统-50-[特殊字符]cim(cross IM) 适用于开发者的分布式即时通讯系统

IM 开源系列 IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术&#xff0c;提供优质可控的IMRTC能力 IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统 IM 即时通讯系统-43-简单的仿QQ聊天安卓APP IM 即时通讯系统-44-仿QQ即…

2025年1月22日(网络编程 udp)

系统信息&#xff1a; ubuntu 16.04LTS Raspberry Pi Zero 2W 系统版本&#xff1a; 2024-10-22-raspios-bullseye-armhf Python 版本&#xff1a;Python 3.9.2 已安装 pip3 支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480) 已安装 vim 已安装 git 学习…

基于微信小程序的电子商城购物系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

MP4分析工具

在实际应用中&#xff0c;我们经常需要对MP4文件进行分析。分析MP4封装格式的工具比较多&#xff0c;下面介绍几款常用的工具&#xff1a; 1、mp4info 优点&#xff1a; 带界面的可视化工具可以清晰看到各个box的组成和层次同时可以分离里面的音视频文件可以看到音视频的时间…

傅里叶分析之掐死教程

https://zhuanlan.zhihu.com/p/19763358 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析 不仅仅是一个数学工具&#xff0c;更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是&#xff0c;傅里叶分析的公式看起来太复杂了&#xff0c;所以很多…

想品客老师的第天:类

类是一个优化js面向对象的工具 类的声明 //1、class User{}console.log(typeof User)//function//2、let Hdclass{}//其实跟1差不多class Stu{show(){}//注意这里不用加逗号&#xff0c;对象才加逗号get(){console.log(后盾人)}}let hdnew Stu()hd.get()//后盾人 类的原理 类…