Token LabBuscar

← IA física
PHYSICAL AI / 7 OF 8

07 · π₀ and continuous action flow matching

Distinguish token prediction, diffusion noise prediction and a continuous velocity field.

Prerequisites: VLA interfaces, differential equations and conditional generation.

Technical posts currently have English and Chinese editions. This locale displays the English article with localized navigation.

Understand the mechanism

π₀ connects vision-language representations to a flow-based action model. To understand flow matching, begin with a declared interpolation between noise and data and learn its velocity. Time conventions differ across implementations: swapping which endpoint is data changes the target sign. This lesson uses a simple linear path for derivation; it is not a verbatim implementation specification for π₀. Continuous generation still requires numerical integration and a robot-specific action adapter.

Text / 原始公式
x_t = (1−t)ε + t·a,  t ∈ [0,1]
u_t = d x_t/dt = a − ε
L = E[‖vθ(x_t,t,o) − (a−ε)‖²]
x_next = x_t + Δt·vθ(x_t,t,o)
Study guide & lesson outlineLEARNING CONTRACT

Understand → implement → investigate

Goal: explain the mechanism in this lesson, reproduce one example and test a failure case. Reading alone does not mark mastery.

  • Understand: state assumptions, shapes/units and a counterexample.
  • Implement: reproduce a numerical example and inspect boundaries.
  • Investigate: compare one alternative under a matched budget.

Mechanism map & worked derivation

Noise + visual-language condition → Predict conditional velocity → Integrate action trajectory → Decode and execute bounded prefix
Original schematic; read the steps from top to bottom. SVG ↓
Symbols and assumptions
SymbolMeaning
ε, aNoise endpoint and clean action endpoint
vθ, tLearned conditional velocity and interpolation time
  1. Take ε and At , x_ and the target velocity is 4.
  2. One Euler step of with the exact velocity reaches at This is a straight-path toy, not a learned-policy result.
  3. For a learned nonlinear field, compare 4, 8 and 16 integration steps under equal initial noise. Record action drift and runtime; more steps do not repair a poorly learned field.
Experiment checkpoint

Implement the analytical straight-path example first, including reversed-time tests. Then specify an integration-step ablation for a real model with fixed seeds and deadlines. Keep toy and measured outputs separate.

Original interview exercises & analysis

Answer aloud before revealing the analysis. Add assumptions, a counterexample and a test you would run.

Is flow matching just a single deterministic action?

The field can be deterministic conditional on its input while different initial noise samples produce different actions. Distribution quality still depends on training.

What is a fair comparison with action tokens?

Match data, embodiment, observation history and wall-clock budget; report action precision, success and latency. Different backbone sizes confound a head-only comparison.

Read the primary sources

π₀: A Vision-Language-Action Flow Model ↗ · arXiv PDF ↗

Original Token Lab explanations and synthetic calculations; not measured robot performance. Source links checked 2026-10-25. Unversioned arXiv links may change; record a version for reproduction.

MATHEMATICAL REVIEW · 2026-10-26

Assumptions, implementation & acceptance

t is dimensionless interpolation time. vθ has action-coordinate units per interpolation time, not physical robot velocity. The squared-error optimum is E[a−ε|x_t,t,o]; generative x_next is not the next physical robot state.

Formula conditions, units and worked arithmetic reviewed. The implementation isolates one numerical mechanism; it does not train a policy or control real hardware.

Before running: predict a boundary case

4 is velocity in normalized action/interpolation-time coordinates, not 4 m/s. This is one paired target.

Hint: isolate the assumption

Keep the baseline input fixed, change one parameter or boundary, and compare both the numerical result and the claimed units. A passing example verifies this fixture only.

Minimal executable example

Save the example and linked modules in one folder. Use Node.js 22 or newer, then run node flow-matching-pi0.mjs. No third-party runtime dependencies.

const solve=()=>{
const noise=-1, action=3, t=.25, dt=.1;
const xt=(1-t)*noise+t*action, target=action-noise;
return [xt,target,xt+dt*target];
};
const actual=solve();
const expected=[0,4,0.4];
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
Reference output — reveal after predicting
[
  0,
  4,
  0.4
]

Test and transfer

4 is velocity in normalized action/interpolation-time coordinates, not 4 m/s. This is one paired target.

Record input, code version, expected result and observed result in the notebook below. Then construct a counterexample that violates the assumption above and explain why the original conclusion no longer follows.

Download complete kit (.tar.gz) · Complete reference kit and regression checks

Predict, test and keep evidence

Before revealing an answer, predict one result. After the exercise, record the discrepancy and a transfer test. Saved locally across language editions.

Open notebook / export / clear →

The mathematical review scope is recorded per lesson. It does not establish empirical paper reproduction; report suspected errors in your notes. Review scope