π0: A Vision-Language-Action Flow Model for General Robot Control

TL;DR

  • 2024 年 Physical Intelligence 发布的 VLA 模型 π0,基于 transformer + 流匹配(flow matching)架构,当前开源领域最强的 VLA 模型之一。

Paper name

π0: A Vision-Language-Action Flow Model for General Robot Control

Paper Reading Note

Paper URL:

  • https://www.physicalintelligence.company/download/pi0.pdf

Project URL:

  • https://www.physicalintelligence.company/blog/pi0

Introduction

背景

“一个人应该能换尿布、策划入侵、屠宰猪只、驾驶船只、设计建筑、写十四行诗、核对账目、砌墙、接骨、安慰垂死之人、服从命令、发号施令、协作、独立行动、解方程、分析新问题、铲粪、编程、做出美味饭菜、高效作战、英勇赴死。专业化,是昆虫的事。”
——罗伯特·海因莱因,《爱的时光足够长》

  • 在多样性这一维度上,人类智能远远超越了机器智能:也就是在不同物理环境中解决多样任务的能力,能根据环境限制、语言指令以及突发扰动作出智能反应
  • 然而,构建这样的通用机器人策略(即“机器人基础模型”)仍面临多项重大挑战:
    • 规模要求高:要实现预训练带来的全部优势,研究必须在大规模下进行
    • 模型架构合适:需开发能有效利用多源数据、同时能表达复杂交互行为的架构
    • 训练策略关键:如在自然语言与视觉模型中,许多进展都依赖于预训练和后训练阶段的数据精细策划

本文方案

  • 提出一个原型模型及其学习框架,称为 π₀(Pi-zero),展示如何应对上述三大瓶颈
    • 规模
      • 首先使用预训练视觉语言模型(VLM)训练视觉-语言-动作(VLA)模型,引入互联网上规模级的经验
      • 跨具身训练(cross-embodiment training),将来自单臂、双臂、移动操作器等多种机器人平台的数据整合在一个模型中
    • 模型架构
      • 基于流匹配(flow matching,一种扩散模型变体)的动作分块(action chunking)架构,可支持高达 50 Hz 的控制频率
    • 训练策略
      • 预训练/后训练两阶段结构。先在多样大数据上预训练,再用高质量数据微调,从而达到所需的精细控制能力。
        在这里插入图片描述

通过超过一万小时的机器人数据进行预训练,并在多个精细任务中进行微调,包括叠衣服(图2)、清理餐桌、放置餐具、装蛋、组装纸盒和打包购物物品。
在这里插入图片描述

Methods

网络架构

  • π0 模型如图 3 所示,主要由语言模型的 Transformer 主干构成。
    • 根据标准的后融合视觉语言模型(VLM)方案,图像编码器将机器人的图像观测嵌入到与语言标记相同的嵌入空间中。
    • 进一步在此主干基础上增加了特定于机器人任务的输入与输出——即本体感知状态和机器人动作。π0 使用条件流匹配(Conditional Flow Matching)来建模动作的连续分布。流匹配使模型具有高精度和多模态建模能力,特别适合高频率的精细操作任务。
      在这里插入图片描述

架构灵感来源于 Transfusion,该方法通过多个目标训练一个单一的 Transformer,利用流匹配损失监督连续输出的标记,使用交叉熵损失监督离散输出的标记。在此基础上,我们发现对机器人特定的动作与状态标记使用独立的一套权重会提升性能。这种设计类似于专家混合模型(Mixture of Experts)的两专家结构:第一专家处理图像和文本输入,第二专家处理与机器人相关的输入与输出。我们将第二组权重称为“动作专家”。

训练目标

形式上,我们要建模的数据分布为 p ( A t ∣ o t ) p(A_t | o_t) p(Atot),其中 A t = [ a t , a t + 1 , . . . , a t + H − 1 ] A_t = [a_t, a_{t+1}, ..., a_{t+H-1}] At=[at,at+1,...,at+H1] 是未来动作的一个动作块(在我们的任务中,H = 50),而 o t o_t ot 是观测。观测包括多张RGB图像、一个语言指令和机器人的本体感知状态,即
o t = [ I t 1 , . . . , I t n , ℓ t , q t ] o_t = [I^1_t, ..., I^n_t, \ell_t, q_t] ot=[It1,...,Itn,t,qt]
其中 I t i I^i_t Iti 是第 i i i 张图像(每个机器人有 2 或 3 张图像), ℓ t \ell_t t 是语言标记序列, q t q_t qt 是关节角度向量。图像 I t i I^i_t Iti 和状态 q t q_t qt 经过对应的编码器,并通过线性投影映射到与语言标记相同的嵌入空间中。

对于动作块 A t A_t At 中的每个动作 a t ′ a'_t at,我们都有一个对应的动作标记,通过“动作专家”进行处理。训练期间,这些动作标记通过条件流匹配损失进行监督:

L τ ( θ ) = E p ( A t ∣ o t ) , q ( A t τ ∣ A t ) ∥ v θ ( A t τ , o t ) − u ( A t τ ∣ A t ) ∥ 2 L_\tau (\theta) = \mathbb{E}_{p(A_t | o_t), q(A^\tau_t | A_t)} \left\| v_\theta (A^\tau_t, o_t) - u(A^\tau_t | A_t) \right\|^2 Lτ(θ)=Ep(Atot),q(AtτAt)vθ(Atτ,ot)u(AtτAt)2

其中下标表示机器人时间步,上标表示流匹配时间步, τ ∈ [ 0 , 1 ] \tau \in [0, 1] τ[0,1]

近期在高分辨率图像和视频合成中的研究表明,当与简单的线性高斯路径(或最优传输路径)联合使用时,流匹配可获得优异的经验性能。此概率路径形式为:

q ( A t τ ∣ A t ) = N ( τ A t , ( 1 − τ ) I ) q(A^\tau_t | A_t) = \mathcal{N}(\tau A_t, (1 - \tau)I) q(AtτAt)=N(τAt,(1τ)I)

实际中,网络通过以下方式训练:采样随机噪声 ε ∼ N ( 0 , I ) \varepsilon \sim \mathcal{N}(0, I) εN(0,I),计算“加噪动作”

A t τ = τ A t + ( 1 − τ ) ε A^\tau_t = \tau A_t + (1 - \tau) \varepsilon Atτ=τAt+(1τ)ε

并训练网络输出 v θ ( A t τ , o t ) v_\theta (A^\tau_t, o_t) vθ(Atτ,ot) 来匹配去噪向量场

u ( A t τ ∣ A t ) = ε − A t u(A^\tau_t | A_t) = \varepsilon - A_t u(AtτAt)=εAt

“动作专家”采用全双向注意力掩码,确保所有动作标记之间可以相互注意。在训练中,我们从一个偏向低值(即更嘈杂时间步)的 Beta 分布中采样 τ \tau τ

推理

在推理阶段,我们通过将学习到的向量场从 τ = 0 \tau=0 τ=0 积分到 τ = 1 \tau=1 τ=1 来生成动作,起始为随机噪声 A t 0 ∼ N ( 0 , I ) A^0_t \sim \mathcal{N}(0, I) At0N(0,I)。我们使用前向欧拉积分规则:

A t τ + δ = A t τ + δ v θ ( A t τ , o t ) A^{\tau + \delta}_t = A^\tau_t + \delta v_\theta(A^\tau_t, o_t) Atτ+δ=Atτ+δvθ(Atτ,ot)

其中 δ \delta δ 是积分步长,我们实验中使用10个积分步(即 δ = 0.1 \delta = 0.1 δ=0.1)。值得注意的是,推理过程可高效实现——可缓存前缀 o t o_t ot 的注意力键和值,仅需在每个积分步重新计算与动作标记相关的后缀部分。

模型细节

虽然理论上该模型可从头训练或从任意 VLM 主干微调,实践中我们使用 PaliGemma 作为基础模型。PaliGemma 是一个开源的 30 亿参数的 VLM,在规模与性能之间实现了良好平衡。我们为“动作专家”额外添加了 3 亿参数(从头初始化),使总参数量达到 33 亿。

非VLM对照模型。 除了主模型外,我们还训练了一个未使用 VLM 初始化的类似对照模型,用于消融实验。我们称之为 π0-small,其参数量为 4.7 亿,未采用VLM初始化,并针对非 VLM 初始化情境在结构上做了一些小改动,帮助更好地在我们的数据上进行训练。该模型用于评估使用 VLM 初始化带来的收益。

数据收集与训练方案

  • 预训练的目标是让模型接触到多样化的任务,从而习得通用的物理能力;而后训练的目标则是让模型能够熟练地完成具体的下游任务。预训练与后训练阶段所需的数据具有不同特点:

    • 预训练数据集应覆盖尽可能多的任务,并且在每个任务内包含多种行为方式;
    • 后训练数据集则应着重于高质量、流畅、连贯的策略表现,能够有效支持目标任务的执行。
  • 图4中展示了预训练数据混合概况。

    • 开源数据占预训练数据的 9.1%,包括 OXE、Bridge v2 和 DROID
    • 我们自建的数据集占据 9.03 亿时间步
      • 其中 1.06 亿步来自单臂机器人,
      • 7.97 亿步来自双臂机器人。
      • 总共包含 68 个任务,任务设计复杂。例如,“bussing”(收拾桌面)任务涉及将多种餐具、杯子和餐盘放入清理桶,同时将不同种类的垃圾丢入垃圾桶。

在这里插入图片描述

  • 训练配置
    • 动作向量 a t a_t at 和机器人配置向量 q t q_t qt​ 的维度固定为数据集中最大机器人维度(18 维),以容纳两个 6 自由度机械臂、两个夹爪、一个移动底座和一个升降躯干。
    • 对低维度的机器人,我们进行零填充;
    • 若图像数量少于3张,也对缺失图像位进行遮罩。
后训练(任务特化)

后训练阶段使用规模较小、与具体任务相关的数据集对模型进行微调,以便其专精于下游应用。不同任务对数据需求不同,从最简单任务仅需约 5小时数据,到复杂任务可能需要 100小时或以上。

语言与高层策略

对于如“清理桌面”这类需要语义推理和策略规划的复杂任务,我们引入高层策略(high-level policy)对任务进行分解(如将“清理桌面”分解为“捡起餐巾纸”“扔进垃圾桶”等子任务)。由于模型本身支持语言输入,我们可以使用高层VLM模型进行语义推理,其方法类似于 SayCan 等LLM/VLM规划系统。

机器人系统
  • 精细操作数据集包含 7 种机器人配置,涵盖 68 个任务
    在这里插入图片描述
机器人类型配置描述
UR5e单臂,7自由度,带夹爪。配有一个腕部摄像头和一个肩部摄像头(共2张图像)。配置与动作空间维度为7。
Bimanual UR5e两个UR5e机械臂,三张图像,配置与动作空间为14维。
Franka单臂,8维配置与动作空间,配有2张图像。
Bimanual Trossen2个6自由度的Trossen ViperX机械臂,ALOHA架构,配有两个腕部摄像头和一个底部摄像头,14维配置与动作空间。
Bimanual ARX & AgileX2个6自由度机械臂(ARX或AgileX),三张图像,14维空间。因运动学相似归为同一类。
Mobile Trossen & ARXMobile ALOHA平台,2个6自由度机械臂(ARX或Trossen ViperX),配移动底座(增加2维动作),总共14维配置 + 16维动作。3张图像。
Mobile Fibocom2个6自由度ARX机械臂,带全向移动底座,底座增加3个自由度(2平移 + 1旋转),总共14维配置 + 17维动作。

数据集比例中看起来是 Bimanual ARX 占了大头

Experiments

基础模型测试(开箱即用)

  • 与以下模型对比:
    • OpenVLA:7B参数,训练于OXE。
    • Octo:93M参数,基于扩散模型生成动作。
    • π0-small:未进行VLM初始化的小模型。
    • π0 parity:使用与baseline相同训练步数的π0版本(160k步)。
    • OpenVLA-UR5e:仅在UR5e任务上精调过的版本。

在这里插入图片描述

  • 图7显示,即使是 parity 版本的 π0 也显著优于所有 baseline,完整训练的 π0 则有压倒性优势。OpenVLA 因不支持动作块(action chunk)而效果不佳;Octo 表现稍好但表示能力有限
    在这里插入图片描述
跟随语言指令

评估 π0 与 π0-small 在语言指令下的跟随能力,任务包括:

  • 清理桌面
  • 摆放餐具
  • 杂货打包
    在这里插入图片描述

我们设置三种提示条件:

  • flat:只给出整体任务指令
  • human:中间步骤由人工专家提供(如“拿起餐巾纸并扔进垃圾桶”)
  • HL:由高层 VLM 策略生成中间语言指令

结果如图9所示:π0 明显优于 π0-small,特别是在 human 和 HL 条件下。说明 VLM 预训练显著增强了语言理解与自主任务执行能力。
在这里插入图片描述

学习全新精细操作任务
任务名称描述难度
叠碗(UR5e)叠放不同尺寸碗
叠毛巾与叠T恤相似
放保鲜盒进微波炉包含新对象“微波炉”
更换纸巾卷无预训练相似经验
抽屉收纳(Franka)打开/关闭抽屉并整理物品

比较以下方法:

  • π0(预训练+精调)
  • π0 从头训练
  • OpenVLA
  • Octo
  • ACT 与 Diffusion Policy(专为小数据精细操作任务设计)

结果如图11:π0 在所有任务上整体表现最佳,尤其在预训练任务相似的场景中效果显著。对于如“保鲜盒微波炉”这类任务,π0在仅1小时训练下即可大幅优于其他方法。
在这里插入图片描述

  • 微调还是能带来很大提升
    在这里插入图片描述

Conclusion

  • 提出了 π0 的训练框架,通过海量预训练和精调,可执行多阶段、需要策略与精细操作的任务。其关键特点包括:
    • 结合 Internet 规模的 VLM 预训练与流匹配方法表达高频动作块;
    • 使用超过 1 万小时数据、涵盖 7 种机器人配置与 68 个任务;
    • 精调覆盖 20 多个任务,超越多种现有方法;
    • 类似 LLM 的训练流程,预训练提供知识,精调对齐模型策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/79951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java详解LeetCode 热题 100(17):LeetCode 41. 缺失的第一个正数(First Missing Positive)详解

文章目录 1. 题目描述2. 理解题目3. 解法一:排序法(不满足题目要求)3.1 思路3.2 Java代码实现3.3 代码详解3.4 复杂度分析3.5 不足之处 4. 解法二:哈希表法4.1 思路4.2 Java代码实现4.3 代码详解4.4 复杂度分析4.5 不足之处 5. 解…

第九讲 | 模板进阶

模板进阶 一、非类型模板参数1、模板参数的分类2、应用场景3、array4、注意 二、模板的特化1、概念2、函数模板特化3、类模板特化(1)、全特化:全部模板参数都特化成具体的类型(2)、偏/半特化:部分模板参数特…

机器学习——朴素贝叶斯练习题

一、 使用鸢尾花数据训练多项式朴素贝叶斯模型,并评估模型 代码展示: from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split from sklearn.naive_bayes impor…

气胸复查重点提问清单 ,怎样平衡检查必要性和辐射影响?

气胸复查重点提问清单(打印版) 以下是带孩子复查气胸时建议与医生沟通的重点问题,分为不同方面,可打印后随身携带,逐项确认。 术后康复情况相关 1. 肺目前复张情况如何?胸片显示肺是否已经完全展开&…

Linux相关概念和易错知识点(40)(HTML资源交互、网页管理、搜索引擎)

目录 1.HTML资源交互 (1)媒体加载 (2)静态页面跳转 (3)动态页面 (4)GET和POST传参的区别 2.网页管理 (1)网页的权限管理 (2)临…

使用 QGIS 插件 OpenTopography DEM Downloader 下载高程数据(申请key教程)

使用 QGIS 插件 OpenTopography DEM Downloader 下载高程数据 目录 使用 QGIS 插件 OpenTopography DEM Downloader 下载高程数据📌 简介🛠 插件安装方法🌍 下载 DEM 数据步骤🔑 注册 OpenTopography 账号(如使用 Cope…

【通知】2025元宇宙数字人设计大赛启动,大赛线上报名阶段开启!

元宇宙数字人设计大赛火热报名中!欢迎大家踊跃报名参与! 元宇宙数字人设计大赛报名活动正在如火如荼进行中,欢迎各位对元宇宙数字人感兴趣的同学与老师踊跃参与报名! 元宇宙数字人设计大赛承接原大中华区VR盟主选拔赛&#xff0c…

Kaamel隐私合规洞察:Temu在韩被罚事件分析

Kaamel隐私合规与数据安全团队分析报告 韩国个人信息保护委员会(PIPC)对中国电子商务巨头Temu处以巨额罚款,原因是其严重违反了用户数据保护法律 。核心违规行为包括未经适当披露或用户同意非法跨境传输数据、未能指定当地代表、账户注销流程…

查询公网IP地址的方法:查看自己是不是公网ip,附内网穿透外网域名访问方案

本地搭建服务并提供互联网连接时,较为传统的方法是使用公网IP地址。因此,如何查询本地自己是不是公网IP,是必须要掌握的一种技巧。当面对确实无公网IP时,则可以通过内网穿透方案,如nat123网络映射工具,将本…

Redis特性与应用

1、分布式缓存与redis 2、redis数据结构和客户端集成 3、缓存读写模式与数据一致性 本地缓存:Hash Map、Ehcache、Caffeine、Google Guava 分布式缓存:Memcached、redis、Hazelcast、Apache ignite redis:基于键值对内存数据库,支…

Top-p采样:解锁语言模型的创意之门

Top - p采样 是什么:核采样:排序,累计到0.7,随机选择 在自然语言生成和大规模语言模型推理中,Top - p采样(又叫核采样,Nucleus Sampling)是一种基于累积概率的采样策略。 Top - p介…

Gitee DevSecOps:军工软件研发的智能化变革引擎

在数字化战争时代背景下,军工软件的研发效率与质量直接关乎国防建设进程。传统军工软件开发面临依赖管理混乱、版本变更失控、团队协作低效等系统性难题,严重制约着"软件工厂"理念的落地。Gitee DevSecOps平台以智能版本管理为突破口&#xff…

芋道项目,商城模块数据表结构

一、需求 最近公司有新的业务需求,调研了一下,决定使用芋道(yudao-cloud)框架,于是从github(https://github.com/YunaiV/yudao-cloud)上克隆项目,选用的是jdk17版本的。根据项目启动手册&#…

ES常识9:如何实现同义词映射(搜索)

在 Elasticsearch(ES)中实现同义词映射(如“美丽”和“漂亮”),核心是通过 同义词过滤器(Synonym Token Filter) 在分词阶段将同义词扩展或替换为统一词项,从而让搜索时输入任意一个…

Web安全渗透测试基础知识之SQL注入篇

一、SQL注入基础理论 1.1 什么是SQL注入 SQL注入是一种常见的Web安全问题,攻击者通过在Web应用程序的输入字段中插入恶意的SQL语句,改变原本SQL查询的逻辑,实现非法获取数据、篡改数据、执行系统命令等操作。这种情况产生的根本原因在于应…

JVM方法区核心技术解析:从方法区到执行引擎

方法区 方法区的内部结构 在经典方法区设计中,主要存储以下核心数据内容: 一、类型信息 方法区维护的类型信息包含以下要素: 类全称标识 类名称(含完整包路径)直接父类的完全限定名(包含完整包路径&am…

【MyBatis插件】PageHelper 分页

前言 在开发 Web 应用时,我们经常需要处理海量数据的展示问题。例如,在一个电商平台上,商品列表可能有成千上万条数据。如果我们一次性将所有数据返回给前端,不仅会导致页面加载缓慢,还会对数据库造成巨大压力。为了解…

springboot+vue实现在线书店(图书商城)系统

今天教大家如何设计一个图书商城 , 基于目前主流的技术:前端vue,后端springboot。 同时还带来的项目的部署教程。 视频演示 在线书城 图片演示 一. 系统概述 商城是一款比较庞大的系统,需要有商品中心,库存中心,订单…

OPC UA + ABP vNext 企业级实战:高可用数据采集框架指南

🚀📊 OPC UA ABP vNext 企业级实战:高可用数据采集框架指南 🚀 📑 目录 🚀📊 OPC UA ABP vNext 企业级实战:高可用数据采集框架指南 🚀一、前言 🎯二、系统…

Oracle统计信息收集时的锁持有阶段

Oracle统计信息收集时的锁持有阶段 1 准备阶段(共享模式锁) 锁类型:对象级共享锁(S锁) 持续时间:通常1-5秒 主要操作: 验证对象存在性和权限检查统计信息首选项设置确定采样方法和并行度 监…