Normalizing Flows
Generative models built from a chain of reversible transformations that turn simple noise into data and back, giving exact probabilities.
Also flow models · RealNVP · Glow · invertible networks
Rezende and Mohamed, 2015; Dinh et al. (RealNVP), 2016
Take a ball of clay and knead it step by step into the shape of a vase. Because every step can be undone, you can also turn any vase back into the original ball and know exactly how unusual its shape was.
Where it fits
+All relationships as a list
How it works
Most generative models give you samples but only approximate probabilities (VAE) or none at all (GAN). A normalizing flow gives both, exactly.
The idea: start from simple noise (a bell curve) and apply a sequence of invertible transformations, each stretching and bending space a little, until the noise looks like the data. Because every step can be undone:
- Generate: sample noise, run it forward.
- Evaluate: take a real data point, run it backward to noise, and compute exactly how likely it is, keeping track of how much each step stretched space.
Designing layers that are expressive, invertible and cheap to evaluate is the hard part; coupling layers transform half of the values using the other half, which is easy to reverse. Flows remain useful where exact likelihoods matter, while diffusion models now lead on image quality.
Everyday use cases
- Case 01
Exact likelihoods
Scoring how probable a data point is, for anomaly detection or scientific modeling.
- Case 02
Physics and chemistry
Sampling configurations of physical systems.
Strengths, weaknesses and when to use it
Strengths
- Exact likelihood and exact inversion between data and latent space.
Weaknesses
- Invertibility constraints limit architecture; sample quality on images lags diffusion models.
When to use itWhen you need exact probabilities or invertibility, not just pretty samples.
Compare with
Check yourself
- Q01
What property must every layer of a normalizing flow have?
Show answer
A: It must be invertible