π0: A Vision-Language-Action Flow Model for General Robot Control, 2024
RT-2 中将动作离散化为 256 个离散 token
- 缺点:精度受限、动作生硬
π0 通过 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) = E_{p(A_t|o_t),q(A_t^\tau|A_t)} \| v_\theta(A_t^\tau,o_t) - u(A_t^\tau|A_t) \|^2 Lτ(θ)=Ep(At∣ot),q(Atτ∣At)∥vθ(Atτ,ot)−u(Atτ∣At)∥2
- 其中 t 表示机器人的时间步,τ 表示 flow matching 中的时间步
- 加噪动作:A_t\^τ= τ A_t + (1-τ) ε
- 目标速度场: u = A t − ε u = A_t - ε u=At−ε
- ε 是高斯噪声
这个公式对比 Flow Matching 中的 公式 (9)
- A t A_t At 对应公式 (9) 中的目标数据 x 1 x_1 x1,
- A t τ A_t^\tau Atτ 对应公式 (9) 中的中间数据 x, 是真实动作块 A t A_t At 在时间 τ 时刻被噪声 "污染" 后的版本
训练目标是得到一个去噪器:学会了如何将任何噪声动作块"拉回"到真实动作流形上
推理时,从随机噪声 A t 0 ~ N ( 0 , I ) A_t^0~ N(0, I) At0~N(0,I) 开始
A t τ + δ = A t τ + δ v θ ( A t τ , o t ) A_t^{\tau+\delta} = A_t^{\tau} + \delta v_\theta(A_t^\tau, o_t) Atτ+δ=Atτ+δvθ(Atτ,ot)
- 其中 δ 是步长
RT-2 试图端到端解决规划和控制,而 π 0 π_0 π0 也可以作为一个可插拔、独立的技能执行模块(结合一个高层的规划 VLM) - 好处:增加系统可解释性
结论:
- 预训练模型有一些 zero-shot 的能力,但是复杂任务需要在高质量数据上微调
- 如果没有预训练,模型会比较脆弱,不会从失败中恢复
- 如果没有微调,模型经常无法完成流畅的策略