从大语言模型到具身智能的完整技术路线
一句话理解VLA:如果LLM解决的是"怎么对话",VLM解决的是"怎么看懂",那么VLA要解决的就是——看见之后,怎么行动。
适用读者:零基础,无AI/机器人背景要求。本文从最基础的概念讲起,逐步构建完整的VLA知识体系。

目录
- 第一篇:基础篇——理解VLA的前世今生
- 第1章 从ChatGPT说起:AI的三个阶段
- 第2章 什么是VLA?一张图看懂
- 第3章 VLA的前置知识:LLM、VLM、机器人学
- 第二篇:技术篇——VLA的核心架构与原理
- 第4章 VLA的总体架构
- 第5章 视觉编码器:机器人如何"看"
- 第6章 语言理解:机器人如何"听懂指令"
- 第7章 动作输出:机器人如何"动手"
- 第8章 训练方法:VLA如何学习
- 第三篇:模型篇——里程碑VLA模型详解
- 第9章 RT-2:Google的开创性工作
- 第10章 OpenVLA:开源VLA的标杆
- 第11章 π0/π0.5:Physical Intelligence的突破
- 第12章 其他重要VLA模型
- 第四篇:实践篇——如何入门VLA
- 第13章 VLA的数据收集与处理
- 第14章 VLA的训练与部署
- 第15章 VLA的评测与优化
- 第五篇:前沿与展望
- 第16章 VLA的当前挑战
- 第17章 VLA的未来趋势
- 附录:术语表、论文列表、学习路径
第一篇:基础篇——理解VLA的前世今生
第1章 从ChatGPT说起:AI的三个阶段
1.1 第一阶段:大语言模型(LLM)
代表:GPT-4、Claude、DeepSeek、Qwen
能力:理解和生成自然语言文本
输入:文本 → LLM → 输出:文本
例如:
输入:"请帮我写一首关于春天的诗"
输出:"春风拂面暖如酥,桃花含笑映溪湖…"
局限:只能处理文字,看不到图片,听不到声音,更无法控制机器人。
1.2 第二阶段:视觉-语言模型(VLM)
代表:GPT-4V/4o、Gemini、LLaVA、Qwen-VL
能力:同时理解图像和语言
输入:图像+文本 → VLM → 输出:文本
例如:
输入:[一张猫的照片] + "这张图片里是什么?"
输出:"图片中是一只橘色的猫,正趴在窗台上晒太阳。"
关键进步:AI从"只能读文字"进化到"能看图说话"。
局限:能看懂,能说,但不能行动。它告诉你"桌上有一个杯子",但它无法伸手去拿。
1.3 第三阶段:视觉-语言-动作模型(VLA)
代表:RT-2、OpenVLA、π0
能力:理解视觉和语言,然后输出动作控制机器人
输入:图像+语言指令 → VLA → 输出:机器人动作
例如:
输入:[机器人视角的图像] + "把红色的杯子放到盘子里"
输出:机械臂动作序列 → 抓取杯子 → 移动 → 放下
关键突破:AI从"能看能说"进化到"能看能说还能做"。
1.4 三阶段对比
| LLM | GPT-4 | 文本 | 文本 | 一个只会读写的学者 |
| VLM | GPT-4V | 图像+文本 | 文本 | 一个能看能说的观察者 |
| VLA | RT-2, OpenVLA | 图像+文本 | 动作 | 一个能看能说能做的执行者 |
1.5 为什么VLA如此重要?
VLA是通往通用机器人的关键路径:
传统机器人编程:
人工编写规则 → 每个任务单独编程 → 无法泛化到新任务
VLA方式:
大规模预训练 → 理解自然语言指令 → 泛化到未见过的任务
例如:
传统:工程师写代码"移动到坐标(0.3, 0.5, 0.2),闭合夹爪"
VLA:直接说"把杯子放到桌子上",机器人自己理解并执行
第2章 什么是VLA?一张图看懂
2.1 VLA的核心定义
VLA = Vision(视觉)+ Language(语言)+ Action(动作)
┌─────────────────────────────────────────────────────┐
│ │
│ 视觉输入(相机图像) │
│ │ │
│ ▼ │
│ ┌──────────┐ 语言指令 ┌──────────────┐ │
│ │ 视觉编码器 │◀──"把杯子放桌上"──│ 语言编码器 │ │
│ └────┬─────┘ └──────┬───────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 多模态融合(Transformer) │ │
│ └──────────────┬──────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ 动作解码器/动作头 │ │
│ └──────────────┬──────────────┘ │
│ │ │
│ ▼ │
│ 机器人动作(关节角度、末端位置、夹爪开合) │
│ │
└─────────────────────────────────────────────────────┘
2.2 通俗理解
把VLA想象成一个超级保姆机器人:
2.3 VLA vs 传统机器人控制
| 指令方式 | 编程代码/示教 | 自然语言 |
| 泛化能力 | 每个任务单独编程 | 一句话描述新任务 |
| 环境理解 | 预设的传感器规则 | 端到端视觉理解 |
| 适应能力 | 环境变化需重新编程 | 可适应新环境 |
| 开发成本 | 高(需要专业工程师) | 低(自然语言交互) |
第3章 VLA的前置知识
3.1 大语言模型(LLM)基础
核心概念:
- Transformer:LLM的核心架构,通过自注意力机制处理序列数据
- Token:文本被切分为token(词或子词),模型逐token生成
- 预训练+微调:先在海量文本上学习语言规律,再在特定任务上微调
- 上下文窗口:模型一次能处理的token数量(如GPT-4的128K token)
与VLA的关系:VLA通常以预训练LLM为骨干网络,在其基础上添加视觉和动作能力。
3.2 视觉-语言模型(VLM)基础
核心概念:
- 视觉编码器:通常是ViT(Vision Transformer),将图像转化为向量序列
- 跨模态对齐:让视觉特征和语言特征在同一空间中对齐
- 图文理解:同时理解图像内容和文字描述
与VLA的关系:VLA = VLM + 动作输出。VLM提供了"看+理解"的能力,VLA在此基础上增加"做"的能力。
3.3 机器人学基础
核心概念:
- 自由度(DOF):机器人关节能独立运动的维度数。例如6轴机械臂有6个自由度
- 末端执行器:机器人"手"的部分,通常是夹爪或吸盘
- 关节空间 vs 笛卡尔空间:
- 关节空间:每个关节的角度 [θ1, θ2, θ3, θ4, θ5, θ6]
- 笛卡尔空间:末端执行器的位置和姿态 [x, y, z, roll, pitch, yaw]
- 动作空间:机器人可以执行的所有动作的集合
- 本体感知(Proprioception):机器人对自身状态的感知(关节角度、力矩等)
与VLA的关系:VLA输出的动作需要映射到机器人实际的控制指令。
3.4 行为克隆(Behavior Cloning)基础
核心思想:通过观察专家示范来学习如何行动。
传统监督学习:
输入:图像+指令
标签:正确的动作(由人类专家示范)
训练:让模型学习 输入→动作 的映射
行为克隆在VLA中的应用:
数据:人类操作机器人完成任务的视频+动作记录
训练:VLA学习从视频帧+语言指令到动作的映射
推理:给VLA新的图像和指令,输出动作控制机器人
第二篇:技术篇——VLA的核心架构与原理
第4章 VLA的总体架构
4.1 三种主流架构范式
范式一:VLM + 动作头(最主流)
┌───────────────┐
│ 预训练VLM骨干 │ ← 冻结或微调
│(如Qwen2-VL) │
└───────┬───────┘
│
┌───────▼───────┐
│ 动作头 │ ← 新增训练
│(Action Head) │
└───────┬───────┘
│
▼
机器人动作
范式二:统一Token化(最优雅)
┌───────────────┐
│ 统一Tokenizer │ ← 所有模态转为token
└───────┬───────┘
│
┌───────▼───────┐
│ 统一Transformer│ ← 处理所有模态
└───────┬───────┘
│
▼
文本/图像/动作token
范式三:扩散策略+VLM(最新趋势)
┌───────────────┐
│ VLM骨干 │ ← 提供视觉语言理解
└───────┬───────┘
│
┌───────▼───────┐
│ 扩散模型 │ ← 生成动作序列
│(Diffusion) │
└───────┬───────┘
│
▼
机器人动作
4.2 VLA的核心组件
VLA = 视觉编码器 + 语言编码器 + 多模态骨干 + 动作输出模块
┌────────────────────────────────────────────────────────┐
│ VLA模型 │
│ │
│ ┌────────────┐ ┌────────────┐ │
│ │ 视觉编码器 │ │ 语言编码器 │ │
│ │ (ViT/ │ │ (Tokenizer │ │
│ │ SigLIP) │ │ + Embedding)│ │
│ └──────┬─────┘ └──────┬─────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────────────────────────┐ │
│ │ 多模态骨干(Transformer) │ │
│ │ 可以是预训练的LLM/VLM │ │
│ └──────────────┬───────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────┐ │
│ │ 动作输出模块 │ │
│ │ 方案A:离散token化 │ │
│ │ 方案B:连续回归头 │ │
│ │ 方案C:扩散模型 │ │
│ └──────────────┬───────────────────┘ │
│ │ │
│ ▼ │
│ 机器人动作序列 │
└────────────────────────────────────────────────────────┘
第5章 视觉编码器:机器人如何"看"
5.1 视觉编码器的作用
将原始图像像素转化为模型可以理解的向量表示。
原始图像(480×640×3) → 视觉编码器 → 视觉特征向量序列
例如:
输入:480×640的RGB图像
处理:ViT将图像切分为16×16的patch,每个patch编码为一个向量
输出:(480/16)×(640/16) = 30×40 = 1200个视觉token
5.2 VLA中常用的视觉编码器
| CLIP ViT | OpenAI | 图文对齐预训练,泛化能力强 | RT-2, 多数VLA |
| SigLIP | 改进的图文对齐,效果更好 | OpenVLA | |
| DINOv2 | Meta | 自监督预训练,细节感知强 | 部分VLA |
| InternViT | 上海AI Lab | 超大规模,6B参数 | InternVL系列 |
5.3 视觉编码的关键设计选择
分辨率:
- 机器人场景通常需要较高的图像分辨率(细节很重要)
- 常用:224×224, 336×336, 480×480
- 更高分辨率 → 更多视觉token → 更多计算量
预训练方式:
- CLIP式预训练:图文对比学习,特征天然与语言对齐
- 自监督预训练(DINOv2):不依赖文本,但需要额外对齐
是否冻结:
- 冻结视觉编码器:保持预训练的视觉能力,训练更快
- 微调视觉编码器:适配机器人场景,但可能丢失通用性
第6章 语言理解:机器人如何"听懂指令"
6.1 语言指令的类型
高层指令(High-level):
"把红色的杯子放到桌子上"
→ 需要VLA理解物体、位置、动作的语义
低层指令(Low-level):
"移动到坐标(0.3, 0.5, 0.2)"
→ VLA直接输出对应的运动
中层指令:
"先抓住杯子,然后移动到盘子上方,最后松开"
→ 需要VLA理解任务的步骤分解
6.2 语言编码方式
方式一:使用LLM的Tokenizer
"把红色杯子放到盘子里"
→ Tokenizer → [token_id_1, token_id_2, …, token_id_n]
→ Embedding层 → [向量1, 向量2, …, 向量n]
方式二:使用专门的语言编码器
如T5编码器:将指令编码为固定长度的向量
主流选择:直接使用预训练LLM的Tokenizer和Embedding层,这样可以继承LLM的语言理解能力。
6.3 语言指令的挑战
- 歧义性:“把那个东西拿过来”——哪个东西?哪里?
- 抽象性:“整理一下桌面”——具体要做什么?
- 组合性:“先把A放到B上,再把C拿走”——多步任务
- 泛化性:训练时没见过的物体描述
第7章 动作输出:机器人如何"动手"
这是VLA区别于VLM的最关键部分。
7.1 动作空间的定义
对于一个6轴机械臂+夹爪:
动作空间 = {
Δx, # 末端执行器X方向位移
Δy, # Y方向位移
Δz, # Z方向位移
Δroll, # 绕X轴旋转
Δpitch, # 绕Y轴旋转
Δyaw, # 绕Z轴旋转
Δgripper # 夹爪开合(1=开,0=关,或连续值)
}
共7个连续值,构成一个7维动作向量
7.2 三种动作输出方案
方案A:离散Token化(RT-2方案)
动作空间离散化:
连续值Δx ∈ [-1, 1] → 量化为256个离散值
如:-1.0→token_0, -0.992→token_1, …, 1.0→token_255
7个动作维度 × 256个离散值 = 7个离散token
输出方式:
VLA像生成文本一样,逐token生成动作:
[token_128, token_200, token_50, token_100, token_150, token_80, token_255]
→ 解码为连续动作值:[0.0, 0.56, -0.61, 0.0, 0.17, -0.37, 1.0]
优点:复用LLM的next-token预测能力,无需修改架构
缺点:离散化损失精度
方案B:连续回归头(MLP Head)
在Transformer最后一层的输出上,接一个MLP回归头:
Transformer输出向量 → MLP(隐藏层→7) → 7维连续动作向量
优点:精度高,无量化损失
缺点:需要额外的回归头,训练方式与LLM不同
方案C:扩散模型(Diffusion Policy)
不直接输出单步动作,而是生成一段动作序列:
扩散过程:
随机噪声 → 逐步去噪 → 动作序列 [a_t, a_t+1, …, a_t+H]
(H为预测时域,如16步)
VLM提供条件:
视觉特征+语言特征 作为扩散模型的条件输入
代表:π0, Octo
优点:可以建模多模态动作分布(同一个状态可以有多种合理的动作)
缺点:推理较慢(需要多步去噪)
7.3 动作方案对比
| 离散Token | 中等 | 快 | 低(复用LLM) | RT-2 |
| 连续回归 | 高 | 快 | 中 | OpenVLA |
| 扩散模型 | 高 | 较慢 | 高 | π0, Octo |
第8章 训练方法:VLA如何学习
8.1 训练数据
VLA的训练数据通常来自机器人遥操作(Teleoperation):
数据采集过程:
人类操作员 → 遥操作机器人 → 完成任务(如抓取杯子)
↓
同时记录:
· 机器人视角的图像序列 [img_1, img_2, …, img_T]
· 语言指令 "把杯子放到盘子里"
· 机器人动作序列 [action_1, action_2, …, action_T]
· 机器人状态(关节角度等)
8.2 训练目标
标准行为克隆(Behavior Cloning):
给定:
· 图像 I_t(当前帧)
· 语言指令 L
· 真实动作 a_t(人类示范的动作)
训练目标:
最小化 Loss = ||f(I_t, L) – a_t||²
即:让模型预测的动作尽可能接近人类示范的动作
8.3 训练策略
策略一:完全从头训练
数据需求:极大(数十万条以上)
效果:理论上最优,但成本极高
代表:RT-2(在Google的大规模数据上训练)
策略二:预训练VLM + 微调动作头
数据需求:中等(数千到数万条)
效果:最常用,性价比最高
步骤:
1. 使用预训练VLM(如Qwen2-VL)作为骨干
2. 冻结或轻量微调VLM
3. 训练动作输出模块
代表:OpenVLA, RT-2
策略三:少样本/零样本泛化
数据需求:极少(几十到几百条)
效果:依赖预训练VLM的强大泛化能力
挑战:对新场景的适应能力有限
8.4 数据增强
常用数据增强方法:
· 随机裁剪、旋转、翻转图像
· 颜色抖动、亮度/对比度调整
· 语言指令改写("拿起杯子" → "抓取杯子" → "把杯子拿起来")
· 历史帧采样(随机选择过去的不同帧)
第三篇:模型篇——里程碑VLA模型详解
第9章 RT-2:Google的开创性工作
9.1 基本信息
- 全称:Robotic Transformer 2
- 发布:Google DeepMind,2023年7月
- 论文:“RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control”
- 核心贡献:首次证明VLM可以转化为VLA,且预训练的视觉-语言知识能迁移到机器人控制
9.2 架构
RT-2 = PaLI-X/PaLM-E(预训练VLM) + 动作Token化
┌─────────────────────────────────────┐
│ 预训练VLM(PaLI-X或PaLM-E) │
│ · 视觉编码器:ViT │
│ · 语言模型:Transformer decoder │
│ · 在大规模图文数据上预训练 │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 动作Token化 │
│ · 将连续动作值量化为离散整数 │
│ · 如:Δx=0.3 → token_166 │
│ · 7个动作维度 → 7个离散token │
│ · 复用VLM的词表,新增256个动作token │
└──────────────┬──────────────────────┘
│
▼
逐token生成动作序列
9.3 关键发现
9.4 局限性
- 依赖Google的大规模内部数据(Open X-Embodiment)
- 模型巨大(PaLI-X 55B),部署成本高
- 离散化动作的精度限制
第10章 OpenVLA:开源VLA的标杆
10.1 基本信息
- 全称:Open Vision-Language-Action Model
- 发布:Stanford等,2024年6月
- 论文:“OpenVLA: An Open-Source Vision-Language-Action Model”
- 核心贡献:首个完全开源的大规模VLA模型,可复现、可微调
10.2 架构
OpenVLA = Prismatic-7B VLM(开源VLM) + 动作Token化
┌─────────────────────────────────────────┐
│ 视觉编码器(双编码器) │
│ · SigLIP-SO400M:语义理解 │
│ · DINOv2:细节感知 │
│ → 两个编码器的特征拼接 │
└──────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 语言模型骨干:LLaMA 2 7B │
│ · 接收视觉特征和语言token │
│ · Transformer decoder架构 │
└──────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 动作Token化 │
│ · 256 bins离散化 │
│ · 7维动作(Δx,Δy,Δz,Δroll,Δpitch,Δyaw,Δgrip)│
└──────────────┬──────────────────────────┘
│
▼
逐token生成动作
10.3 关键创新
10.4 性能
- 在多个机器人基准上与RT-2-X(55B)性能相当
- 但模型只有7B,部署成本低得多
- 在新任务和新环境上展现出良好的泛化能力
第11章 π0/π0.5:Physical Intelligence的突破
11.1 π0(2024年10月)
- 核心创新:将**扩散模型(Diffusion Policy)**与VLM结合
- 架构:
π0 = 预训练VLM(PaliGemma 3B) + 流匹配扩散模型(Flow Matching)
┌─────────────────────────────────┐
│ 预训练VLM(PaliGemma 3B) │
│ · 处理图像和语言指令 │
│ · 输出多模态特征 │
└──────────┬──────────────────────┘
│ 作为条件
▼
┌─────────────────────────────────┐
│ 流匹配扩散模型 │
│ · 输入:随机噪声 │
│ · 条件:VLM特征 │
│ · 输出:动作序列(连续值) │
│ · 预测时域:未来50步动作 │
└──────────┬──────────────────────┘
│
▼
连续动作序列
- 关键优势:
- 扩散模型可以建模多模态动作分布(同一个状态可以有多种合理的动作)
- 比离散token化精度更高
- 预测整段动作序列而非单步,动作更流畅
11.2 π0.5(2025年3月)
- 核心创新:在π0基础上增加高层规划能力
- 双层架构:
高层规划器(VLM):
看到图像 + 听到"清理桌面"
→ 输出子任务序列:"1.拿起杯子 2.放到水槽 3.拿起纸巾 4.扔进垃圾桶"
低层执行器(π0扩散策略):
接收子任务"拿起杯子"
→ 输出具体动作序列控制机器人执行
- 关键突破:
- 可以处理复杂的长时域任务
- 高层用VLM做语义规划,低层用扩散策略做精确控制
- 在真实家庭环境中展示了强大的泛化能力
第12章 其他重要VLA模型
12.1 Octo(2024年)
- Berkeley出品,开源通用机器人策略
- 基于Transformer,使用扩散头输出动作
- 在Open X-Embodiment数据集上训练
- 可以微调适配新机器人
12.2 RoboFlamingo(2024年)
- 基于Flamingo VLM架构
- 使用交叉注意力融合视觉和语言信息
- 在多个机器人基准上表现优异
12.3 SpatialVLA(2025年)
- 引入3D空间理解能力
- 将2D图像特征提升为3D空间感知
- 对空间推理任务(如"放到…左边")效果更好
12.4 DigiRL(2024年)
- 使用强化学习在线优化VLA
- 不仅依赖行为克隆,还通过实际交互改进
- 解决了行为克隆的分布偏移问题
第四篇:实践篇——如何入门VLA
第13章 VLA的数据收集与处理
13.1 数据收集方式
方式一:人类遥操作(最常用)
人类操作员 → 遥操作设备(如VR手套、主从控制器)→ 控制机器人完成任务
同时记录:图像、动作、语言标注
方式二:人类视频标注
收集人类操作的视频 → 标注动作(手动或自动)→ 用于训练
方式三:仿真环境
在模拟器(如MuJoCo、Isaac Gym)中自动采集数据
优点:数据量大、成本低、安全
缺点:与真实世界有差距(sim-to-real gap)
方式四:混合数据
仿真数据 + 真实数据混合训练
先在仿真中预训练,再用少量真实数据微调
13.2 数据格式
一条训练数据包含:
{
"episode_id": 1234,
"task_description": "把红色杯子放到盘子里",
"steps": [
{
"image": "frame_0001.jpg", # 机器人视角图像
"state": [0.1, 0.2, 0.3, …], # 机器人状态(关节角度等)
"action": [0.01, -0.02, 0.03, 0.0, 0.0, 0.0, 1.0], # 7维动作
"language_instruction": "把红色杯子放到盘子里"
},
{
"image": "frame_0002.jpg",
"state": [0.11, 0.18, 0.33, …],
"action": [0.02, -0.01, 0.02, 0.0, 0.0, 0.0, 1.0],
"language_instruction": "把红色杯子放到盘子里"
},
…
]
}
13.3 数据集资源
| Open X-Embodiment | 100万+轨迹 | 多种机器人、多种任务 | Google等21家机构联合 |
| Bridge V2 | 6万条 | 单臂机器人操作 | Stanford |
| DROID | 7万条 | 多种机器人的真实操作 | 多所大学 |
| RLBench | 100个任务 | 仿真环境中的操作 | DeepMind |
| LIBERO | 130个任务 | 长时域操作 | UT Austin |
第14章 VLA的训练与部署
14.1 训练环境搭建
# 基础环境
conda create -n vla python=3.10
conda activate vla
pip install torch torchvision transformers
# OpenVLA训练环境
git clone https://github.com/openvla/openvla.git
cd openvla
pip install -e .
# 硬件需求
# 训练:至少4×A100 80GB(7B模型)
# 推理:1×A100 或 1×RTX 4090
14.2 使用OpenVLA进行推理
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image
# 加载预训练模型
processor = AutoProcessor.from_pretrained("openvla/openvla-7b", trust_remote_code=True)
model = AutoModelForVision2Seq.from_pretrained("openvla/openvla-7b", trust_remote_code=True)
# 准备输入
image = Image.open("robot_view.jpg")
prompt = "In: What action should the robot take to pick up the cup?\\nOut:"
# 推理
inputs = processor(prompt, image).to("cuda", dtype=torch.bfloat16)
action = model.predict_action(inputs, unnorm_key="bridge_orig", do_sample=False)
print(f"预测动作:{action}")
# 输出:[Δx, Δy, Δz, Δroll, Δpitch, Δyaw, Δgripper]
14.3 微调OpenVLA到新机器人
# 使用LoRA高效微调(仅需约60条示范数据)
from peft import LoraConfig, get_peft_model
# 配置LoRA
lora_config = LoraConfig(
r=32, # LoRA秩
lora_alpha=16, # 缩放因子
target_modules=["q_proj", "v_proj"], # 应用LoRA的层
lora_dropout=0.05,
)
# 应用LoRA
model = get_peft_model(model, lora_config)
# 训练(仅训练LoRA参数,约0.1%的总参数量)
trainer = Trainer(
model=model,
train_dataset=your_robot_dataset, # 你的机器人数据
args=TrainingArguments(
num_train_epochs=50,
per_device_train_batch_size=8,
learning_rate=2e-5,
output_dir="./vla_finetuned",
),
)
trainer.train()
第15章 VLA的评测与优化
15.1 评测指标
| 成功率(SR) | 任务完成的比例 | 成功次数/总尝试次数 |
| 进度分数(Progress Score) | 任务完成的进度 | 完成的子任务数/总子任务数 |
| 泛化成功率 | 在新物体/新场景上的成功率 | 新场景成功数/新场景尝试数 |
| 推理延迟 | 模型推理一次的时间 | 毫秒级 |
| 动作精度 | 预测动作与专家动作的偏差 | MSE/MAE |
15.2 常见问题与优化
问题1:分布偏移(Distribution Shift)
现象:训练数据中没见过的情况出现时,模型表现急剧下降
解决:
· 增加训练数据的多样性
· 使用DAgger(在线交互+人类纠正)
· 使用强化学习在线优化
问题2:视觉泛化不足
现象:换了桌子颜色/背景,模型就失败了
解决:
· 数据增强(颜色、背景随机化)
· 使用更强的视觉编码器(如DINOv2)
· 域随机化(Domain Randomization)
问题3:长时域任务失败
现象:多步任务中间出错,后续全部失败
解决:
· 分层架构(高层规划+低层执行)
· 使用历史帧信息
· 增加预测时域(预测更多步动作)
第五篇:前沿与展望
第16章 VLA的当前挑战
16.1 数据瓶颈
问题:
· 真实机器人数据采集成本高(需要硬件+人力)
· 数据多样性不足(通常在实验室环境中采集)
· 数据规模远不如图文数据(百万级 vs 十亿级)
可能的解决方向:
· 仿真数据 + Sim-to-Real迁移
· 人类视频数据的利用(YouTube等)
· 数据增强技术
· 合成数据生成
16.2 实时性要求
问题:
· 机器人控制需要高频(10-100Hz)
· VLA推理需要时间(100ms-1s)
· 扩散模型更慢(需要多步去噪)
可能的解决方向:
· 模型蒸馏(大模型→小模型)
· 模型量化(FP16→INT8)
· 动作分块预测(一次预测多步动作)
· 异步控制(推理和执行并行)
16.3 安全性
问题:
· VLA是黑箱模型,难以解释决策过程
· 错误动作可能导致机器人损坏或伤害人
· 对抗样本攻击
可能的解决方向:
· 安全约束层(动作前检查安全性)
· 可解释性增强
· 人在回路(Human-in-the-loop)
16.4 Sim-to-Real Gap
问题:
· 仿真环境与真实世界有差距
· 光照、纹理、物理引擎的不精确
· 在仿真中训练的模型直接部署到真实机器人效果下降
可能的解决方向:
· 域随机化(Domain Randomization)
· 域适应(Domain Adaptation)
· 更高保真的仿真器
第17章 VLA的未来趋势
17.1 趋势一:更大规模的预训练
方向:
· 利用互联网级别的视频数据预训练
· 跨机器人、跨任务的通用预训练
· 类似GPT的"机器人基础模型"
预期效果:
· 零样本泛化到新任务
· 少量数据即可适配新机器人
17.2 趋势二:多模态输入扩展
当前VLA:视觉 + 语言 → 动作
未来VLA:视觉 + 语言 + 触觉 + 力觉 + 声音 → 动作
触觉感知:抓取力度控制
力觉反馈:精细操作(如拧螺丝)
声音理解:"发出声音的那个东西"
17.3 趋势三:长时域任务规划
当前:单步或短序列动作预测
未来:与LLM结合进行高层任务规划
例如:
人类:"帮我做一杯咖啡"
高层规划器(LLM):
1. 找到咖啡杯
2. 放到咖啡机下面
3. 按下咖啡机按钮
4. 等待咖啡做好
5. 拿起咖啡杯
6. 送到人类面前
低层执行器(VLA):逐步执行每个子任务
17.4 趋势四:具身智能Agent
VLA的终极形态:通用具身智能Agent
能力:
· 理解自然语言指令
· 感知复杂环境
· 规划多步任务
· 执行精细操作
· 从交互中学习
· 适应新环境和新任务
就像一个"机器人版的ChatGPT"——你用自然语言告诉它做什么,它就能做到。
17.5 产业应用前景
| 工业制造 | 柔性装配、质量检测 | 试点应用 |
| 家庭服务 | 做饭、打扫、照顾老人 | 研究阶段 |
| 物流仓储 | 分拣、打包、搬运 | 部分商用 |
| 医疗健康 | 手术辅助、康复训练 | 研究阶段 |
| 农业 | 采摘、播种、除草 | 试点应用 |
附录
附录A:核心术语表
| VLA | Vision-Language-Action | 视觉-语言-动作模型 |
| VLM | Vision-Language Model | 视觉-语言模型 |
| LLM | Large Language Model | 大语言模型 |
| DOF | Degrees of Freedom | 自由度 |
| BC | Behavior Cloning | 行为克隆 |
| Diffusion Policy | 扩散策略 | 使用扩散模型生成动作序列的方法 |
| Flow Matching | 流匹配 | 一种高效的扩散模型训练方法 |
| LoRA | Low-Rank Adaptation | 低秩适配,高效微调方法 |
| Tokenizer | 分词器 | 将输入转化为离散token的工具 |
| Proprioception | 本体感知 | 机器人对自身状态的感知 |
| End Effector | 末端执行器 | 机器人的"手" |
| Teleoperation | 遥操作 | 人类远程操控机器人 |
| Sim-to-Real | 仿真到真实 | 仿真环境训练→真实世界部署的迁移 |
| Domain Randomization | 域随机化 | 随机化训练环境以提升泛化能力 |
| DAgger | Dataset Aggregation | 在线交互+人类纠正的训练方法 |
| Open X-Embodiment | – | Google等联合发布的开源机器人数据集 |
附录B:推荐论文列表
入门必读:
核心技术: 4. CLIP: Learning Transferable Visual Models (OpenAI, 2021) – 视觉编码基础 5. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion (Columbia, 2023) – 扩散策略基础 6. Open X-Embodiment: Robotic Learning Datasets and RT-X Models (Google等, 2024) – 数据集
前沿进展: 7. π0.5: a Vision-Language-Action Model with Open-World Generalization (Physical Intelligence, 2025) 8. SpatialVLA: Exploring Spatial Representations for Visual-Language-Action Model (2025) 9. DigiRL: Training In-The-Wild Device-Control Agents with Autonomous Reinforcement Learning (2024)
附录C:推荐学习路径
第一阶段:基础(1-2周)
第二阶段:核心技术(2-4周) 5. 学习OpenVLA的架构和代码 6. 理解扩散模型基础 7. 了解机器人学基础(正运动学、逆运动学) 8. 阅读π0论文
第三阶段:动手实践(4-8周) 9. 搭建OpenVLA训练环境 10. 在仿真环境(如LIBERO)中训练VLA 11. 尝试微调VLA到新任务 12. 了解数据收集流程
第四阶段:前沿探索(持续) 13. 跟踪最新VLA论文 14. 研究Sim-to-Real迁移 15. 探索多模态扩展(触觉、力觉) 16. 参与开源社区
附录D:开源资源
| OpenVLA | github.com/openvla/openvla | 开源VLA模型 |
| Octo | github.com/octo-models/octo | Berkeley开源机器人策略 |
| LeRobot | github.com/huggingface/lerobot | HuggingFace的机器人学习框架 |
| Open X-Embodiment | robotics-transformer-x.github.io | 数据集 |
| LIBERO | github.com/Lifelong-Robot-Learning/LIBERO | 仿真评测环境 |

