摘要: π₀.₅(PI0.5)关注一个关键问题:机器人进入训练时没有见过的家庭后,能否理解任务、拆解步骤,并持续完成复杂操作?本文先回顾 π₀,再梳理 π₀-FAST 和 Hi Robot,最后介绍 π₀.₅ 的数据组成、模型架构、训练方式与推理流程。

关键词: VLA、π₀.₅、FAST、DCT、Flow Matching、机器人泛化

一、从 π₀ 到 π₀.₅:为什么还需要进一步改进?

1.1 回顾 π₀

π₀ 的核心可以从三个方面理解:

方面核心内容
数据使用多任务、多种机器人形态的数据进行训练
架构在视觉语言模型基础上加入动作专家(Action Expert)
训练通过预训练获得通用能力,再通过后训练适配具体任务

其中,动作专家通过 **Flow Matching(流匹配)**生成连续动作。

模型一次预测一个包含 50 个时间步的动作块(Action Chunk)。需要注意,50 个时间步属于同一个动作块,并不是一次输出 50 个动作块。

π₀ 已经能够执行折衣服等复杂操作。因此,后续研究更值得关注的问题是:

当物体、背景和房间布局发生变化时,机器人还能否完成任务?

1.2 π₀.₅ 关注的核心:陌生环境中的泛化

如果训练与测试环境相近,机器人表现出色,并不能充分说明它能够适应一个全新的家庭。

π₀.₅ 将重点放在训练中未出现过的家庭环境,例如整理厨房、收拾卧室和整理床铺。官方展示包含持续 10~15 分钟的长时序操作,但这并不代表每次评测任务都持续这么久。

理解 π₀.₅,可以先看两条相关研究路线:

  • **π₀-FAST:**怎样高效地学习机器人动作?
  • **Hi Robot:**怎样将复杂指令拆成机器人能够执行的步骤?

二、π₀-FAST:让自回归模型更高效地学习动作

2.1 传统动作离散化存在什么问题?

RT-2、OpenVLA 等模型使用的一类常见方法,是对每个时间步、每个动作维度分别离散化。

例如,将一个连续动作维度划分为 256 个区间,数值落在哪个区间,就用对应的 token 表示。

但机器人动作通常具有很强的时间连续性。

假设某个动作维度在约 1 秒内从 0.1 平滑变化到 0.3,控制频率为 50 Hz,那么每一步的变化量约为:

Δ a ≈ 0.3 − 0.1 50 = 0.004 \Delta a \approx \frac{0.3-0.1}{50}=0.004 Δa≈500.3−0.1​=0.004

如果归一化范围为 [-1, 1],划分为 256 个区间,那么每个区间的宽度约为:

Δ bin ≈ 2 256 = 0.0078 \Delta_{\text{bin}}\approx\frac{2}{256}=0.0078 Δbin​≈2562​=0.0078

此时,连续两步的动作可能仍然落在同一个区间,形成大量重复 token:

连续动作:0.100、0.104、0.108、0.112……
离散编码: token A、token A、token B、token B……

自回归模型可能倾向于利用“复制前一个 token”的局部规律,而没有充分学习视觉、语言与动作之间的关系。

**这里不能说“重复 token 不产生梯度”。**它们仍然参与损失计算,问题在于序列冗余较高,容易形成学习捷径。

2.2 FAST 的思路:先压缩动作,再预测 token

FAST 全称为 Frequency-space Action Sequence Tokenization。

它没有放弃自回归预测,而是改变了动作的编码方式:

将一段动作序列变成更紧凑的频域表示,再编码为离散 token。

整体流程如下:

连续动作块
    ↓
归一化
    ↓
DCT:时域 → 频域
    ↓
量化
    ↓
按频率顺序展平
    ↓
BPE 压缩
    ↓
离散动作 token
第一步:归一化

将不同动作维度归一化到接近 [-1, 1] 的范围,减小数值尺度差异。

需要注意:统一数值范围并不等于统一不同机器人的动作语义。

第二步:DCT——从时域转换到频域

对每个动作维度,沿时间轴执行离散余弦变换(DCT)。

以 50 个时间步为例:

50 个按时间排列的动作数值
              ↓ DCT
50 个按频率排列的系数

低频系数描述动作的整体趋势,高频系数描述较快的变化和细节。

DCT 本身只是变换表示方式;后续量化才会引入近似误差。

第三步:量化

对频域系数进行缩放、取整。

平滑动作的许多高频系数较小,量化后可能变成零,从而形成便于压缩的稀疏表示。

第四步:展平

将多个动作维度的系数展平成一维序列,按照低频在前、高频在后的顺序组织。

第五步:BPE 压缩

使用 BPE 合并频繁出现的符号组合,得到更短的动作 token 序列。

这里使用的是面向动作数据的 BPE 编码,不能直接理解成“原封不动使用语言模型已有的分词器”。

FAST 通过 DCT 与 BPE 减少动作序列冗余,使自回归模型能够学习高频、精细的机器人操作。

2.3 为什么训练快,推理却仍有压力?

自回归模型训练时,可以通过 Teacher Forcing 并行计算多个位置的预测损失;推理时,动作 token 通常仍需要逐个生成。

因此需要区分:

比较角度FAST 的特点
相比朴素动作离散化token 更紧凑,减少冗余
训练阶段可以高效学习离散动作表示
推理阶段自回归解码仍有串行开销

所以,“FAST 推理慢”需要说明比较对象:**相比通过较少迭代生成整个动作块的连续动作专家,自回归解码可能具有更高延迟。

三、Hi Robot:高层负责拆任务,低层负责执行

3.1 核心架构

Hi Robot 使用分层结构:

层级模型主要职责
高层VLM理解用户意图、观察场景、生成子任务
低层VLA根据子任务、图像和机器人状态生成动作

例如,用户说:

“把桌子收拾干净,但这个杯子先留着。”

高层模型可以根据当前场景生成更具体的指令,例如:

拿起纸巾 → 扔进垃圾桶 → 拿起盘子 → 放进收纳箱

低层 VLA 再执行这些指令。

3.2 支持执行过程中的语言反馈

用户不仅可以在开始时下达指令,也可以在执行过程中插话。

例如,机器人准备丢弃一个物体时,用户说:

“那个不是垃圾。”

高层模型需要结合当前画面理解“那个”指代什么,并调整下一步指令。

3.3 如何理解它的局限?

分层系统需要解决两个问题:

  1. 如何维护长任务中的进度和历史信息?
  2. 高层生成的子任务,是否处于低层策略的能力范围内?

因此,比“高层完全没有记忆”或“高层完全不知道低层能做什么”更准确的表述是:

高低层分别建模时,需要额外关注任务状态维护,以及规划与执行能力之间的匹配。

四、π₀.₅ 的数据:异构数据共同训练

π₀.₅ 的核心思路之一,是把不同来源、不同监督形式的数据放在一起训练。

4.1 数据组成

类别数据内容主要作用
MM:移动操作数据移动机器人在真实家庭中执行家务,约 400 小时学习目标机器人在家庭中的操作
ME:多环境固定机器人数据单臂或双臂机器人在不同家庭环境中操作扩展环境与物体多样性
CE:跨机器人形态数据多种机器人在实验室等场景中的操作数据扩展技能和机器人形态覆盖
HL:高层子任务监督为机器人观测标注子任务文本及相关边界框学习下一步应该做什么
WD:网页多模态数据图像描述、视觉问答、物体定位等提供视觉和语义知识
VI:语言指导示范人类逐步选择子任务指令,指导低层策略执行改善高层决策,用于后训练

这里有两个容易混淆的地方:

  • **高层文本与边界框标注,也可以来自机器人数据。**不能简单归为“无机器人数据”。
  • **后训练新增的 VI 是语言指导示范。**不能由此推断普通遥操作数据只用于后训练。

此外,固定机器人虽然运动范围受限,但可以部署到多样的家庭环境中,不能直接等同于“场景简单”。来源:π₀.₅ 论文,第 IV-C、IV-D 节

4.2 为什么不同格式的数据能一起训练?

可以把这些数据组织为不同形式的多模态预测任务:

图像 + 问题                  → 文本回答
图像 + 物体名称              → 边界框
场景 + 总体任务              → 下一条子任务
图像 + 状态 + 子任务         → 动作

它们可以共享模型,但不意味着所有数据都必须变成离散整数 token:图像通常编码为连续视觉嵌入,流匹配分支也处理连续动作表示。

五、π₀.₅ 的模型架构

5.1 输入变化:机器人状态进入 VLM

在 π₀ 中,机器人本体状态通过线性投影进入动作专家一侧。

π₀.₅ 则将本体状态离散化为 token,与图像和文本一起输入 VLM。

这使得 VLM 在生成高层子任务时,也能够利用机器人当前状态。

5.2 输出变化:文本、离散动作与连续动作

π₀.₅ 包含两条输出路径:

输出路径输出内容用途
自回归路径文本及 FAST 动作 token高层子任务预测、离散动作学习
流匹配路径连续动作块低层动作控制

因此,可以这样理解它的设计:

用离散动作表示支持高效训练,用连续动作专家支持快速执行。

5.3 流匹配时间如何注入?

π₀.₅ 使用独立的 MLP 处理流匹配时间,再通过 Adaptive RMSNorm 将时间信息注入动作专家的每一层。

这里的“时间”指生成过程中的流匹配时间,并不是机器人动作序列中的第几个控制时间步。

5.4 注意力如何避免信息泄漏?

不同 token 之间并不是全部互相可见。

token 类别可以关注的信息
图像、指令、状态等前缀前缀内部相互可见
FAST 动作 token前缀,以及此前的 FAST 动作 token
动作专家中的连续动作表示前缀,以及动作专家内部的动作表示

关键限制是:

动作专家不能读取 FAST 动作 token。

否则,它可能从另一种动作表示中直接获得目标信息,形成信息泄漏。

同样,前缀也不能读取待预测的动作答案。因此,准确表述应为“前缀不能看到目标动作”,而不是“预训练不能见到机器人动作”。

六、训练:预训练走 FAST,后训练加入流匹配

6.1 预训练阶段

预训练主要使用自回归的 Next-token Prediction,学习:

  • 文本输出;
  • 物体位置等结构化输出;
  • 高层子任务;
  • FAST 编码的离散动作。

因此,预训练阶段已经在学习机器人动作,只是使用离散动作表示。

6.2 后训练阶段

后训练加入连续动作专家和流匹配目标,同时保留离散预测训练。

这一阶段使用经过筛选的成功操作数据,使模型更聚焦于家庭移动操作,并加入语言指导示范来改善高层子任务选择。

七、推理:先决定做什么,再生成怎么做

7.1 高层:预测下一条子任务

模型结合总体指令和四个相机的画面:

  • 前向相机;
  • 后向相机;
  • 左腕相机;
  • 右腕相机。

输出当前适合执行的子任务,例如:

“拿起枕头。”

7.2 低层:生成连续动作块

模型结合子任务、机器人状态,以及前向和双腕共三个相机的画面,通过动作专家执行 10 步流匹配迭代,生成包含 50 个时间步的连续动作块。

在 50 Hz 控制频率下,这对应约 1 秒的动作预测范围。

整个过程可以概括为:

总体指令 + 当前场景
          ↓
高层预测子任务
          ↓
子任务 + 图像 + 机器人状态
          ↓
动作专家生成连续动作块
          ↓
机器人执行并获得新观测
          ↓
继续控制,并按需更新子任务

这里的高层决策和低层控制由同一个模型体系承担。高层子任务的更新,也不应机械理解为每执行一个动作块就必须重新规划一次。

八、把几项工作的关系串起来

工作主要关注的问题核心思路
π₀如何让 VLM 学会连续机器人控制?引入流匹配动作专家
π₀-FAST如何高效学习高频动作序列?DCT、量化与 BPE 动作编码
Hi Robot如何处理复杂指令和执行中的反馈?高层 VLM 与低层 VLA 分层协作
π₀.₅如何在陌生家庭中完成多阶段任务?异构数据共同训练、高低层统一建模、离散与连续动作结合

π₀.₅ 将这些思路结合起来:机器人既要从当前场景中判断下一步应该做什么,也要把子任务转化为连续控制动作。

它展示的进展,是将已有技能迁移到训练中未见过的家庭环境,并将这些技能组织成长任务;模型仍可能在高层判断和具体操作中失败。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐