The document provides an introduction to normalizing flows, detailing how these invertible neural networks can transform data from a latent space to a data space and vice versa. It categorizes normalizing flows into several types, such as elementwise bijections, linear flows, and coupling flows, while also discussing practical considerations and limitations related to their implementation. Additionally, it covers applications in analyzing inverse problems and generative modeling, particularly highlighting the generative flow with invertible 1x1 convolutions (GLOW).