Home / 机器人学习 / π0:以流匹配生成连续动作

087|π0:以流匹配生成连续动作

系列首页 · 上一篇 · 下一篇

原论文:pi0: A Vision-Language-Action Flow Model for General Robot Control,Physical Intelligence(Kevin Black 等),2024。论文。

先接住前作的问题

OpenVLA用离散token输出动作,但高频双臂动作块会放大串行解码成本。π0让预训练VLM与连续动作专家交流,用流匹配生成动作段;它解决输出接口与训练组合,不把语言理解等同于电机控制。

五个前置概念

五个前置概念:条件生成是给定观测后拟合可能动作的分布;流匹配学习噪声与数据之间的向量场;动作分块联合预测连续多个控制命令;注意力缓存复用固定条件的计算;后训练在本篇指用目标资料继续动作监督。

一、问题设定:互联网语义怎样连接高频连续动作块

语言模型可以理解“把衣服折好”,但把一句话变成连续、双臂协调的关节运动,不能只靠把数字当单词逐个输出。π0 为预训练视觉语言模型增加一个动作专家,让它通过流匹配一次生成一段连续动作,再用大规模机器人资料预训练和任务数据后训练。

π0 是语言条件的模仿学习策略,不是在部署时凭奖励自主更新的强化学习系统。输入包括当前两到三个 RGB 视角、语言指令与关节状态,输出未来动作块。没有独立 critic,也没有模拟未来环境的世界模型;流中的“状态”是带噪动作,不是机器人未来世界。

研究对象覆盖单臂、双臂和移动操作平台。数据对不同动作维度补零到统一容量,对缺失图像使用掩码。统一张量使训练可行,却不会自动消除机器人运动学和控制接口的差异。

这里有两个不同层次的难点。一个是“知道什么”:垃圾应该进垃圾桶,餐具进回收箱;另一个是“怎样动”:在拿起盘子、处理遮挡、对折衣物时产生连贯细动作。视觉语言初始化主要提供前者的基础,机器人训练把语义连接到后者,动作专家负责生成适合控制的输出。

数据配方同样重要:覆盖大量状态的资料有助于接触恢复情形,精细筛选的后训练资料则教会流畅执行。作者将这种互补作为解释,并通过去预训练、去后训练等对照提供经验支持;它不是所有数据混合必然正迁移的定理。

二、让VLM条件与流匹配动作专家共同训练

它的重要性不仅是换了一种生成损失,还在于把三个环节连起来:互联网语义知识、多机器人经验、灵巧动作的高频执行。论文同时研究基础模型直接控制、新任务微调、语言分步指导和复杂长任务。

1. 两组权重通过注意力交流

模型使用约3B参数的 PaliGemma 初始化视觉语言部分,另有约300M的动作专家,总量约3.3B。图像、文字使用前一组权重,机器人状态、带噪动作使用后一组。路由按 token 类型确定,不是让一个门控器动态选择机器人技能。

注意力分为图文、状态、动作三个块。块内允许双向交流,前面的块看不到后面的块;动作可以看前面的所有条件。这样既限制新机器人输入干扰原图文前缀,也让固定条件的 key/value 能够在反复生成时缓存。

每个动作时间步是一个连续 token 槽位,一块有50个时间步。这里 token 不必是词表中的离散整数。动作块内部双向注意力有利于协调先抓再移等时间关系,却不代表模型已经执行或观察了这些未来动作。

2. 用流把噪声搬到动作分布

为避免两个时间约定混淆,下面采用官方实现中的约定:u=1u=1 是噪声,u=0u=0 是动作。给定示范块 AA 和噪声 ϵ\epsilon:

Xu=(1−u)A+uϵ,v∗=ϵ−A,X_u=(1-u)A+u\epsilon,\qquad v^*=\epsilon-A,

L=EA,o,u,ϵ∥vθ(Xu,o,u)−(ϵ−A)∥2.L=\mathbb E_{A,o,u,\epsilon}\|v_\theta(X_u,o,u)-(\epsilon-A)\|^2.

uu 是生成过程时间,机器人时间是动作块中的下标,两者不是同一条时间轴。网络学的是沿插值路径的向量场;采样从噪声出发,以负步长往零积分。训练无需先运行全部积分过程,只需随机抽一个噪声水平。

原论文§IV使用反向约定:Xτ=τA+(1−τ)ϵX_\tau=\tau A+(1-\tau)\epsilon,从零到一加步长积分,却把目标写为 ϵ−A\epsilon-A;按该插值求导应是 A−ϵA-\epsilon。同时其高斯协方差文字与插值噪声系数也不完全一致。这里明确采用自洽的代码约定,不把两种写法混拼。当前官方实现是后续公开版本,不能据此断言原始训练代码逐行相同。官方 pi0.py:compute_loss、sample_actions

3. 训练数据和生成速度不是附属细节

公开资料与自采资料组成混合,自采数据含903M时间步;任务—机器人组合的采样权重按样本数的0.43次方调整,减弱特别大数据源的支配。后训练使用较窄但质量较好的目标任务资料。这里的后训练仍然是动作监督,不是 RLHF。

混合权重的幂次会显著改变稀有任务曝光。按原文任务—机器人组合权重 n0.43n^{0.43},若两组样本数相差100倍,其被选概率只相差 1000.43≈7.24100^{0.43}\approx7.24 倍;假设组内均匀采样,小组每个样本的曝光约为大组的13.8倍。这里 nn 是该组合样本数,不是任务难度评分。

这种平衡防止大任务垄断训练,也更容易反复看到小组的少数错误或操作者习惯。后训练数据质量与预训练覆盖因此承担不同职责。原文长期任务同时比较预训练和后训练,不能把收益全部归于流匹配损失,也不能把更多重复曝光当成更多独立经验。原文§V-A与训练配方

用一个例子建立理解

以下是未运行的教学例子。桌上有餐巾和盘子,语言是“把餐巾扔掉”。若生成器一次只能回归一个平均动作,它可能在多种抓取路线间取不合理的平均;连续生成则可以采样一条协调路径。VLM条件帮助确定对象,动作专家负责将路径展开为运动。

假设50步块以50 Hz执行,但只执行前25步。一次预测覆盖一秒,实际半秒后重看图;剩余25步并非浪费,它们在联合生成时提供未来连贯性,但不必真的执行。若机器人执行失败,这个模型不会仅因失败自动学习,仍需外部数据或后续训练机制。

三、以流匹配训练动作专家并做任务后训练

条件表示固定当前语义和观察,流积分在动作块空间把噪声变成连续序列。高频执行一块动作不意味着每20毫秒重新运行视觉语言推断。

训练:
    按混合权重抽取当前图像、指令、关节状态及50步示范动作 A
    抽噪声 epsilon 和生成时间 u
    X = (1-u)*A + u*epsilon
    图文token进入VLM权重;状态和X进入动作专家
    预测向量场,用目标 epsilon-A 做平方误差更新
    在目标任务优质资料上继续监督训练

部署:
    编码当前条件并缓存不变的注意力键值
    X = 高斯噪声;u = 1
    重复10次:X = X - 0.1*v(X,条件,u);u -= 0.1
    执行动作块的前若干步
    获取新观测后重新生成

这是按已说明时间方向组织的教学伪代码。动作专家的计算可复用条件缓存,但真实世界不会因缓存而静止;执行多少步后重新看图是反馈设计问题。

四、分开基础模型、任务后训练与部分完成评分

作者发布文章解释了长任务的分阶段评分。用四个等权阶段作教学反例:策略甲每回合都完成前三段、从不完成最后一步,平均完成分为3/43/4而完整成功率为零;策略乙四次中三次全成、一次零分,平均完成分同为3/43/4,完整成功率却为3/43/4。因此原文的部分完成分可以定位进度,不能直接换算为整项任务成功率;真实评分还必须使用各任务公布的具体规则。

实验支持这套组合在所测操作任务中的优势,但“基础模型零样本”常指没有额外后训练,并不意味着任务从未在预训练中出现。复杂任务的强结果还依赖任务数据,有些依赖高层语言策略。

原图怎么读: 图4,原论文图注与图像。左图是训练混合的采样权重,右图是数据按步数计的实际大小。两者不相同,不能仅凭原始数据占比推断模型训练时看到了多少次。

pi0: A Vision-Language-Action Flow Model for General Robot Control,图4: 图4,原论文图注与图像。左图是训练混合的采样权重,右图是数据按步数计的实际大小。两者不相同,不能仅凭原始数据占比推断模型训练时看到了多少次。
原图摘引:Physical Intelligence(Kevin Black 等),2024,HTML S5.F4,图4。核对原文。 图4,原论文图注与图像。左图是训练混合的采样权重,右图是数据按步数计的实际大小。两者不相同,不能仅凭原始数据占比推断模型训练时看到了多少次。

结果图怎么读: 内嵌图7比较五类任务的平均任务进度。先把π0的160k步parity版本与相同更新预算基线比较,再看700k步完整版本;纵轴的部分任务进度不能直接当作完整任务成功率,额外训练预算也须单独记账。

pi0: A Vision-Language-Action Flow Model for General Robot Control,图7:内嵌图7比较五类任务的平均任务进度。先把π0的160k步parity版本与相同更新预算基线比较,再看700k步完整版本;纵轴的部分任务进度不能直接当作完整任务成功率,额外训练预算也须单独记账。
实验图原图摘引:Physical Intelligence(Kevin Black 等),2024,HTML S6.F7,图7。核对原文。原版权保留。
实验 数据与对照 评价和预算 要验证什么
基础模型 混合预训练,比较 OpenVLA、Octo、π0-small 五任务,每任务每方法10次,部分任务按进度评分 不后训练时的多任务能力
语言跟随 任务后训练,比较整体命令、人类分步、高层VLM分步 三种操作场景,10次试验 语义指导能否改善动作完成
新灵巧任务 分量级任务资料;ACT、DP与公开预训练基线 每条件10次,部分基线只测试一个数据量 预训练能否减少适配负担
长任务 完整配方、仅预训练、只用目标资料 折衣、装箱、装蛋等进度评分 预训练与后训练互补性
推理 RTX 4090,三相机输入 本机73 ms,远程86 ms 生成一块动作的工程成本

主模型训练700k更新,“parity”模型160k;OpenVLA为160k,Octo为320k。这是更新数层面的对齐,不是已证明等 FLOPs、等显存或等 GPU 小时。独立训练种子数量及完整训练算力未逐项核实。

新任务对照使用公开 OpenVLA/Octo 权重,因此预训练资料和规模不同;ACT/DP只用任务资料。它回答“这些可用模型如何适配”,不构成只有动作损失不同的严格因果消融。

原文概述出现 entire OXE,但图4及§V-A说明使用其子集和其他公开资料。阅读数据规模时应采用细化配方,不能据概述直接声称全部 OXE 都被纳入。

结果:证据到底有多强

图7:基础模型比较。 主要趋势支持 π0 和其较短训练版本优于所列基线。需要同时记住,任务本身多已存在于预训练中,部分物体和配置变化才是新内容。“零样本控制”在这里首先是零后训练,不能换写为任意新技能零样本。

图9:语言指导。 人类或高层模型分步命令带来改善,说明策略能利用这些条件。但人类分步组得到了额外任务分解信息,不能把它当成仅一句总命令的完全自主结果;高层VLM组则是另一个自主系统配置。π0-small同时改变规模和结构,不能把差异全部归于 VLM 初始化。

pi0: A Vision-Language-Action Flow Model for General Robot Control,图9:语言指导。 人类或高层模型分步命令带来改善,说明策略能利用这些条件。但人类分步组得到了额外任务分解信息,不能把它当成仅一句总命令的完全自主结果;高层VLM组则是另一个自主系统配置。π0-small同时改变规模和结构,不能把差异全部归于 VLM 初始化。
原图摘引:Physical Intelligence(Kevin Black 等),2024,HTML S6.F9,图9。核对原文。语言指导。 人类或高层模型分步命令带来改善,说明策略能利用这些条件。但人类分步组得到了额外任务分解信息,不能把它当成仅一句总命令的完全自主结果;高层VLM组则是另一个自主系统配置。π0-small同时改变规模和结构,不能把差异全部归于 VLM 初始化。

图11:新任务微调。 预训练的收益和目标任务相似性有关;作者指出微波炉任务5小时资料时与基线较接近,1小时条件下更有优势。这支持在稀缺资料下预训练有用,不能推出更多目标数据总是严格单调地提升所有模型。

pi0: A Vision-Language-Action Flow Model for General Robot Control,图11:新任务微调。 预训练的收益和目标任务相似性有关;作者指出微波炉任务5小时资料时与基线较接近,1小时条件下更有优势。这支持在稀缺资料下预训练有用,不能推出更多目标数据总是严格单调地提升所有模型。
原图摘引:Physical Intelligence(Kevin Black 等),2024,HTML S6.F11,图11。核对原文。新任务微调。 预训练的收益和目标任务相似性有关;作者指出微波炉任务5小时资料时与基线较接近,1小时条件下更有优势。这支持在稀缺资料下预训练有用,不能推出更多目标数据总是严格单调地提升所有模型。

图13:复杂操作。 完整配方在各任务取得超过最大分数一半的平均分,是进度层面的结论。装蛋评分有放六个蛋和关盖共七项;得4/7不是完整任务成功。长视频中的完整演示也不能替代全部试验的完成率。

pi0: A Vision-Language-Action Flow Model for General Robot Control,图13:复杂操作。 完整配方在各任务取得超过最大分数一半的平均分,是进度层面的结论。装蛋评分有放六个蛋和关盖共七项;得4/7不是完整任务成功。长视频中的完整演示也不能替代全部试验的完成率。
原图摘引:Physical Intelligence(Kevin Black 等),2024,HTML S6.F13,图13。核对原文。复杂操作。 完整配方在各任务取得超过最大分数一半的平均分,是进度层面的结论。装蛋评分有放六个蛋和关盖共七项;得4/7不是完整任务成功。长视频中的完整演示也不能替代全部试验的完成率。

表I与附录A-D:控制时序。 73 ms包括图像编码14 ms、条件前向32 ms和十次动作前向27 ms。20 Hz平台每16步重新生成,即约0.8秒;50 Hz平台每25步重新生成,即约0.5秒。50 Hz是指令执行频率,后者新视觉条件的更新约2 Hz。论文还报告 temporal ensembling 在其早期尝试中损害性能,因此实际采用块内开环执行。实验、评分与时序附录

五、动作频率和观测反馈频率并不相同

作者承认数据配比仍缺乏系统理解,也无法预测达到近乎完美表现需要多少资料。我的分析是,机器人种类更多不自动等于对全新机器人零样本:动作含义、相机位置、关节范围和训练覆盖都影响迁移。

另一代价是开环片段。若杯子在0.5秒内被移动,尚未消费的新图像无法改变已安排的动作;更快动作发送不能填补这个信息空窗。因此流生成速度、重规划频率、物理控制频率应分别优化。

它也没有解决在线试错的奖励定义、错误恢复的覆盖充分性和真实部署的长期可靠性。视觉语言知识能改善语义选择,但动作仍主要来自机器人示范分布。

追问:后训练提高单任务表现后,应怎样检查是否损失了其他技能?

参考答案:保留预训练覆盖中的代表任务与接口,用同样评估预算对照后训练前后,同时检查目标任务收益。单任务数据若持续覆盖窄动作模式,可能改变共享表示或生成偏好。只报目标任务提升无法判断整体保留,因此“基础模型能力”和“专门策略能力”应分别验收。

六、沿机制关系继续读

π0与OpenVLA是平行VLA输出设计,改用连续动作专家并组合大规模预训练;后作π0.5直接扩展其层级语义与数据配方,FAST则探索离散动作压缩。

七、自测三题与参考答案

问题1:为什么流匹配的平方误差不等于对最终动作求平均?

答案:回归对象是每个带噪位置与条件下的向量场。生成从不同初始噪声沿场演化,最后可形成多种动作模式。直接把同一观测对应的多个终点动作做MSE回归,才更容易只得到它们的平均。

问题2:π0 的50 Hz是否代表每20毫秒重新理解环境?

答案:不是。它预测动作块,在50 Hz平台连续执行25步后再生成,因此新视觉信息约每半秒进入一次决策。低层控制和指令发送可以更快,却不能使用策略尚未读取的信息。

问题3:基础模型测试称零样本,新任务测试又微调,两者矛盾吗?

答案:不矛盾,因为零的对象不同。前者没有追加后训练,但任务可能已在混合预训练中;后者专门检验新任务通过少量资料适配。应同时说明任务、物体、环境、机器人和后训练资料哪些见过,才能判断泛化强度。