Tutorials › Flow Matching

Chapter 1 — The data landscape

Captain Obvious wants to let you know that images are made of pixels and each pixel can be seen as a separate dimension in a multidimensional space. But as human mortals, we'll have to settle for a 2D visualization, where the axes indicate the pixel intensities in a 2-pixel image.

The blue cloud represents a probability density. Bright regions are more likely to contain meaningful images (hover over x1x_1, x1x_1^{\prime}, x1x_1^{\prime\prime}), and dark regions are full of noise (hover over x1x_1^{\prime\prime\prime}).

We'll call the density pdatap_\text{data} because it reflects the true (but unknown) density of the data. The ultimate goal of generative modeling is to learn pdatap_\text{data} from a set of training images. That way, at inference time, we can generate new ones, unseen during training.

Older methods like Generative Adversarial Networks (GANs) attempted to learn pdatap_\text{data} directly, but their output quality suffered. The issue is — this density is extremely complex to learn in one go. It literally makes a judgment about every possible combination of pixels.

pdatap_{\mathrm{data}}
Sample x₁ — Louie.
Sample x₁′ — Julie.
Sample x₁″ — Julie 2.
Sample x₁′′′ — heavily noised frame (noise prior).
intensity of pixel 0\text{intensity of pixel 0}intensity of pixel 1\text{intensity of pixel 1}
1 / 14