A class of generative models that transform a simple distribution into a complex one through invertible mappings.Normalizing flows are a class of generative models that transform a simple probability distribution, like a Gaussian, into a complex one through a sequence of invertible mappings. They are used in machine learning to model and sample from high-dimensional data distributions, such as images, audio, or molecular structures. The key property is that the transformations are invertible and differentiable, allowing exact likelihood computation.
The concept was introduced in 2015 by Danilo Rezende and Shakir Mohamed, who built on earlier work on nonlinear independent component analysis and density estimation. It gained popularity with the development of efficient architectures like RealNVP (2016) and Glow (2018).
A normalizing flow starts with a simple base distribution (e.g., a multivariate Gaussian) and applies a series of invertible functions, each with a tractable Jacobian determinant. By the change of variables formula, the probability density of the transformed data can be computed exactly. Training involves adjusting the parameters of these transformations to maximize the likelihood of the observed data. Sampling is done by drawing from the base distribution and passing it through the flow.
Normalizing flows are used in density estimation, anomaly detection, and generative modeling, including generating realistic images, audio synthesis, and designing new molecules in drug discovery.
Normalizing flows can be used to compute the exact likelihood of a dataset, which is rare among generative models—most others, like GANs, only provide implicit distributions.












