Skip to content
清晨的一缕阳光
返回

VLA/VLM视觉语言模型

VLA/VLM 视觉语言模型

人形机器人的”大脑”正在经历从规则编程到大模型的根本性变革。VLA(Vision-Language-Action)和 VLM(Vision-Language Model)模型让机器人能够理解自然语言指令、感知视觉环境、并输出精确动作。本文深入解析具身智能时代的核心技术。

一、从传统控制到端到端学习

1.1 传统机器人控制架构

传统控制架构(模块化)
┌─────────────────────────────────────┐
│  自然语言指令                        │
│  "把桌子上的红色积木放到蓝色盒子里"      │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  语言理解模块(NLP)                   │
│  解析:物体 (红色积木)、目标 (蓝色盒子)   │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  视觉感知模块(CV)                    │
│  检测:红色积木位置、蓝色盒子位置        │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  任务规划模块                         │
│  规划:抓取→移动→放置                  │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  运动控制模块                         │
│  计算:关节角度、轨迹、力控            │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  执行器                              │
└─────────────────────────────────────┘

问题

1.2 端到端学习架构

端到端架构(VLA 模型)
┌─────────────────────────────────────┐
│  多模态输入                           │
│  - 图像/视频(摄像头)                 │
│  - 语言指令(麦克风)                  │
│  - 本体感知(关节角度、力传感器)        │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  VLA 大模型                           │
│  - Vision Encoder(视觉编码)         │
│  - Language Encoder(语言编码)       │
│  - Action Head(动作输出)            │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  动作输出                            │
│  - 关节扭矩/位置                      │
│  - 末端执行器控制                     │
└─────────────────────────────────────┘

优势

二、VLM:视觉语言模型基础

2.1 VLM 核心架构

graph LR
    subgraph 输入
        A[图像] --> C[Visual Encoder]
        B[文本] --> D[Language Encoder]
    end
    
    subgraph 融合
        C --> E[Projection Layer]
        D --> E
        E --> F[LLM Backbone]
    end
    
    subgraph 输出
        F --> G[文本生成]
        F --> H[视觉问答]
        F --> I[图像描述]
    end

2.2 代表性 VLM 模型

模型机构发布时间特点
CLIPOpenAI2021.01对比学习,图像 - 文本对齐
FlamingoDeepMind2022.04少样本视觉问答
LLaVAUW-Madison2023.04开源,指令跟随
GPT-4VOpenAI2023.09商业最强,多模态理解
GeminiGoogle2023.12原生多模态
Qwen-VL阿里2023.08中文优化

2.3 CLIP:开山之作

核心思想:对比学习,将图像和文本映射到同一向量空间

# CLIP 简化架构
class CLIP(nn.Module):
    def __init__(self):
        self.image_encoder = ViT()      # Vision Transformer
        self.text_encoder = Transformer()
        self.projection = nn.Linear()
        
    def forward(self, image, text):
        # 编码
        image_features = self.image_encoder(image)
        text_features = self.text_encoder(text)
        
        # 投影到同一空间
        image_embeds = self.projection(image_features)
        text_embeds = self.projection(text_features)
        
        # 归一化
        image_embeds = F.normalize(image_embeds)
        text_embeds = F.normalize(text_embeds)
        
        # 计算相似度
        similarity = image_embeds @ text_embeds.T
        
        return similarity

训练方式

2.4 LLaVA:开源标杆

架构

LLaVA 架构
├── Visual Encoder:CLIP ViT-L/14
├── Projection:2 层 MLP
└── Language Model:Vicuna(Llama 微调)

训练两阶段

  1. 预训练:冻结视觉和语言模型,训练投影层
  2. 指令微调:使用视觉指令数据微调

数据

三、VLA:具身智能的突破

3.1 VLA 核心定义

VLA(Vision-Language-Action) = VLM + Action Head

VLA 模型公式

输出 = VLA(视觉输入,语言指令,本体状态)

其中:
- 视觉输入:RGB 图像、深度图、点云
- 语言指令:自然语言任务描述
- 本体状态:关节角度、速度、力传感器
- 输出:关节扭矩、末端位置、抓取指令

3.2 RT 系列:Google 的探索

RT-1(2022)

架构

RT-1 架构
├── EfficientNet-B3:视觉编码
├── 语言嵌入:SentencePiece
├── Transformer:决策
└── Action Token:离散化动作

训练数据

能力

RT-2(2023)

核心进步

RT-2 训练数据构成
├── 互联网数据:95%
│   ├── 图像 - 文本对
│   └── 纯文本
└── 机器人数据:5%
    ├── 操作轨迹
    └── 视觉 - 语言 - 动作三元组

涌现能力示例

3.3 OpenVLA:开源 VLA

背景

架构

OpenVLA 架构
├── Visual Encoder:DINOv2 ViT-L
├── Language Model:Llama 2 7B
├── Projection:2 层 MLP
└── Action Head:离散化动作 token

训练数据

性能

3.4 Tesla VLA:端到端实践

Tesla 技术路线

Tesla FSD → Optimus VLA 技术迁移
├── Occupancy Network:3D 环境建模
├── 端到端神经网络:视频→动作
├── 视频演示学习:人类示范→模仿
└── 强化学习:自我改进

关键特点

Gen-3 演示能力

四、VLA 训练方法

4.1 数据收集策略

机器人数据收集方法
├── 遥操作(Teleoperation)
│   ├── VR 设备控制
│   ├── 主从机械臂
│   └── 优点:高质量,缺点:成本高
├── 人类演示(Human Demonstration)
│   ├── 动作捕捉
│   ├── 视频录制
│   └── 优点:自然,缺点:需要映射到机器人
├── 程序生成(Programmatic)
│   ├── 规则生成轨迹
│   └── 优点:大量,缺点:多样性差
└── 自监督学习(Self-supervised)
    ├── 机器人自主探索
    └── 优点:无限数据,缺点:效率低

4.2 动作表示

离散化 vs 连续

方式优点缺点代表
离散 Token可用 CrossEntropy,训练稳定精度受限,需要精细量化RT-2、OpenVLA
连续回归精度高,自然训练不稳定,需要特殊损失ACT、Diffusion

离散化示例

# 动作离散化
def discretize_action(action, bins=256):
    """
    action: [-1, 1] 连续值
    bins: 离散化桶数
    """
    # 归一化到 [0, bins-1]
    discrete = ((action + 1) / 2) * (bins - 1)
    return discrete.round().long()

# 输出 7 维动作:[x, y, z, roll, pitch, yaw, gripper]
# 每个维度 256 个 token,总 action space = 256^7

4.3 训练技巧

行为克隆(Behavior Cloning)

# BC 损失函数
def bc_loss(predicted_action, expert_action):
    # 交叉熵损失(离散动作)
    loss = CrossEntropyLoss(predicted_action, expert_action)
    return loss

# 或 MSE 损失(连续动作)
def bc_loss_continuous(pred, target):
    loss = F.mse_loss(pred, target)
    return loss

问题

扩散策略(Diffusion Policy)

核心思想:用扩散模型生成动作序列

扩散策略流程
┌─────────────────────────────────────┐
│  噪声动作序列                        │
│  a_T ~ N(0, I)                      │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  去噪网络                            │
│  a_{t-1} = denoise(a_t, obs, t)    │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  重复去噪 T 步                        │
└──────────────┬──────────────────────┘

┌─────────────────────────────────────┐
│  干净动作序列                        │
│  a_0                                │
└─────────────────────────────────────┘

优势

强化学习微调

RL 微调流程
├── 阶段 1:行为克隆预训练
│   └── 学习专家演示
├── 阶段 2:RL 微调
│   ├── 环境交互
│   ├── 奖励信号
│   └── PPO/SAC 算法优化
└── 阶段 3:持续学习
    └── 在线更新策略

奖励设计

五、Sim2Real:仿真到现实

5.1 为什么需要仿真

实机训练 vs 仿真训练

实机训练问题:
├── 硬件损耗:机器人寿命有限
├── 时间成本:部署、调试耗时
├── 安全风险:可能损坏设备或伤人
└── 数据效率:无法并行

仿真训练优势:
├── 无限试错:无硬件损耗
├── 并行加速:同时运行数千环境
├── 安全:虚拟环境无风险
└── 标注自动:无需人工标注

5.2 主流仿真平台

平台机构特点适用场景
Isaac SimNVIDIA物理逼真、GPU 加速工业、人形
MuJoCoGoogle物理引擎精确研究、控制
PyBulletCMU开源、易用教育、研究
HabitatMeta室内场景导航、交互
SAPIEN清华语义丰富操作、交互

5.3 Domain Randomization

核心思想:在仿真中随机化参数,提高泛化能力

# Domain Randomization 示例
def randomize_environment():
    return {
        'lighting': random_color(),      # 随机光照
        'texture': random_texture(),     # 随机纹理
        'friction': random.uniform(0.5, 1.5),  # 随机摩擦
        'mass': random.uniform(0.8, 1.2),    # 随机质量
        'camera_pos': random_offset(),   # 随机相机位置
        'distractors': random_objects(), # 随机干扰物
    }

效果

5.4 Sim2Real Gap 缩小技术

技术原理效果
Domain Randomization仿真参数随机化基础方法
Domain Adaptation对抗训练对齐分布提升 20-30%
Reality Augmentation现实数据增强仿真需要少量实机数据
System Identification辨识真实系统参数物理一致性更好

六、应用场景

6.1 工业操作

任务类型

案例:Figure 在 BMW 工厂

Figure 01 任务
├── 零件搬运:从料箱到传送带
├── 质量检测:视觉检查零件缺陷
└── 包装:将成品放入包装盒

性能指标:
├── 成功率:95%+
├── 节拍时间:30 秒/件
└── 连续工作:4 小时

6.2 家庭服务

任务类型

挑战

6.3 物流仓储

任务类型

案例:Agility Digit 在 Amazon

Digit 工作流程
├── 接收订单:从 WMS 系统
├── 导航:移动到目标货架
├── 识别:视觉定位包裹
├── 抓取:吸取或夹取
├── 搬运:移动到包装区
└── 放置:放入对应容器

6.4 医疗护理

任务类型

特殊要求

七、技术挑战与未来

7.1 当前局限

VLA 模型局限性
├── 数据效率
│   └── 需要数万 - 数十万轨迹,收集成本高
├── 长程任务
│   └── 超过 10 步的任务成功率显著下降
├── 精细操作
│   └── 穿针、倒水等精细动作仍困难
├── 泛化能力
│   └── 跨场景迁移仍需微调
├── 安全性
│   └── 黑盒模型,行为不可预测
└── 实时性
    └── 大模型推理延迟 100ms+

7.2 研究方向

世界模型(World Model)

核心思想:学习环境的动力学模型,预测未来状态

世界模型架构
├── 编码器:obs → latent
├── 动力学模型:latent_t + action → latent_{t+1}
├── 解码器:latent → obs
└── 规划器:在 latent 空间搜索最优动作

优势

多机器人学习

思路:多个机器人共享数据,加速学习

多机器人学习架构
├── 机器人 1:收集数据 → 云端
├── 机器人 2:收集数据 → 云端
├── 机器人 3:收集数据 → 云端
├── 云端:聚合数据 → 训练全局模型
└── 下发:更新所有机器人模型

挑战

人机协作

方向

7.3 技术路线图

timeline
    title VLA 技术演进
    section 2023-2024
        BC 预训练 : 行为克隆为主
        单任务 : 单一场景任务
    section 2025-2026
        RL 微调 : 强化学习优化
        多任务 : 跨场景泛化
    section 2027-2030
        世界模型 : 预测与规划
        通用 AI : 类人推理能力

八、实践建议

8.1 入门路径

VLA 学习路线
├── 阶段 1:基础
│   ├── 深度学习基础(PyTorch)
│   ├── Transformer 架构
│   └── VLM 原理(CLIP、LLaVA)
├── 阶段 2:进阶
│   ├── 强化学习基础
│   ├── 机器人学基础(运动学、控制)
│   └── 仿真工具(Isaac、MuJoCo)
├── 阶段 3:实战
│   ├── OpenVLA 复现
│   ├── 实机部署
│   └── 参与开源项目

8.2 开源资源

资源链接说明
OpenVLAGitHub开源 VLA 模型
LeRobotHuggingFace机器人学习库
Isaac SimNVIDIA仿真平台(免费学术)
Bridge DataUC Berkeley公开数据集
Open X-EmbodimentGoogle大规模机器人数据

8.3 硬件建议

入门配置

研究配置

九、总结

9.1 核心要点

  1. VLA 是具身智能核心技术:让机器人理解语言、感知视觉、执行动作
  2. 端到端是趋势:从模块化到统一大模型
  3. 数据是关键:大规模、高质量机器人数据
  4. Sim2Real 是必经之路:仿真训练 + 现实部署

9.2 技术成熟度

技术成熟度预计商用时间
VLM 视觉理解⭐⭐⭐⭐⭐已商用
VLA 基础模型⭐⭐⭐⭐1-2 年
长程任务规划⭐⭐⭐2-3 年
世界模型⭐⭐3-5 年
通用具身智能5-10 年

9.3 未来展望

VLA 模型正在经历GPT-3 时刻

VLA 是人形机器人的”iPhone 时刻”。就像大语言模型改变了人机交互,VLA 模型将改变机器人与物理世界的交互方式。未来 5 年,谁能掌握 VLA 核心技术,谁就能在具身智能时代占据先机。


参考资料


分享这篇文章到:

上一篇文章
Redis 数据分片策略详解
下一篇文章
中国 AI 企业分析(2026 年版)