Skip to content

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

Domain 06
Generative AI
Role · kind
Models and algorithmsModel
Level
Advanced

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

See it on the full map

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

  1. Q01

    What property must every layer of a normalizing flow have?

    Show answer

    A: It must be invertible

Go deeper