A diffusion model's noise schedule — how much noise to add at each of dozens or hundreds of steps — is its own small research problem, tuned separately from the model itself. What if the path from noise to data were just... a straight line?
Drag along the path. The velocity readout never changes — a straight line has exactly one slope, everywhere along it, which is the entire simplification this chapter is built on.
Flow matching defines the path between a noise sample and a data sample as a straight line, and trains a model to predict that line's velocity:
- — the point on the path between noise and data at time .
- — the noise sample, the path's starting point (at ).
- — the data sample, the path's endpoint (at ).
- — the time parameter, ranging from (pure noise) to (data).
- — the velocity along the path: the quantity a neural network is trained to predict.
- Velocity is constant along the path
It doesn't depend on at all — it's the same number at as at .
- Trained as a plain regression target
A neural network is trained to regress directly onto for many sampled pairs — a plain regression target, not a multi-step noise-removal problem.
- No schedule, no reverse-process approximation
There's no schedule to design and no approximation of a reverse diffusion process — just "given where you are and what time it is, which way is data?"
A single Euler step and fifty small ones land in the exact same place. That's not true for a curved path (diffusion's reverse process genuinely curves, which is why it needs many small steps to trace accurately) — it's only true because this path is perfectly straight, with zero curvature to approximate away.
Three independent (noise, data) pairs, evaluated at :
- Pair (-2, 5)
. Velocity .
- Pair (3, -7)
. Velocity — a different pair, a completely different constant velocity.
- Pair (0, 4)
. Velocity .
Find the (x0, x1) pair, among the three candidates, whose position at t = 0.5 is negative.
Each individual pair's path is a straight line with one velocity — but a real flow-matching model sees many noise-data pairs during training, and at a given different pairs' paths can pass nearby with different velocities. What the model actually learns is the average velocity across every pair consistent with being at at time , which is no longer perfectly straight in general — the simplification this chapter isolates is the per-pair target, not the learned field as a whole. The next chapter asks what happens if, instead of one endpoint reached by integrating many small steps, a model is trained to jump straight from anywhere on a path to its endpoint in one shot.