【具身智能】TurboVLA阅读随笔

本文是在阅读《TURBOVLA: REAL-TIME VISION-LANGUAGE-ACTION MODEL AT 32 HZ ON AN RTX 4090 WITH <1 GB VRAM》时记录的笔记,带有很强个人主观性,仅供参考。

前言

可以先去阅读VLA综述和经典的OpenVLA,再来看这篇论文,会有更加直观的感受。

  • 为什么要TurboVLA?

先前的VLA模型,基本都以VLM作为基础进行改装以适应机器人任务。但这带来了一个问题:每次推理都需要极大的计算和内存,导致成本和延迟难以降低

于是TurboVLA出现。

  • 使用 V+L→AV + L \rightarrow AV+L→A 而非经典的 V→L→AV \rightarrow L \rightarrow AV→L→A,提供了一种新思路。
  • 模型容量急剧减小,在消费级 RTX 4090 上仅 0.2B 参数量且小于1GB的推理显存。
  • 评估效果却媲美大规模的VLA策略。

我认为,真正重要的是TurboVLA走出了一条不同的道路,供人们研究和思考

TurboVLA的诞生(也可以说是引言)

VLA已经有许多基于LLM而发展起来的强大的模型,它们实际上都以这种方式运行:

V(语言指令+视觉输入+......)V(语言指令+视觉输入+......)V(语言指令+视觉输入+......)

↓\downarrow↓

L(LLM,进行推理和预测)L(LLM,进行推理和预测)L(LLM,进行推理和预测)

↓\downarrow↓

A(输出转化为动作)A(输出转化为动作)A(输出转化为动作)

但是这种方法依赖中间步骤LLM大量的推理计算,带来一系列问题。

思路:(我偏主观的理解描述😜)

  • 先前的模型将各种输入转化为语言Token进行,从而自然而然想到以LLM来进行处理策略预测。但是,这实际上陷入人类思维中(以语言为基础),可以跳脱出来,直接对各个输入之间进行交互操作。

即

V+L(通过各自编码器)V+L(通过各自编码器)V+L(通过各自编码器)

↓(不同模态进行交互)\downarrow (不同模态进行交互)↓(不同模态进行交互)

A(生成连续的动作预测)A(生成连续的动作预测)A(生成连续的动作预测)

从而设计了TurboVLA。

  • 两个编码器分别处理语言和图像输入。
  • 通过交叉注意力模块融合特征。
  • 随后被解码为连续动作。

一些知识

VLA

(仅做一些方法列举)

  • 动作专家模块附着在LLM上
  • 扩散策略
  • 点动作
  • ......(有点多)

高效动作执行

  • 动作Token化
  • 紧凑型VLA
  • 减少沉余计算
  • ......

任务指令

  • 共享策略
  • 预训练的指令融合
  • 文本长范围控制
  • 文本-视觉交错整合
  • ......

前置知识

关于基于LLM构建的模型就不过多讲述,主要讲述TurboVLA使用的视觉-语言交互模块。

给定视觉特征ZvZ^vZv和指令特征ZlZ^lZl,通过

Z~v=Zv+Attn(Qv,Kl,Vl)\tilde{Z}^v = Z^v + \text{Attn}(Q_v, K_l, V_l)Z~v=Zv+Attn(Qv,Kl,Vl)

可以获得结合语言指令的视觉特征。

(语言指令的交互则直接将上式转换lll和vvv就行)

TurboVLA

编码器

考虑到直接将语言指令和视觉特征弄到动作策略维度上进行交互,为了实现此目标,语言指令和视觉输入都会有一个投影函数进行转化。

语言指令编码器

Zl=Pl(ftext(x))∈RNl×dZ^l = P_l(f_{\text{text}}(x)) \in \mathbb{R}^{N_l \times d}Zl=Pl(ftext(x))∈RNl×d

其中xxx为任务指令,ftextf_\text{text}ftext为编码器,PlP_lPl为投影函数。

在维度上,策略维度为ddd,这代表所有的交互都在ddd维空间中进行,而ZlZ_lZl的 Nl×dN_l \times dNl×d 维度则为了保留语言指令的更精确的信息。(NlN_lNl为编码后词元长度)

视觉指令编码器

Znv,(i)=Pv(fimg(In(i)))+Epos(i)+eview(i),Znv=Znv,(1),...,Znv,(K)Z_n^{v,(i)} = P_v \left( f_{\text{img}} \left( I_n^{(i)} \right) \right) + E_{\text{pos}}^{(i)} + e_{\text{view}}^{(i)}, \quad Z_n^v = \left Z_n\^{v,(1)}, \\dots, Z_n\^{v,(K)} \\rightZnv,(i)=Pv(fimg(In(i)))+Epos(i)+eview(i),Znv=Znv,(1),...,Znv,(K)

其中i,ni,ni,n代表多视角,Epos(i)E^{(i)}{pos}Epos(i)为视图内空间特征信息,eview(i)e^{(i)}{view}eview(i)为视角信息。

维度的话 Nv×dN_v \times dNv×d 同理。

状态编码器

Zns=fstate(sn)∈RNs×dZ_n^s = f_{\text{state}}(s_n) \in \mathbb{R}^{N_s \times d}Zns=fstate(sn)∈RNs×d

即加入机器人状态,这是机器人任务执行中的必要条件。

它不参与视觉-语言交互模块,直接作用于动作解码器。

视觉-语言交互模块

(Vnℓ,Lnℓ)=FusionLayerℓ(Vnℓ−1,Lnℓ−1),ℓ=1,...,N.(V_n^\ell, L_n^\ell) = \text{FusionLayer}_\ell(V_n^{\ell-1}, L_n^{\ell-1}), \quad \ell = 1, \dots, N.(Vnℓ,Lnℓ)=FusionLayerℓ(Vnℓ−1,Lnℓ−1),ℓ=1,...,N.

意思是经过NNN层交互器进行迭代,每次以上一层输出为新特征,以交互后特征为输出。

每一层由层归一化,双向交叉注意力和带有残差连接的特定模态前馈网络组成。(公式在前置知识中可窥见一二)

其中,Vn0V^0_nVn0 和 LN0L^0_NLN0 即为 ZnvZ^v_nZnv 和 ZlZ^lZl。

最后,最终输出被拼接:

Znvol=VnN;LnNZ_n^{vol} = V_n\^N; L_n\^NZnvol=VnN;LnN

动作解码器

这是一个轻量级的类Transfomer解码器。

A^n=Dθ(Qa,Znvl;Zns)∈RH×da\hat{A}n = D\theta(Q_a, Z_n\^{vl}; Z_n\^{s}) \in \mathbb{R}^{H \times d_a}A^n=Dθ(Qa,Znvl;Zns)∈RH×da

其中,Qa=q1,......,qHQ_a = q_1,......,q_HQa=q1,......,qH 为 HHH个动作查询,DθD_\thetaDθ 为动作解码器。

通过类Transformer架构,HHH 步动作查询可由一次操作生成,一定程度上降低延迟。

训练

使用专家克隆训练。

给定目标动作序列,与预测动作序列进行 ℓ1ℓ_1ℓ1 损失计算。(考虑学习稳定性,对异常值的鲁棒性等)

~

相关推荐
风合星语3 天前
2026 具身智能技术实战(一):VLA 到底怎么控制机器人?——用 LeRobot 跑通 SmolVLA 推理
pytorch·机器人·具身智能·vla·lerobot·smolvla
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
高洁013 天前
未来三年,AI 落地的五个确定性判断一
人工智能·深度学习·机器学习·transformer·知识图谱
Omics Pro3 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
m4Rk_3 天前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github
翰佰尔生物HiOmics云分析3 天前
老年COVID-19重症化风险预测机器学习在线工具技术解析
机器学习·开发·预测·covid-19
陈天伟教授3 天前
技能人才评价考评员(高级考评员)备考要点-模块一技能人才评价制度体系与政策法规
人工智能·具身智能
一只废狗狗狗狗狗狗狗狗狗3 天前
机器学习:分类问题及损失函数优化
机器学习
workflower3 天前
SSH(Struts+Spring+Hibernate)
人工智能·机器学习·机器人·云计算·无人机
陈年老古董3 天前
微博情感分析项目学习笔记
笔记·python·学习·机器学习·项目