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

论文阅读笔记——OpenVLA: An Open-Source Vision-Language-Action Model

OpenVLA 论文
在这里插入图片描述

OpenVLA 是一种具有 70 亿参数的开源视觉-语言-动作模型(Vision-Language-Action, VLA),旨在将视觉感知、语言理解和机器人动作控制无缝结合。其核心是一个预训练的视觉条件语言模型(Vision-Conditioned Language Model),通过在 Open-X Embodiment 数据集上进行微调,该数据集包含了 970k 条多样化的机器人操作轨迹,涵盖了广泛的场景和任务。OpenVLA 的架构和训练方法使其在机器人操作和多模态任务中展现出强大的潜力。

与 Octo 等先前的工作不同,OpenVLA 采用了一种更为端到端的方法。Octo 等模型通常由预训练的组件(如语言嵌入或视觉编码器)组成,并与从头初始化的附加模型组件结合,在策略训练过程中学习如何将这些组件“拼接”在一起。相比之下,OpenVLA 直接对视觉-语言模型(VLM)进行微调,通过将机器人动作视为语言模型词汇中的 token 来生成机器人动作。这种方法不仅简化了模型架构,还增强了多模态任务中的一致性和泛化能力。
在这里插入图片描述
最近的 VLM 架构一般涵盖:

  1. 一个视觉编码器,将图像输入映射为多个“图像块嵌入”
  2. 一个投影器,将视觉编码器的输出嵌入映射到语言模型的输入空间
  3. 一个大型语言模型LLM骨干

作者将机器人动作预测问题重新表述为一个“视觉-语言”任务。具体来说,模型接收观察图像和自然语言任务指令作为输入,并将其映射为一串预测的机器人动作。为了实现这一目标,作者将连续的机器人动作离散化,映射到语言模型的分词器所使用的离散 token 上,从而将动作预测问题转化为语言模型的输出空间问题。
动作离散化方法
为了使视觉-语言模型(VLM)的语言模型骨干能够预测机器人动作,作者采用了一种基于分位数的离散化方法。对于每个动作维度,作者将训练数据中动作的第 1 分位数到第 99 分位数之间的区间均匀划分为若干“箱子”。与 Brohan 等人使用的最小-最大边界方法不同,这种基于分位数的方法能够有效忽略数据中的异常动作,避免异常值过度扩展离散化区间,从而保持动作离散化的有效粒度
通过这种方法,作者将一个 N 维的机器人动作表示为 N 个离散整数,每个整数的取值范围为 [ 0 , 255 ] [0, 255] [0,255]。然而,OpenVLA 使用的语言模型骨干(Llama 分词器)在微调期间仅保留了 **100 个“特殊词”**用于新引入的词,这远不足以覆盖 256 个动作 token

分词器词汇的调整
为了解决这一问题,作者借鉴了 Brohan 等人的方法,选择了一种简单而有效的策略:用动作 token 覆盖 Llama 分词器词汇中使用频率最低的 256 个词(即词汇表中最后的 256 个词)。这种方法既避免了分词器词汇的扩展,又确保了动作 token 的有效表示。

最终使用Open X-Embodiment dataset对模型进行微调,使用lora finetune且发现微调vision encoder可以帮忙捕捉机器人数据的细粒度空间细节。

性能表现

在这里插入图片描述
结果显示,OpenVLA在大多数任务中表现最强,并且在通用策略中具有最高的总体成功率。RT-2-X也表现良好,优于RT-1-X和Octo(RT-1-X和Octo在这些泛化任务中通常遇到困难),但不如OpenVLA


http://www.kler.cn/a/579612.html

相关文章:

  • YC 孵化项目 Pinch:实时语音翻译视频会议平台;Mistral OCR:能处理多语言多模态复杂文档丨日报
  • 数据量过大的时候导出数据很慢
  • 链式多分支规则树模型结构
  • robotjs获取鼠标位置
  • c++介绍锁四
  • 快速排序(二叉树的前序递归遍历思想)
  • 【three.js】动画系统完全指南 - 从事件循环到工业级动画架构
  • MobileBERT: 一种适用于资源有限设备的紧凑型任务无关BERT
  • 关于C/C++语言的初学者在哪刷题,怎么刷题
  • 软件系统压力测试方案,压力测试报告模版(Word原件)
  • OSPF-单区域的配置
  • 反射是什么?
  • 数学建模-1:对变化建模
  • Python正则表达式完全指南:从入门到精通
  • 【Linux网络(一)】初始网络
  • Linux:多线程(单例模式,其他常见的锁,读者写者问题)
  • ESP8266UDP透传
  • 华为Mate 60 Pro+ 等机型适配支持运营商北斗卫星短信功能
  • C++:vector容器(下篇)
  • Milvus的匹配语法