当前位置: 首页 > article >正文

论文阅读笔记——π0: A Vision-Language-Action Flow Model for General Robot Control

π0 论文

π 0 π_0 π0 是基于预训练的 VLM 模型增加了 action expert ,并结合了 flow matching 方法训练的自回归模型,能够直接输出模型的 action chunk(50)。

在这里插入图片描述

  • π0 采用 Flow Matching 技术来建模连续动作的分布,这一创新使模型能够精确控制高频率的灵巧操作任务,同时具备处理多模态数据的能力。
  • 架构受到 Transfusion 的启发 :通过单一 Transformer 处理多目标任务,其中连续输出由流匹配损失监督,离散输出则由交叉熵损失监督。π0 在此基础上进行了针对性优化,特别为机器人领域的动作和状态 tokens 设计了一组独立的动作专家(Transformer)模块。
  • 在推理阶段,π0 采用了高效的执行策略:新增的动作专家模块需要进行 10 次 flow matching 去噪迭代,而基础视觉语言模型(PaliGemma)仅需执行一次前向传播即可生成输出。
    在这里插入图片描述输入
  • PaliGemma 接受的图像 [ I t 1 , … … , I t n ] [I_t^1 ,……, I_t^n] [It1……Itn] 和语言指令 l t l_t lt
  • 输入噪声 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] 未来动作的 action chunk(50)。
  • 自身状态 q t q_t qt ,通过线性层映射到 embedding 维度。

训练

  • 加噪:对于每一个 action chunk 中的每一个动作 a t a_t at,引入噪声 ϵ \epsilon ϵ ,生成噪声 action, A t τ = τ A t + ( 1 − τ ) ϵ A_t^\tau =\tau A_t +(1-\tau)\epsilon Atτ=τAt+(1τ)ϵ (flow matching 的条件概率分布) 。
  • 向量场预测:将噪声动作 A t τ A_t^{\tau} Atτ 和观测值 o t o_t ot 输入动作专家,预测一个向量场 ν θ ( A t τ , o t ) \nu_{\theta}(A_t^{\tau},o_t) νθ(Atτ,ot)
  • 优化:flow matching 损失函数训练模型 。 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(\mathbf{A}_t|\mathbf{o}_t),q(\mathbf{A}_t^\tau|\mathbf{A}_t)}||\mathbf{v}_\theta(\mathbf{A}_t^\tau,\mathbf{o}_t)-\mathbf{u}(\mathbf{A}_t^\tau|\mathbf{A}_t)||^2 Lτ(θ)=Ep(Atot),q(AtτAt)∣∣vθ(Atτ,ot)u(AtτAt)2

输出:使用与 H 个噪声动作相对应的Transformer输出,使用线性投影将其解码为 ν θ ( A t τ , o t ) \nu_{\theta}(A_t^{\tau},o_t) νθ(Atτ,ot)

推理时,真实动作序列通过 Euler 步进法进行恢复: A t τ + δ = A t τ + δ ν θ ( A t τ , o t ) A_t^{\tau+\delta} = A_t^{\tau} + \delta \nu_{\theta}(A_t^{\tau},o_t) Atτ+δ=Atτ+δνθ(Atτ,ot),其中 δ = 0.1 \delta =0.1 δ=0.1,推理频率为 50 Hz。

  • 注意力掩码: 采用三块注意力掩码,图像和语言提示作为第一块, q t q_t qt作为第二块,噪声化动作 A t τ A_t^{\tau} Atτ作为第三块。图像和语言块内部互相可见,但不能看到机器人相关变量( q t q_t qt A t τ A_t^{\tau} Atτ),可以看到自身以及图像和语言块,但不能看到 A t τ A_t^{\tau} Atτ A t τ A_t^{\tau} Atτ可以看到所有块,但靠前的 token 看不到靠后的 token。
  • 时间步采样: 流匹配的时间步 τ \tau τ从 beta 分布中采样,倾向于采较低的时间步(更高的噪声级别),这帮助模型更好地学习动作分布。

数据集

预训练混合数据由 OXE 数据集和 π 数据集的部分子集构成。
在这里插入图片描述

性能表现

灵巧操作任务对机器人的适应能力提出了极高要求,特别是当这些任务与预训练数据有差异时,模型是否能够通过微调快速学习新行为成为关键。
在这里插入图片描述
实验结果表明,微调后的 π 0 \pi_0 π0 在所有任务中均表现优于其他方法,包括 OpenVLA、Octo、ACT和 Diffusion Policy。特别是在纸巾更换和抽屉整理等困难任务中, π 0 \pi_0 π0 通过其预训练的通用能力和灵活的微调策略展现了显著优势。而在“简单”任务如叠毛巾中, π 0 \pi_0 π0 的性能更是大幅超越未经过预训练的模型,显示了预训练数据的重要作用。

复杂任务表现在这里插入图片描述


http://www.kler.cn/a/580248.html

相关文章:

  • 【华三】STP端口角色与状态深度解析
  • 游戏引擎学习第149天
  • [数据结构]堆详解
  • TDengine 接入帆软 BI 工具
  • 深度学习算法实战——语音识别(主页有源码)
  • Python 爬虫实战案例 - 获取拉勾网招聘职位信息
  • RuleOS:DApp开发的“破局者”,区块链创新的“加速器
  • AI自动化编程初探
  • Python----数据可视化(Seaborn三:绘图二)
  • 如何创建数据库并添加数据,附带一些查询方法
  • IntelliJ IDEA 中配置 Groovy
  • 【机器学习chp12】半监督学习(自我训练+协同训练多视角学习+生成模型+半监督SVM+基于图的半监督算法+半监督聚类)
  • 代码随想录算法训练营第八天|Leetcode 151.翻转字符串里的单词 卡码网:55.右旋转字符串 字符串总结 双指针回顾
  • 使用Mockito实现单元测试
  • 国产编辑器EverEdit - 脚本(解锁文本编辑的无限可能)
  • 自然语言处理入门3——Embedding和神经网络加速计算
  • 云计算网络学习笔记整理
  • flutter EventBus 的使用介绍
  • c# 使用Md5加密字符串
  • Docker篇