当前位置: 首页 > news >正文

让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先

论文链接:https://arxiv.org/pdf/2409.12514
项目链接:https://tiny-vla.github.io/

具身智能近期发展迅速,拥有了大模型"大脑"的机械臂在动作上更加高效和精确,但现有的一个难点是:模型受到算力和数据的制约。如何使用更少的训练数据,以更快的推理速度,实现媲美OpenVLA的性能?今天给大家分享的TinyVLA,就是来解决这个难题的,还有多种规模的模型可供选择!

总结速览

解决的问题:现有的视觉-语言-动作(VLA)模型在推理速度慢和需要大量机器人数据进行预训练方面面临挑战,限制了实际应用。

提出的方案:引入一种新型紧凑型视觉-语言-动作模型TinyVLA,提供更快的推理速度和更高的数据效率,消除预训练阶段的需求。

应用的技术:TinyVLA框架包括两个关键组件:1) 使用高效的多模态模型初始化策略骨干;2) 在微调过程中集成扩散策略解码器,以实现精确的机器人动作。

达到的效果:TinyVLA在仿真和实际机器人上进行了广泛评估,显著优于现有的VLA模型OpenVLA,在速度和数据效率上表现更佳,同时在语言指令、未知物体、位置变化等方面展现出强大的泛化能力。

方法

1. 训练轻量级VLM模型。 现有的VLM大多在30亿参数以上,推理速度较慢,训练周期长,因此我们训练了一系列更加紧凑的VLM模型,我们使用pythia作为我们的LLM部分,参照LLaVA的框架我们训练了3个不同大小的VLM,参数量从4亿到14亿。以此作为我们VLA的主干网络。

2. 机器人数据微调VLA模型。 我们用训练好的VLM权重来初始化我们的VLA模型,但是VLM只能生成语言,无法直接生成动作;OpenVLA和RT-2采用将动作离散化的方式,将动作预测任务转变成next token prediction任务,但这种方式会使得模型的训练难度大大增加;因此我们采取用policy head 网络替换原有的llm head,从而在不破坏动作连续性的同时,使得模型训练更加简单。我们采取Diffusion policy网络来预测动作。为了增加动作的一致性以及提升动作预测效率,TinyVLA一次性会预测未来16步的动作。为了进一步减少资源消耗,我们使用LoRA微调VLM部分,使得需要训练的参数只占总参数的5%。

实验

仿真实验结果

如图所示,TinyVLA-H在metaworld的50个任务上都超越baseline,特别是较难的任务中,更是大幅领先。

多任务真机实验结果

1. 单臂多任务实验。 如图所示,在5个真实环境下的任务分别测试20次,使用不同的权重测试3轮并且统计成功率均值和方差。TinyVLA-H实现了最好的效果,在翻马克杯任务、叠方块任务以及关抽屉任务上都达到了96%以上的成功率,平均成功率达到94%,比OpenVLA提升了25.7%。并且,从TinyVLA-S到TinyVLA-H,随着模型增加,成功率也在增加,证明TinyVLA符合Scaling Law。

2. 双臂任务实验。 双臂环境和单臂完全不同,因为对应的动作维度不同,而OpenVLA是自回归形式生成动作,切换到双臂环境导致动作长度不一致,使得OpenVLA没法正常生成动作,并且Open-x Embodiedment数据集也只包含单臂任务,这进一步导致OpenVLA无法正常生成双臂动作。而TinyVLA无需修改模型结构,只需要更改动作维度,即可直接迁移到双臂环境。如图所示,在3个真实环境下的任务分别测试10次,使用不同的权重测试3轮并且统计成功率均值和方差。TinyVLA-H 仍然大幅领先Baseline。

泛化实验结果

1. 指令泛化。 由于TinyVLA的主干网络是一个在大规模图片文本数据集上预训练的VLM模型,尽管没在相应的机器人指令数据集上预训练,但TinyVLA-H体现出了一些类似于RT-2的指令理解能力。为了更好的区分难度,划分了3个难度等级(越大越难),第1级,理解未在机器人数据中出现的颜色;第2级,区分不同物体;第3级,辨别新的物体并且实现已知物体的新用途。对于第1级,TinyVLA能准确区分不同颜色的同一物体,且该颜色并没有在机器人数据集中出现。第2级,TinyVLA能区分不同物体,这些物体虽然都出现在机器人数据中但并没有同时出现过,也没有在相应的区分任务中训练过。第3级,指令是全新的,要求TinyVLA抓起一个没有在机器人任务中见过的小车并放到盒子里,注意盒子只在开盖子的任务中出现过。

2. 视角泛化。 视角泛化是机器人领域的一大难题,轻微晃动视角都可能会导致任务完成失败。TinyVLA在一定范围内展现出了视角泛化能力。如图所示,我们测试了4个视角度数,范围从-30度到+30度,左右视角分别测试。对于关抽屉任务,TinyVLA展现出较好的能力,但是精度要求更高的叠方块任务则较难完成任务。

3. 位置泛化。 位置泛化要求模型不仅要能在图片中识别出目标物体的位置,还要求模型能泛化到不同的动作空间。而TinyVLA在这项测试中大部分位置能够完成任务,少部分极端位置则逊色于OpenVLA。这可能是由于OpenVLA在大规模的机器人数据集上预训练,且该数据集主要是pick place的任务类型。

4. 物体以及外观泛化。 更换不同的物体或者相同的物体变换颜色,TinyVLA能实现媲美OpenVLA的性能,而只需要OpenVLA约1/5的参数量,且推理速度更快。

5. 背景泛化。 背景变化同样会导致任务失败,因为背景通常会导致大面积的干扰,从而影响任务的完成。我们测试了6种背景下模型是否还能正常完成任务,且我们选择的叠方块和抓网球都是位置敏感性任务,更容易收到干扰。测his结果如图,TinyVLA与OpenVLA展现出了相近的能力。

6. 光照泛化。

结论

在机器人领域,VLA模型展现出了强大的泛化能力,包括但不限于物体、干扰物、指令泛化等。但VLA模型同时也面临着两个严峻的问题,一方面现有的VLA如RT-2、OpenVLA有着70亿参数甚至550亿参数,庞大的参数量到导致模型的推理速度十分缓慢,OpenVLA在H100上推理也只能达到约6Hz的运行频率。另一方面,现有VLA都是在庞大的机器人数据上预训练过的,比如OpenVLA在Open-x Embodiedment dataset上预训练大约970K轨迹,而真实环境很难收集到如此大规模的数据,因此如何高效地利用少量数据也是机器人领域难点之一。为了缓解这两个问题,本文推出了TinyVLA,以实现更快的推理速度以及不使用大量的预训练数据,并且实现媲美OpenVLA的性能。

TinyVLA将现有的VLM模型和Diffusion policy网络相结合,将VLM的泛化能力迁移到机器人领域的同时,还能利用Diffusion policy网络从而缓解自回归生成导致的推理速度缓慢。我们根据LLaVA的框架首先预训练了一系列不同大小的VLM,然后将VLM的权重直接迁移到我们的VLA模型,再用下游机器人数据进行LoRA微调。根据VLM的参数量变化,我们的TinyVLA也有三种规模,总参数量从4亿到13亿参数。

在下游任务上,我们最大的TinyVLA-H推理延迟比OpenVLA快20倍且单臂环境平均任务成功率高出25.7%,如下图所示。同时我们的TinyVLA还能够直接迁移到双臂环境,无需修改网络结构等,只需要修改预测的动作维度即可;但受限于OpenVLA的自回归结构以及预训练数据均为单臂,导致其很难在双臂环境下正常运行。此外我们的TinyVLA在多个泛化指标上能达到与OpenVLA相媲美的性能,比如物体泛化、位置泛化、干扰物、背景泛化;而在视角变化泛化上,TinyVLA更是遥遥领先,在-30度到30度的超大范围测试中,部分情况仍能准确完成任务。

参考文献

[1]TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation

更多精彩内容,请关注公众号:AI生成未来

相关文章:

让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先

论文链接:https://arxiv.org/pdf/2409.12514 项目链接:https://tiny-vla.github.io/ 具身智能近期发展迅速,拥有了大模型"大脑"的机械臂在动作上更加高效和精确,但现有的一个难点是:模型受到算力和数据的制…...

Excel 获取某列不为空的值【INDEX函数 | SMALL函数或 LARGE函数 | ROW函数 | ISBLANK 函数】

〇、需求 Excel 获取某列不为空的值(获取某列中第一个非空值 或 获取某列中最后一个非空值)。 一、知识点讲解 INDEX函数 和 SMALL函数 两个函数搭配使用都可以实现上述需求 获取某列中第一个非空值 。 INDEX函数 和 LARGE函数 两个函数搭配使用都可以实现上述需求 获取某…...

爆火!大模型算法岗 100 道面试题全解析,赶紧收藏!

大模型应该是目前当之无愧的最有影响力的AI技术,它正在革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等等,正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个,在大模型纵横的时代,不…...

Python画笔案例-068 绘制漂亮米

1、绘制漂亮米 通过 python 的turtle 库绘制 漂亮米,如下图: 2、实现代码 绘制 漂亮米,以下为实现代码: """漂亮米.py注意亮度为0.5的时候最鲜艳本程序需要coloradd模块支持,安装方法:pip install coloradd程序运行需要很长时间,请耐心等待。可以把窗口最小…...

得物App荣获国家级奖项,正品保障引领潮流电商新风尚

近日,在2024年中国国际服务贸易交易会上,得物App凭借其在科技创新保障品质消费领域的突出成果,再次荣获国家级殊荣——“科技创新服务示范案例”。这是继上海市质量金奖之后,得物App获得的又一个“高含金量”奖项。 作为深受年轻人…...

【BurpSuite】SQL注入 | SQL injection(1-2)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍收藏💗支持一下哦 【BurpSuite】SQL注入 | SQL injection(1-2) 实验一 Lab: SQL injection vulnerability in WHERE clause…...

ThreadPoolExecutor有哪些核心的配置参数?

ThreadPoolExecutor 是 Java 中强大的线程池实现,具有多种配置参数,可以灵活地根据具体应用需求进行调整。以下是 ThreadPoolExecutor 的核心配置参数及其简要说明: 1. corePoolSize 描述:核心线程池的大小,即最小保…...

关于工作虚拟组的一些思考

这是学习笔记的第 2493篇文章 因为各种工作协作,势必要打破组织边界,可能会存在各种形态的虚拟组。 近期沉淀了一些虚拟组的管理方式,在一定时间范围内也有了一些起色,所以在不断沉淀的过程中,也在不断思考。 这三个虚…...

【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示)

目录 Spring Boot中集成Redis 1.项目创建和环境配置 2.基本操作演示 Spring Boot中集成Redis Spring社区也自定义了一套Redis的客户端,与jedis的操作方式有所差异,Spring中把每个类型的操作都单独封装了起来。下面就让我来带大家了解如何在Spring Boot…...

【CSS】透明度 、过渡 、动画 、渐变

opacity 透明度transition 过渡animation 动画background 渐变 ( 线性渐变 \ 径向渐变 \ 锥形渐变 ) opacity 透明度 设置元素的透明度,会影响元素及其所有子元素的透明度,值范围:0(完全透明)到 1(完全不透…...

尚硅谷vue3+TypeScript笔记大全

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…...

New major version of npm available! 8.3.1 -> 10.8.3 报错

问题 npm install 安装新项目时,出现如下升级错误。 npm notice npm notice New major version of npm available! 8.3.1 -> 10.8.3 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3 npm notice Run npm install -g npm10.8.3 to upd…...

Python(七)- 文件操作

目录 文件操作 打开文件 读数据 写数据 关闭文件 文件读写实例 文件写 文件读 读数据类型 备份文件 os模块 目录的具体操作 文件操作 在Python中操作文件记录信息的步骤: (1)打开文件,或新建一个文件; o…...

Docker技术深度解析与实践案例

Docker技术深度解析与实践案例 在当今快速迭代的软件开发环境中,如何高效地打包、部署和管理应用成为了开发人员和运维团队面临的重大挑战。Docker,作为一种开源的应用容器引擎,凭借其轻量级、可移植性和高效性,迅速成为解决这些…...

llama_deploy

本文于 240924 翻译整理自: https://docs.llamaindex.ai/en/stable/module_guides/workflow/deployment/ 文章目录 一、关于 🦙`llama_deploy`🤖为什么使用 `llama_deploy`?等等,`llama-agents` 在哪里?二、入门1、安装2、高级部署3、部署核心系统4、部署工作流5、与部…...

平衡二叉搜索树插入的实现

前言 因为二叉搜索树在插入的时候最坏的情况可能会变成一条单一链表,从而使查找或者插入的时候消耗大量的时间。所以为了解决这一情况诞生了平衡二叉搜索树,其作用是为了减少二叉搜索树的整体高度,从而使查找插入删除的效率提高。 一、平衡二…...

ROS理论与实践学习笔记——2 ROS通信机制之通信机制实践

5.1 话题发布 需求描述:编码实现乌龟运动控制,让小乌龟做圆周运动。 实现分析: ①乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点 turtlesim_node,另一个是控制节点,二者是订阅发布模…...

CDGA|数据治理:策略与价值的深度融合

在当今这个数据驱动的时代,企业数据治理的重要性日益凸显。数据不仅是企业的核心资产,更是驱动业务决策、优化运营流程、创新产品服务的关键力量。然而,要让数据治理真正发挥价值,企业需要采取一系列策略来确保数据的准确性、完整…...

49. 建模软件绘制3D场景(Blender)

这文章主要给大家科普一些三维模型创建、美术和程序员协作的相关问题。 三维建模软件作用 对于简单的立方体、球体等模型,你可以通过three.js的几何体相关API快速实现,不过复杂的模型,比如一辆轿车、一栋房子、一个仓库,一般需要…...

如何使用 DomCrawler 进行复杂的网页数据抓取?

在互联网时代,数据是宝贵的资源。无论是市场分析、客户洞察还是内容聚合,从网页中抓取数据都是一项关键技能。Symfony 的 DomCrawler 是一个强大的工具,可以帮助开发者从复杂的网页中提取所需的数据。本文将详细介绍如何使用 DomCrawler 进行…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习&#xff0c;链接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…...

StarRocks 全面向量化执行引擎深度解析

StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计&#xff0c;相比传统行式处理引擎&#xff08;如MySQL&#xff09;&#xff0c;性能可提升 5-10倍。以下是分层拆解&#xff1a; 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值&#xff0c;以达到平滑&#xff08;去噪&#xff09;、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算&#xff0c;…...