5.1 VLA 模型架构总览:视觉-语言-动作的统一建模


文档摘要

5.1 VLA 模型架构总览:视觉-语言-动作的统一建模 VLA 的革命性在于:它不再把视觉理解、语言理解、动作生成拆成三个独立模块,而是用一个 Transformer 把它们统一为「输入图像+指令,输出动作」的端到端映射。 5.1.1 VLA 的核心思想 传统机器人系统的「感知-决策-执行」是三个独立模块: 每个模块独立训练、独立优化,模块间用人工设计的接口连接。这种「流水线」架构有诸多痛点: 接口信息损失:视觉模型输出「物体位置」时丢失了大量像素细节。 错误传播:上游小错被下游放大。 不能联合优化:每个模块只优化自己的目标,整体未必最优。 VLA 的核心思想是端到端: 把整条流水线压缩成一个神经网络,所有参数联合训练。这样: 信息无损传递(图像特征直接进入动作生成)。

5.1 VLA 模型架构总览:视觉-语言-动作的统一建模

VLA 的革命性在于:它不再把视觉理解、语言理解、动作生成拆成三个独立模块,而是用一个 Transformer 把它们统一为「输入图像+指令,输出动作」的端到端映射。

5.1.1 VLA 的核心思想

传统机器人系统的「感知-决策-执行」是三个独立模块:

图像 → 视觉模型 → 物体位置 → 规划器 → 子目标 → 技能库 → 关节序列 → 控制器 → 力矩

每个模块独立训练、独立优化,模块间用人工设计的接口连接。这种「流水线」架构有诸多痛点:

  • 接口信息损失:视觉模型输出「物体位置」时丢失了大量像素细节。
  • 错误传播:上游小错被下游放大。
  • 不能联合优化:每个模块只优化自己的目标,整体未必最优。

VLA 的核心思想是端到端

图像 + 语言指令 → [VLA 模型] → 动作序列

把整条流水线压缩成一个神经网络,所有参数联合训练。这样:

  • 信息无损传递(图像特征直接进入动作生成)。
  • 错误可端到端反传修正。
  • 整体优化动作质量。

💡 类比:传统架构像「分工明确的工厂流水线」,VLA 像「一个全能匠人」。前者效率高但僵化,后者灵活但训练难。VLA 之所以成为热点,是因为大模型时代让我们终于有算力训练这种「全能匠人」。

5.1.2 VLA 的统一架构

虽然具体实现各异,主流 VLA 都遵循一个统一架构:

四个核心组件:

组件 职责 代表实现
视觉编码器 把图像编码为视觉 token 序列 ViT、SigLIP、CLIP、DINOv2
文本编码器/Tokenizer 把语言指令编码为文本 token LLM 的 tokenizer(BPE/WordPiece)
多模态 Transformer 主干 融合视觉、语言、本体感觉 token,输出 hidden state LLM 主干(Gemma、Llama、PaLI)
动作头(Action Head) 把 hidden state 转为动作 离散:token 分类;连续:扩散/Flow/MLP

下面分别拆解。

5.1.3 视觉编码器:让 Transformer 看懂图像

VLA 的视觉编码器常用预训练的视觉基础模型:

编码器 训练方式 特点
ViT 监督学习 ImageNet 经典 backbone
CLIP 图文对比学习 文本对齐,开放词汇
SigLIP 改进的 CLIP(sigmoid loss) 比 CLIP 更稳健
DINOv2 自监督学习 强语义特征
NaViT/Pyramid ViT 原生任意分辨率 适合变分辨率输入

视觉编码器把图像(H×W×3)切成 patch(如 16×16),每个 patch 编码为一个向量(通常 1024-2048 维)。一张 224×224 的图像有 196 个 patch,对应 196 个视觉 token。

⚠️ 关键设计:视觉 token 数量直接影响计算量。196 个 token 进 LLM 已经很重,如果用高分辨率图像(如 448×4448,784 个 token),计算量爆炸。当前 VLA 模型常用「双分辨率」策略:低分辨率全局图 + 高分辨率局部图(如手腕相机),平衡信息与计算。

5.1.4 文本编码:复用 LLM 的语言能力

VLA 通常复用现有 LLM 的 tokenizer,把语言指令编码为文本 token:

"Pick up the red cup" → [Pick, up, the, red, cup] → [token_id_1, ..., token_id_5]

更进一步,VLA 直接借用 LLM 的预训练权重——这是 RT-2 的关键创新:复用 PaLM/PaLI 等 LLM 的语言能力,让 VLA 一出生就具备语言理解。这是「LLM 即 VLA 的主干」思想。

5.1.5 多模态 Transformer 主干

视觉 token、文本 token、本体感觉 token 拼成一个序列,喂给 Transformer 主干:

[V1, V2, ..., V196, L1, L2, ..., L5, P1, P2, ..., P7] → Transformer → hidden states

主干通常是一个预训练 LLM(如 Gemma 2B、Llama 3 8B、PaLI 540B)。注意几个设计选择:

选择 含义 代表
冻结视觉编码器 视觉编码器不更新,只训主干和动作头 OpenVLA
全参数微调 视觉、主干、动作头都训 RT-2(数据充足时)
LoRA 微调 只训低秩适配器 资源受限时
本体感觉是否输入 是否给主干当前关节状态 多数 VLA 都给

主干输出的 hidden states 进入动作头。

5.1.6 动作头:从 hidden state 到动作

动作头是 VLA 最有创新空间的部分。当前主流有三种:

路线一:动作 Token 化(离散化)

把连续动作离散化为 token,让 VLA 像「生成文本」一样生成动作。这是 RT-1、RT-2、OpenVLA 的做法。

具体做法(以 RT-2 为例):

  1. 每个动作维度(如 7 个关节增量 + 1 个夹爪)独立离散化为 256 个 bin。
  2. 每个动作值转为一个 token(与文本 token 同构)。
  3. VLA 用 next-token prediction 学习生成动作 token 序列。
  4. 推理时逐 token 自回归生成,再反量化为连续动作。
# 动作 token 化伪代码 def tokenize_action(action_7d): # action_7d 是 7 维连续动作,每维 [-1, 1] tokens = [] for dim_value in action_7d: bin_idx = int((dim_value + 1) / 2 * 255) # 量化到 [0, 255] tokens.append(action_vocab_token(bin_idx)) return tokens # 7 个 token def detokenize_action(tokens): return [(tok / 255 * 2 - 1) for tok in tokens]

优点:复用 LLM 的自回归生成,与文本 token 同构,可无缝接入现有 LLM 训练管线。

缺点:(1) 量化误差;(2) 自回归生成本质慢;(3) 难以建模多模态动作分布(一个状态可能对应多个合理动作)。

路线二:扩散策略(连续动作)

不离散化,用扩散模型(Diffusion)生成连续动作。这是 Diffusion Policy、π0 的思路。详见 5.2 节。

路线三:流匹配(连续动作)

比扩散更新的生成式方法,用连续时间流(Flow)建模动作分布。π0 用 Flow Matching 替代 Diffusion,速度快、质量高。详见 5.2 节。

5.1.7 动作表征的选择

除了「离散 vs 连续」,动作表征还有几个维度需要选择:

维度 选项 说明
动作空间 关节空间 / 末端空间 / 任务空间 关节空间最直接,末端空间更可解释
动作类型 绝对位置 / 增量(delta)/ 速度 delta 最常用(输出当前帧的变化)
输出单位 单步 / chunk(多步) chunk 更能补偿延迟,第 5.2 详述
频率 与视觉同步(10-30Hz)/ 控制频率(100-1000Hz) VLA 通常 10-30Hz,下游插值到更高频

💡 业界共识:当前主流 VLA 输出末端位姿增量(delta EE pose)+ 夹爪开合,以 chunk 形式(一次输出未来 8-16 步),频率 10-30Hz。下游控制器(第 6 章)把 chunk 插值并跟踪到 100-1000Hz。

5.1.8 Transformer 在机器人控制中的挑战

VLA 用 Transformer 做控制,相比 NLP 有几个独特挑战:

挑战一:实时性

  • NLP 推理延迟容忍几百毫秒(聊天场景)。
  • 机器人控制需要 10-30Hz 决策,每步 30-100ms。
  • 大 VLA 模型(7B+)推理慢,需要量化、蒸馏、KV cache 等优化。

挑战二:多模态输入

  • 文本是 1D token 序列,图像是 2D patch + 通道,本体感觉是低维向量。
  • 异构输入需要分别编码后拼接送入 Transformer。
  • 视觉 token 数量远多于文本(196 vs 10),计算负担不均。

挑战三:动作的多模态性

  • 「抓杯子」可以从左抓、从右抓、从上抓——多种合理动作。
  • LLM 的 next-token prediction 难以建模这种多模态(容易输出平均化的无效动作)。
  • 这是为什么扩散策略/Flow Matching 兴起(5.2 节)。

挑战四:长程依赖

  • 机器人任务有时需要记忆几十秒前的状态(「我刚才把钥匙放哪了」)。
  • Transformer 的注意力机制能处理长程依赖,但上下文长度有限。
  • 需要 RAG、外部记忆(呼应第 4.3 节)辅助。

5.1.9 VLA 的训练数据

VLA 训练需要大量「(图像, 指令, 动作)」三元组。数据来源:

来源 规模 质量 成本
遥操作(第 7.1 节) 万-百万条 高(真实任务) 极高
仿真(第 7.2 节) 百万-亿条 中(域差)
互联网视频 亿级 低(无动作标签)
自主探索(RL) 视情况 中(算力)
跨本体聚合(Open X) 百万级 中高 共享

数据是当前 VLA 的核心瓶颈——架构已逐渐收敛,但高质量真实操作数据稀缺。第 7 章会专门讨论数据问题。

5.1.10 VLA vs 传统分层架构:何时用哪个

场景 推荐
开放语义任务(家庭、办公) VLA(语言泛化强)
精细工业操作(装配、焊接) 传统控制(精度高)
长程多步任务(做早餐) LLM 规划 + VLA 执行(分层)
高速动态任务(接球、平衡) 经典 RL + MPC(VLA 太慢)
全新场景快速部署 VLA(少样本即可)
高可靠性工业线 传统架构(可验证)

💡 当前格局:VLA 适合泛化优先、精度次要的场景;传统架构适合精度优先、可解释的场景。两者在分层架构中协作——VLA 做高层策略,传统控制做底层执行。

本节小结

  • VLA 用一个端到端 Transformer 替代「感知-规划-执行」流水线,实现从图像指令到动作的直接映射。
  • 统一架构包含:视觉编码器、文本 tokenizer、多模态 Transformer 主干、动作头。
  • 动作头有三条路线:离散 token 化(RT-2/OpenVLA)、扩散策略(Diffusion Policy)、流匹配(π0)。
  • 动作表征通常用末端位姿增量 chunk,频率 10-30Hz,下游插值到更高频。
  • Transformer 在机器人控制中面临实时性、多模态、动作多模态性、长程依赖四大挑战。
  • VLA 适合泛化优先场景,传统架构适合精度优先场景,分层融合是主流。

下一节《5.2 策略表征与生成式策略》将深入扩散策略与 Flow Matching,看它们如何解决「动作多模态性」这个核心难题。


发布者: 作者: 灏天文库 转发
评论区 (0)
U