论文阅读笔记——π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+H−1] 未来动作的 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(At∣ot),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 的性能更是大幅超越未经过预训练的模型,显示了预训练数据的重要作用。