Flow-matching
Loading figure…
Flow-matching is a training method for generative models that learns a continuous velocity field carrying samples from a noise distribution to the data distribution. Think of it like diffusion, except instead of learning to denoise across many discrete steps, you directly regress a vector field that describes how a point should move at each moment in time.
The setup: pick a data sample x1 and a noise sample x0, then define an interpolation path between them, commonly the straight line x_t = (1-t)*x0 + t*x1 for t in [0,1]. The target velocity along that line is just x1 - x0, a constant. Your network v(x_t, t) is trained with a plain MSE loss to predict that velocity. At inference you start from noise and integrate the learned field with an ODE solver, so a 10-step Euler integration can produce a sample where diffusion might need 50 or more.
Two properties make it attractive to practitioners:
- The loss is a simple regression target, no variational bounds or noise-schedule tuning.
- Straight-line paths (rectified flow) make trajectories nearly linear, so few solver steps suffice.
In the Orca context, flow-matching is a natural fit for the task-specific decoders that map the shared latent back into concrete outputs. Predicting a future image or a robot action means generating a structured, continuous target from a latent condition, which is exactly the conditional generation problem flow-matching solves. The velocity network is conditioned on the world latent, and the same recipe covers both the image-prediction and action-generation heads without changing the loss.
Flow-matching now underpins several image and video generators, so it is worth recognizing when a paper mentions a "velocity" or "vector field" objective.