π0.5 论文详细解读:面向开放世界泛化的 Vision-Language-Action 机器人模型
论文:π0.5: a Vision-Language-Action Model with Open-World Generalization。本文围绕论文思想、章节结构、核心模块、训练流程和技术创新进行系统整理,适合初学者理解 VLA 方向的整体技术路线。
一、论文整体介绍
π0.5 是 Physical Intelligence 提出的一个 Vision-Language-Action Model,视觉-语言-动作模型。所谓 VLA,就是模型同时接收视觉信息、语言指令和机器人状态,并直接输出机器人动作。
这篇论文想解决的问题非常明确:机器人能不能在没有见过的新家庭环境中,完成复杂、长流程的真实任务?
例如:
-
清理厨房;
-
把餐具放进水槽;
-
把物品放进抽屉;
-
整理床铺;
-
把衣服放进洗衣篮。
这些任务比普通“抓起杯子”难得多,因为它们不是单步动作,而是多阶段任务。机器人不仅要看懂物体,还要判断当前应该先做什么、接下来做什么,以及如何把任务拆成一系列可执行子任务。
π0.5 的核心思想不是简单扩大模型规模,而是提出了一套面向真实机器人泛化的训练方案:
用多来源异构数据进行共训练,让模型同时学习视觉语义、任务规划、物体常识、跨机器人动作经验和连续控制能力。
二、论文要解决的核心问题:开放世界泛化
论文中的关键词是 Open-World Generalization,开放世界泛化。
开放世界泛化指的是:机器人在训练时没有见过某个房间、某种物体组合、某种布局,但测试时仍然能够完成任务。
这比普通泛化更难。普通泛化可能只是换一个杯子、换一张桌子;开放世界泛化要求机器人进入一个完全新的家庭,面对新的厨房、新的卧室、新的抽屉、新的衣物、新的餐具,仍然能执行任务。
论文认为,仅靠目标机器人采集更多数据是不够的。因为真实世界变化太多,机器人数据采集又昂贵,无法靠暴力采集覆盖所有场景。因此,π0.5 把多种数据统一起来训练,包括:
-
移动机械臂真实家庭数据;
-
非移动机械臂数据;
-
实验室跨机器人数据;
-
高层子任务标注数据;
-
网页图文、问答、检测数据;
-
人类语言指导数据。
这就是 π0.5 的基本路线:用多来源知识补足机器人自身经验不足的问题。
三、论文逐章解析
1. Abstract:论文摘要讲了什么
摘要中指出,现有 VLA 模型已经在端到端机器人控制上取得不错效果,但它们能否真正泛化到实验室外的真实世界仍然是开放问题。
π0.5 的目标是让移动机械臂在训练集中没有出现过的新家庭中执行复杂任务。作者通过共训练把多种数据源融合到一个模型中,使模型能够同时利用:
-
机器人动作数据;
-
高层语义预测;
-
多模态网页数据;
-
语言指令数据;
-
其他机器人平台数据。
最终,π0.5 能在新厨房、新卧室中完成持续数分钟甚至更长的多阶段任务。
2. Introduction:为什么需要 π0.5
Introduction 主要回答一个问题:为什么机器人需要这种开放世界泛化能力?
传统机器人系统通常在结构化环境中表现较好,比如固定工位、固定物体、固定流程。但家庭环境完全不同。厨房和卧室中的物体位置、大小、类别、摆放方式都在变化。如果机器人只能在训练环境附近工作,就很难真正实用。
作者举了一个例子:如果机器人被要求清理一个从未见过的厨房,它需要解决多个层次的问题:
-
哪些物体需要整理;
-
这些物体应该放到哪里;
-
当前应该先拿哪个;
-
抽屉或柜门是否需要打开;
-
如果任务中途状态变化,下一步如何调整。
这说明真实机器人任务不是单纯的动作执行问题,而是涉及视觉理解、语言理解、任务拆解、动作控制和场景泛化的综合问题。
π0.5 的解决方式是:把不同来源的数据统一到一个 VLA 框架中,通过共训练让模型获得更广泛的知识迁移能力。
3. Related Work:相关工作
相关工作主要分为几类。
3.1 通用机器人操作策略
通用机器人操作策略指的是一个模型可以执行多种任务,而不是只针对单一任务训练。例如既能拿杯子,也能打开抽屉,还能整理衣服。
已有研究表明,训练数据越丰富,机器人策略的泛化能力通常越强。但问题是,复杂家庭任务的数据空间太大,仅靠机器人采集很难覆盖。
因此,π0.5 不只依赖目标机器人数据,而是进一步引入跨机器人数据和非机器人数据。
3.2 非机器人数据共训练
非机器人数据包括网页图像、图像描述、视觉问答、物体检测等。这类数据没有机器人动作,但能帮助模型理解物体和场景。
例如机器人要执行“把 funnel 放进抽屉”,如果机器人数据中从未出现过 funnel,但网页图像中出现过,模型就可能通过网页数据学到这个物体的视觉语义。
这也是 π0.5 引入网页多模态数据的原因:机器人不仅要会动,还要看懂世界。
3.3 语言推理与机器人规划
很多方法会用大语言模型或视觉语言模型做高层规划,再用低层策略执行动作。π0.5 也采用了类似的层级思想,但它的特点是:高层子任务预测和低层动作生成由同一个模型完成。
也就是说,π0.5 不是简单地“GPT 做规划,机器人模型做执行”,而是统一 VLA 模型先输出子任务,再根据子任务生成动作。
4. Preliminaries:基础知识
这一章介绍 VLA 的基本训练方式。
VLA 通常通过 Imitation Learning,模仿学习 训练。模仿学习就是让模型学习专家示范数据:给定当前观察和语言指令,模型预测专家在这个状态下会执行什么动作。
论文中的输入包括:
-
多个相机图像;
-
机器人本体状态;
-
自然语言任务指令。
其中,机器人本体状态包括关节角、夹爪状态、底盘速度、升降机构位置等。
输出不是单个动作,而是一个 Action Chunk,动作块。动作块表示未来一段时间内的动作序列。这样做可以减少推理频率,提高动作平滑性。
VLA 的基本思想是把图像、文本、机器人状态、动作都转成 token 或 embedding,然后交给 Transformer 处理。这样,机器人控制问题就可以转化为序列建模问题。
5. The π0.5 Model and Training Recipe:核心方法
这是论文最重要的一章。
π0.5 的训练分成两个阶段:
-
Pre-training,预训练阶段
用大量异构数据训练模型,动作以离散 token 表示。 -
Post-training,后训练阶段
专门适配移动机械臂家庭任务,并加入 action expert,用 flow matching 生成连续动作。
论文明确指出,预训练阶段所有任务,包括机器人动作任务,都表示成离散 token;后训练阶段加入 action expert,以获得更细粒度、更高效的连续动作控制能力。
四、π0.5 的核心技术模块解析
1. 多模态输入编码模块
π0.5 的输入可以表示为:
图像 + 机器人状态 + 语言指令
其中图像来自多个相机,包括前向相机、后向相机和两个腕部相机。高层推理使用更多视角,低层动作推理主要使用腕部相机和前向相机。
机器人状态包括:
-
双臂关节状态;
-
夹爪状态;
-
底盘速度;
-
躯干升降位置。
这些输入最终会被转成模型可处理的 token 或 embedding。
图像会经过视觉编码器变成 image tokens;文本指令经过 tokenizer 变成 text tokens;机器人状态被离散化后作为 token 输入模型。
2. 高层子任务预测模块

这个公式可以理解成两步:
第一步:根据图像和总任务,预测当前应该做什么子任务。
第二步:根据图像和子任务,生成具体机器人动作。
例如:
用户指令:clean the kitchen
高层子任务:pick up the plate
低层动作:移动机械臂、闭合夹爪、拿起盘子、放入水槽
这种设计的好处是,高层子任务把复杂任务拆成了低层策略更容易执行的小目标。
如果直接让模型从 “clean the kitchen” 输出连续动作,任务太宽泛,动作空间太大。而先预测 “pick up the plate”,低层动作就更明确。
3. FAST 离散动作表示模块
机器人动作本来是连续数值,比如机械臂目标位置、夹爪开合程度、底盘速度等。但在预训练阶段,π0.5 使用 FAST tokenizer 把连续动作编码成离散动作 token。
可以理解为:
连续动作序列 → FAST 编码 → 离散动作 token 序列
这样,机器人动作就像文本一样,可以用自回归 Transformer 进行 next-token prediction。
这带来两个好处:
-
训练形式统一
文本、边界框、子任务、动作都可以变成 token 预测。 -
训练更高效稳定
大规模 VLM 更擅长处理离散 token 序列。
但离散动作也有缺点:推理时需要一个 token 一个 token 自回归生成,速度较慢,不适合实时机器人控制。因此,π0.5 只在预训练阶段重点使用离散动作,后训练阶段再引入连续动作生成。
4. Action Expert 连续动作生成模块
后训练阶段,π0.5 加入了 Action Expert,动作专家模块。
Action Expert 是一个较小的 Transformer,专门用于生成连续动作。它不是从头理解图像和语言,而是利用 VLM 主干提取出的视觉语言信息,再通过 flow matching 生成动作块。
论文中 VLM 主干约为 2B 参数,action expert 约为 300M 参数。这样设计可以让主干负责语义理解,让 action expert 专注连续动作生成。
这种分工非常合理:
VLM 主干:负责看懂图像、理解指令、预测子任务。
Action Expert:负责把子任务变成可执行的连续动作。
5. Flow Matching 动作生成原理
Flow Matching 是 π0.5 用于连续动作生成的关键方法。
它的基本思想是:模型学习如何把一段随机噪声动作逐步变成真实机器人动作。

可以这样理解:
τ = 0:接近纯噪声
τ = 1:接近真实动作
0 < τ < 1:噪声和真实动作之间的中间状态
模型要学习的是:在当前中间状态下,应该沿哪个方向变化,才能逐步生成真实动作。
推理时,模型从随机噪声开始,经过多步去噪,最终得到连续动作块。论文中推理使用 10 个 denoising steps 来生成动作。
6. 离散动作与连续动作的结合
π0.5 一个很关键的技术点是:同时使用离散动作和连续动作,但用于不同阶段。
| 阶段 | 动作表示 | 作用 |
|---|---|---|
| 预训练 | FAST 离散动作 token | 训练高效,便于与语言模型统一 |
| 后训练 | Flow Matching 连续动作 | 适合实时控制,动作更精细 |
| 推理 | 高层文本 + 连续动作 | 先预测子任务,再执行动作 |
这解决了 VLA 中一个很核心的矛盾:
语言模型喜欢离散 token,但机器人控制需要连续数值。
π0.5 的方案是:训练时先利用离散 token 的优势,执行时再使用连续动作的优势。
7. Attention Mask 注意力掩码设计
π0.5 同时存在两套动作表示:
-
FAST 离散动作 token;
-
Action Expert 连续动作 embedding。
如果它们在训练时互相看到对方,就可能发生信息泄漏。例如 action expert 直接从 FAST token 中读出动作答案,而不是根据图像和语言自己学习动作。
因此,论文设计了 attention mask:
-
图像、文本、状态作为 prefix,可以被动作模块关注;
-
FAST 动作 token 可以看 prefix 和之前的 FAST token;
-
Action Expert token 可以看 prefix 和其他 action expert token;
-
Action Expert 不能看 FAST 动作 token;
-
VLM token 不看 Action Expert。
这样保证了两套动作表示独立学习,同时都基于相同的视觉语言条件。
五、π0.5 的训练流程
1. 数据准备
π0.5 使用了多种数据源。
1.1 MM:移动机械臂数据
这是最接近最终任务的数据,来自移动机械臂在真实家庭中的操作演示。任务包括整理厨房、整理卧室、放置物品等。
1.2 ME:非移动机械臂多环境数据
这些数据来自固定机械臂或非移动机械臂。虽然机器人本体不同,但它们能提供更多家庭环境和物体操作经验。
1.3 CE:跨本体实验室数据
这些数据来自不同机器人平台和实验室任务,例如整理桌面、折衣服、处理瓶子等。它们帮助模型学习更广泛的动作技能。
1.4 HL:高层子任务预测数据
这类数据用于训练模型把大任务拆成小任务。例如:
clean the bedroom
→ pick up pillow
→ adjust blanket
→ put clothes in laundry basket
它让模型学会在当前场景下判断下一步该做什么。
1.5 WD:网页多模态数据
包括图像描述、视觉问答、物体检测、物体定位等。这类数据主要提升模型的语义理解和开放词汇识别能力。
1.6 VI:人工语言指导数据
专家通过语言一步步指导机器人执行任务,相当于给模型提供高层策略示范。例如:
pick up the cup
put the cup in the sink
open the drawer
put the spoon in the drawer
这类数据对高层子任务预测非常重要。
2. 动作预处理
由于不同机器人动作空间不同,π0.5 对动作做了统一处理。
首先,所有动作按每个数据集的 1% 和 99% 分位数归一化到 ([-1,1])。这样可以避免异常值影响训练。
其次,不同机器人动作维度不同,模型会设置一个固定最大动作维度。低维动作通过 zero-padding 补齐。
例如:
机器人 A 动作维度:7
机器人 B 动作维度:14
移动双臂机器人动作维度:18 / 19
统一后:全部补齐到最大动作维度
这样,不同机器人数据才能放进同一个模型中训练。
3. 第一阶段:预训练
预训练阶段的目标是让模型学习通用的视觉、语言、动作表示。
这一阶段:
-
动作使用 FAST 离散 token;
-
所有任务都转化成 next-token prediction;
-
损失函数主要是交叉熵损失;
-
模型学习预测文本、边界框、子任务和动作 token。
训练样本可以统一理解为:
输入:图像 + 状态 + prompt
输出:文本 token / 边界框 token / 子任务 token / FAST 动作 token
例如:
输入:厨房图像 + “How would you clean the kitchen?”
输出:<loc...> plate + “pick up the plate”
或者:
输入:机器人图像 + “put the cup in the sink”
输出:FAST 动作 token 序列
论文中预训练进行了 280k gradient steps。
4. 第二阶段:后训练
后训练阶段的目标是让模型更适合真实移动机械臂家庭任务,并加入连续动作生成能力。
这一阶段:
-
加入 action expert;
-
使用 flow matching 训练连续动作;
-
继续保留文本 token 预测能力;
-
使用更贴近目标场景的数据。
后训练使用的主要数据包括:
-
MM 数据;
-
ME 数据;
-
WD 网页数据;
-
HL 子任务数据;
-
VI 人工语言指导数据。

5. 推理执行流程
π0.5 在真实机器人上执行任务时,大致流程如下:
1. 输入多相机图像、机器人状态和用户任务指令
2. 模型预测高层子任务
3. Action Expert 根据子任务生成连续动作块
4. 机器人执行动作
5. 重新观察场景
6. 继续预测下一个子任务
举例:
用户输入:clean the kitchen
模型预测子任务 1:pick up the plate
执行:抓起盘子
模型预测子任务 2:put the plate in the sink
执行:把盘子放进水槽
模型预测子任务 3:pick up the cup
执行:抓起杯子
论文中的机器人使用简单 PD 控制器跟踪模型输出的目标动作,没有额外复杂的轨迹规划或碰撞检测。这说明 π0.5 的很多能力确实来自学习模型本身,而不是传统规划模块。
六、实验结果解析
1. 新家庭泛化实验
作者在训练集中没有出现过的真实家庭中测试 π0.5,包括厨房和卧室任务。
结果表明,π0.5 能够在新环境中完成多阶段任务,例如:
-
把物品放进抽屉;
-
把餐具放进水槽;
-
把衣服放进洗衣篮;
-
整理床铺。
这说明 π0.5 不只是记住训练场景,而是具备一定开放世界泛化能力。
2. 训练环境数量影响
论文测试了不同训练环境数量对泛化能力的影响,包括 3、12、22、53、82、104 个地点。
结果显示,训练环境越多,模型在新环境中的任务完成度越高。
这说明对于家庭机器人来说,环境多样性非常重要。模型见过的家庭越多,对新布局、新物体、新背景就越鲁棒。
3. 数据消融实验
论文通过消融实验分析不同数据源的重要性。
去掉 ME 数据
性能下降,说明非移动机械臂多环境数据对泛化有帮助。
去掉 CE 数据
性能下降,说明跨机器人实验室数据可以提供有用动作经验。
去掉 WD 数据
普通任务下降不一定明显,但在未见过物体类别上性能明显变差。说明网页数据主要提升开放词汇语义理解能力。
去掉 VI 数据
高层子任务预测能力明显变差。说明人工语言指导虽然数据量不一定最大,但对任务拆解非常关键。
4. 与 π0 的对比
π0.5 相比 π0 的主要提升来自三点:
-
引入更多异构数据源;
-
加入高层子任务预测;
-
采用离散动作预训练 + 连续动作后训练的混合策略。
实验表明,π0.5 在复杂家庭任务上的表现明显优于 π0 和增强版 π0-FAST+Flow。
这说明 π0.5 的提升并不是单纯来自某个动作表示方法,而是来自完整的训练配方。
5. 高层推理的重要性
论文专门比较了不同高层策略,包括:
-
π0.5 自己预测高层子任务;
-
不使用显式高层推理;
-
去掉高层数据;
-
去掉网页数据;
-
去掉人工语言指导;
-
使用 GPT-4 做高层策略;
-
使用人类专家作为高层策略。
结果显示,完整 π0.5 表现最好。使用 GPT-4 做高层策略反而不理想。
这说明一个关键问题:机器人高层规划不能只靠通用语言能力。高层策略必须和机器人低层动作能力、真实场景数据、任务分布相适配。
七、论文核心创新点分析
创新点 1:异构数据共训练框架
π0.5 最大的创新不是单个网络结构,而是训练配方。
它把不同类型的数据统一到一个模型中:
机器人动作数据
网页图文数据
高层子任务数据
人工语言指导数据
跨机器人数据
物体定位数据
这些数据原本形式完全不同,但 π0.5 通过 token 化和统一序列建模,把它们都变成模型可以学习的任务。
这让模型同时获得:
-
视觉识别能力;
-
物体语义知识;
-
语言理解能力;
-
高层任务拆解能力;
-
机器人动作执行能力;
-
跨场景泛化能力。
创新点 2:同一模型完成高层和低层推理
很多机器人系统会把高层规划和低层控制分成两个模型。例如,一个大语言模型负责规划,另一个机器人策略负责执行。
π0.5 的不同之处在于:它用同一个 VLA 模型完成这两件事。
高层时,模型输出文本子任务;低层时,模型根据子任务输出动作块。
这种设计减少了模块间不匹配问题。因为高层子任务不是外部模型随便生成的,而是在机器人数据和动作执行数据中一起训练出来的,更容易被低层策略执行。
创新点 3:FAST 离散动作与 Flow Matching 连续动作结合
这是 π0.5 最值得学习的技术设计之一。
FAST 离散动作适合大规模预训练,因为它能把动作转成 token,让机器人动作学习变成类似语言建模的问题。
Flow Matching 连续动作适合真实执行,因为机器人最终需要连续控制量,而不是离散 token。
π0.5 把二者结合起来:
预训练:用 FAST 离散动作提高训练效率
后训练:用 Flow Matching 生成连续动作
推理:先生成子任务,再生成连续动作块
这很好地解决了 VLA 训练和机器人控制之间的矛盾。
创新点 4:高层子任务作为语义与动作之间的桥梁
π0.5 不直接从“clean the kitchen”生成低层动作,而是先预测“pick up the plate”“put the cup in the sink”这样的子任务。
这相当于在总任务和低层动作之间加入了一个语义中间层。
它的作用是:
-
降低长任务难度;
-
让模型更容易处理多阶段任务;
-
提高任务执行的可解释性;
-
让低层动作生成更稳定。
对于机器人来说,这种设计非常重要。因为很多任务失败不是因为抓取动作本身不会,而是因为模型不知道当前应该先做什么。
创新点 5:证明网页知识对机器人任务有实际价值
网页数据本身没有机器人动作,但它包含大量物体和场景知识。
π0.5 的实验表明,网页数据对分布外物体识别尤其有帮助。例如训练数据中没有某类物体,但网页数据中有相关视觉语义,模型就可能更好地理解语言指令并选择正确物体。
这说明未来机器人基础模型不能只靠机器人数据,还需要吸收更广泛的视觉语言知识。
八、论文局限性
π0.5 虽然效果很强,但仍然存在明显局限。
首先,它对某些复杂物理结构仍然困难。例如陌生抽屉把手、难打开的柜门,可能导致执行失败。
其次,部分可观测问题仍然存在。如果机械臂挡住了污渍,模型可能无法判断桌面是否还需要擦。
再次,高层推理有时会出现重复或分心。例如在整理抽屉任务中,机器人可能反复打开和关闭抽屉。
最后,模型处理的指令复杂度仍然有限。对于带有复杂偏好、长期记忆和跨房间任务的场景,π0.5 还需要更强的上下文记忆和任务状态管理能力。
九、对 VLA 研究的启发
π0.5 对 VLA 和具身智能研究有几个重要启发。
第一,机器人泛化不能只靠目标平台数据。跨机器人数据、网页数据、语言指导数据都可能提供有效知识。
第二,高层语义和低层动作不能完全割裂。高层子任务必须和低层策略的执行能力对齐,否则规划再合理也可能无法落地。
第三,动作表示非常关键。离散 token 适合训练,连续向量适合控制,未来 VLA 模型很可能继续采用混合动作表示。
第四,真实机器人系统不只是模型结构问题,更是数据组织、训练流程、任务标注和推理机制的系统工程。
十、总结
π0.5 是一篇非常典型的 VLA 方向论文。它的核心贡献不在于提出一个孤立的新网络模块,而在于构建了一套完整的开放世界机器人训练方案。
它通过异构数据共训练,让模型吸收来自不同机器人、不同环境、网页图文、高层子任务和人工语言指导的知识;通过高层子任务预测,把复杂长流程任务拆解为低层策略可执行的小目标;通过 FAST 离散动作预训练和 Flow Matching 连续动作后训练,兼顾了大规模训练效率和真实机器人控制精度。
简单来说,π0.5 证明了一件很重要的事情:
未来通用机器人模型的关键,不只是让模型更大,也不只是收集更多同一种机器人数据,而是如何把多来源知识统一到一个可训练、可执行、可泛化的 VLA 框架中。
对于正在学习机器人抓取、任务导向操作、VLA 或具身智能的同学来说,这篇论文值得重点关注。它展示了当前机器人基础模型从“单步操作”走向“真实环境长流程任务”的一条重要技术路线。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)