飞书原文 · 源修订 25
💡
课程定位: 本章不把 π0 当作需要背诵的模型,而把它作为 VLA 架构案例。核心问题是:互联网预训练的视觉语言表示,如何成为连续动作分布的条件;语义模型和动作模型分别学习什么;训练时使用的真实动作,如何在推理时由生成过程替代。
1. VLA 的输入、输出与学习对象
学习目标: 读完本章后,应能口头读出 VLA 的条件动作分布,画出 VLM Backbone 与 Action Expert 的信息流,解释 Flow Matching 的训练和推理差异,并区分 VLA、世界模型和高层规划器。
模型输入由语言指令、多路图像和机器人本体状态组成,输出固定长度的连续动作块。不同机器人具有不同自由度,训练管线通过 embodiment-specific 的输入输出映射统一成模型可消费的张量。
把图像、语言、本体状态和历史统一记为上下文 ,VLA 学习:
读法: 参数为 theta 的策略,在当前多模态上下文 c_t 条件下,为从当前时刻开始的未来 H 步动作块分配概率。
推导: 语言、图像和本体状态统一进入条件变量;未来 H 步动作被视为一个联合随机向量。
视觉和语言不是额外装饰,而是动作分布的条件变量:语言改变任务目标,图像提供环境证据,本体信息约束机器人当前可执行的动作。
| 变量 | 内容 | 统计角色 | 物理含义 |
|---|---|---|---|
| l | 语言指令 | 条件变量 | 任务和约束 |
| o_t^ | 多视角图像 | 条件变量 | 外部环境观测 |
| q_t | 关节、末端、夹爪状态 | 条件变量 | 机器人本体状态 |
| a_ | 动作块 | 训练标签与生成变量 | 从当前开始的未来 H 步连续控制命令 |
训练数据来自联合分布 。因此模型首先学习数据中出现过的“上下文与动作如何共同分布”,而不是从零推导机器人动力学。
2. 双专家结构
| 模块 | 主要职责 | 训练来源 |
|---|---|---|
| VLM Backbone | 图像、语言、任务语义与场景表示 | 互联网视觉语言预训练加机器人数据 |
| Action Expert | 处理本体状态、噪声动作与流时间,输出速度场 | 机器人动作数据,从头初始化 |
论文中的 VLM Backbone 基于 PaliGemma,Action Expert 是更小的 Transformer。两者在注意力层中联合工作,但机器人状态和动作 token 被路由到 Action Expert。
3. 一次训练样本如何通过网络
- 图像被视觉编码器转换为视觉 token,语言被分词为文本 token。
- 机器人状态 q_t 经过线性投影,进入 Action Expert。
- 真实动作块 A 加噪得到 A^tau,并与流时间编码一起输入。
- VLM 提供语义条件,Action Expert 预测每个动作位置的速度。
- 通过条件 Flow Matching 损失训练连续动作输出。
4. 为什么需要 Pre-training 与 Post-training
广泛的预训练数据提供任务覆盖、跨机器人迁移和语义泛化,但质量并不均一。高质量后训练数据强调稳定、流畅、快速和可恢复的行为。其逻辑类似语言模型的预训练与指令后训练:规模提供能力边界,精选数据塑造行为分布。
5. 高层策略为什么在 π0 中仍然独立
复杂任务如整理餐桌包含多个阶段。π0 可以由外部高层 VLM 生成当前子任务,例如“拿起盘子”或“把垃圾放入垃圾桶”,低层 π0 再执行动作。此时系统不是完全端到端层级策略,高层语义决策与低层动作策略仍是两次模型调用。
6. 训练计算图:语义条件如何进入动作生成
VLM Backbone 提供场景和任务语义,Action Expert 接收机器人状态、带噪动作与流时间。两者并不是两个互不相干的模型:Action Expert 通过注意力读取 VLM 条件,从而让同一个噪声动作在不同语言和图像条件下流向不同的正确动作。
6.1 条件 Flow Matching 目标
用 表示真实动作块,用 表示高斯噪声。构造中间动作:
读法: 中间动作 x_tau 是高斯噪声 x_0 与真实动作块 x_1 的线性插值;tau 从零增加到一。
推导: tau 等于零时路径位于噪声,等于一时到达真实动作,定义了一条最简单的条件概率路径。
直线路径的目标速度是:
读法: 线性路径在任意流时间的目标速度,等于真实动作块减去初始噪声。
推导: 对线性插值式关于 tau 求导,得到常数速度。
模型训练目标为:
读法: 从机器人数据采样上下文和真实动作,从标准高斯采样噪声,从零到一均匀采样流时间;让模型速度接近线性路径的真实速度。
推导: 真实动作、噪声和时间在训练时都已知,因此可构造中间状态与监督速度,用 MSE 拟合条件向量场。
模型不是记忆一条固定动作,而是学习由图像、语言和本体状态共同调制的动作向量场;同一噪声初值在不同上下文下会流向不同动作。
6.2 梯度究竟更新哪些能力
损失通过 Action Expert 反向传播,也可以更新与它联合训练的 VLM 层。动作误差因此可能改变视觉语言表示,使其更关注对控制有用的因素,例如夹爪与物体的相对位置。但仅凭联合训练不能保证模型形成显式三维几何或因果状态;这需要针对性表征探针和干预实验验证。
7. 推理计算图:训练时的真实动作去了哪里
训练时已知真实动作 ,因为需要构造监督目标;部署时真实动作未知,系统只能从噪声开始:
读法: 推理开始时的动作状态从标准高斯噪声分布采样。
推导: Flow Matching 推理需要随机初值,因此从易于采样的标准高斯抽取 x(0);随后条件速度场把这份噪声运输到动作分布。
训练时的真实动作 x_1 不再可用;它已经通过向量场参数间接影响生成过程。
然后数值积分:
读法: 动作状态沿流时间的变化率由条件向量场给出,从 tau 等于零的噪声积分到 tau 等于一的动作样本。
推导: 训练得到连续速度场后,使用欧拉法或其他 ODE 求解器数值积分,即可把噪声运输为动作块。
得到动作块 。因此一次动作生成通常需要多次 Action Expert 前向。生成后机器人执行动作块的一部分,再利用新观测重新生成。执行过多步会降低闭环纠错频率,执行过少步则增加推理延迟和动作抖动。
| 阶段 | 模型已知 | 模型需要产生 | 主要风险 |
|---|---|---|---|
| 训练 | 图像、语言、本体、真实动作、噪声、时间 | 目标速度 | 数据偏差、动作对齐和标签噪声 |
| 推理 | 图像、语言、本体、噪声、时间 | 完整动作块 | 采样误差、计算延迟和闭环分布偏移 |
| 执行 | 生成动作、控制周期 | 真实机器人运动 | 接触、标定、延迟和安全约束 |
8. VLA、世界模型和规划器的边界
| 模块 | 典型数学对象 | 回答的问题 | π0 中的位置 |
|---|---|---|---|
| VLA 策略 | 条件动作分布 | 现在应该做什么 | VLM Backbone 加 Action Expert |
| 世界模型 | 动作条件未来分布 | 这样做之后会怎样 | π0 本身没有独立显式世界模型 |
| 价值函数 | 状态-动作价值 | 这个动作长期有多好 | 基础 π0 主要由模仿数据训练,不依赖显式 critic |
| 高层规划器 | 子任务或候选行动序列 | 长任务下一阶段是什么 | 可由外部高层 VLM 提供子任务 |
| 低层控制器 | 控制律与执行约束 | 如何稳定跟踪动作命令 | 模型之外的机器人控制栈 |
因此,“VLM 接上机器人”不意味着一个模型已经覆盖全部 Physical AI。更准确的说法是:VLM 表示被用作条件,让生成式策略能够输出连续动作;长期规划、显式未来预测、安全控制和故障恢复仍需要额外机制或数据闭环。
本章最小实验
- 固定 Action Expert,只改变语言指令,检查生成动作是否发生符合任务的系统性变化。
- 遮挡与任务相关的图像区域,比较动作误差,判断模型使用了哪些视觉证据。
- 比较单步动作、不同长度 Action Chunk 和不同重新规划频率。
- 比较 MSE 单点动作头与 Flow Matching 动作头在双峰任务上的结果。
- 扫描控制延迟,报告成功率、碰撞率和动作平滑度,而不只报告平均成功率。
9. π0 真正证明了什么
- 论文报告的大规模多任务、多机器人系统展示了显著灵巧性,但能力边界仍受数据覆盖和机器人适配约束。
- 论文消融显示 VLM 预训练与 Flow Action Expert 的组合优于其所比较的较小基线;这证明联合设计有效,不等于单独识别了每个组件的全部因果贡献。
- 动作块与连续生成展示了处理长动作序列和可变形物体任务的可行性;是否优于 Token、Diffusion 或其他接口仍需等数据、等算力比较。
10. 不能从论文直接推出什么
- 不能证明模型理解真实物理因果;成功可能来自数据覆盖和闭环视觉反馈。
- 不能证明任意机器人零样本迁移;动作空间、相机与控制频率仍需适配。
- 不能用少量演示视频判断可靠性,必须看失败分布、重复试验和任务分层指标。
阅读检查
- 画出 VLM token、state token 和 noisy action token 的信息流。
- 解释为什么 Action Expert 可以比 VLM Backbone 小很多。
- 讨论开放环执行动作块与每步闭环重规划的取舍。

