Awesome Normalizing Flows
Awesome resources on normalizing flows.
Transferable Boltzmann Generatorsby Klein, Noé Boltzmann Generators, a machine learning method, generate equilibrium samples of molecular systems by…
FInC Flow: Fast and Invertible k×k Convolutions for Normalizing Flowsby Kallapa, Nagar et al. propose a k×k convolutional layer and Deep Normalizing Flow architecture which i) has a fast…
Invertible Monotone Operators for Normalizing Flowsby Ahn, Kim et al. This work proposes the monotone formulation to overcome the issue of the Lipschitz constants in…
ManiFlow: Implicitly Representing Manifolds with Normalizing Flowsby Postels, Danelljan et al. The invertibility constraint of NFs imposes limitations on data distributions that reside…
Graphical Normalizing Flowsby Wehenkel, Louppe This work revisits coupling and autoregressive transformations as probabilistic graphical models…
Multi-scale Attention Flow for Probabilistic Time Series Forecastingby Feng, Xu et al. Proposes a novel non-autoregressive deep learning model, called Multi-scale Attention Normalizing…
Adaptive Monte Carlo augmented with normalizing flowsby Gabrié, Rotskoff et al. Markov Chain Monte Carlo (MCMC) algorithms struggle with sampling from high-dimensional,…
E(n) Equivariant Normalizing Flowsby Satorras, Hoogeboom et al. Introduces equivariant graph neural networks into the normalizing flow framework which…
Efficient Bayesian Sampling Using Normalizing Flows to Assist Markov Chain Monte Carlo Methodsby Gabrié, Rotskoff et al. Normalizing flows have potential in Bayesian statistics as a complementary or alternative…
CInC Flow: Characterizable Invertible 3x3 Convolutionby Nagar, Dufraisse et al. Seeks to improve expensive convolutions. They investigate the conditions for when 3x3…
Orthogonalizing Convolutional Layers with the Cayley Transformby Trockman, Kolter Parametrizes the multichannel convolution to be orthogonal via the Cayley transform…
Improving Normalizing Flows via Better Orthogonal Parameterizationsby Goliński, Lezcano-Casado et al. Parametrizes the 1x1 convolution via the exponential map and the Cayley map. They…
Multivariate Probabilistic Time Series Forecasting via Conditioned Normalizing Flowsby Rasul, Sheikh et al. Models the multi-variate temporal dynamics of time series via an autoregressive deep learning…
Haar Wavelet based Block Autoregressive Flows for Trajectoriesby Bhattacharyya, Straehle et al. Introduce a Haar wavelet-based block autoregressive model.
AdvFlow: Inconspicuous Black-box Adversarial Attacks using Normalizing Flowsby Dolatabadi, Erfani et al. An adversarial attack method on image classifiers that use normalizing flows. [Code]
SurVAE Flows: Surjections to Bridge the Gap between VAEs and Flowsby Nielsen, Jaini et al. They present a generalized framework that encompasses both Flows (deterministic maps) and…
Why Normalizing Flows Fail to Detect Out-of-Distribution Databy Kirichenko, Izmailov et al. This study how traditional normalizing flow models can suffer from out-of-distribution…
Equivariant Flows: exact likelihood generative learning for symmetric densitiesby Köhler, Klein et al. Shows that distributions generated by equivariant NFs faithfully reproduce symmetries in the…
The Convolution Exponential and Generalized Sylvester Flowsby Hoogeboom, Satorras et al. Introduces exponential convolution to add the spatial dependencies in linear layers as…
iUNets: Fully invertible U-Nets with Learnable Upand Downsamplingby Etmann, Ke et al. Extends the classical UNet to be fully invertible by enabling invertible, orthogonal upsampling…
Normalizing Flows with Multi-Scale Autoregressive Priorsby Mahajan, Bhattacharyya et al. Improves the representational power of flow-based models by introducing channel-wise…
Flows for simultaneous manifold learning and density estimationby Brehmer, Cranmer Normalizing flows that learn the data manifold and probability density function on that manifold.…
Gaussianization Flowsby Meng, Song et al. Uses a repeated composition of trainable kernel layers and orthogonal transformations. Very…
Gradient Boosted Normalizing Flowsby Giaquinto, Banerjee Augment traditional normalizing flows with gradient boosting. They show that training multiple…
Modeling Continuous Stochastic Processes with Dynamic Normalizing Flowsby Deng, Chang et al. They propose a normalizing flow using differential deformation of the Wiener process. Applied to…
Stochastic Normalizing Flowsby Hodgkinson, Heide et al. Name clash for a very different technique from the above SNF: an extension of continuous…
Stochastic Normalizing Flows (SNF)by Wu, Köhler et al. Introduces SNF, an arbitrary sequence of deterministic invertible functions (the flow) and…
Training Normalizing Flows with the Information Bottleneck for Competitive Generative Classificationby Ardizzone, Mackowiak et al. They introduce a class of conditional normalizing flows with an information bottleneck…
Invertible Generative Modeling using Linear Rational Splinesby Dolatabadi, Erfani et al. A successor to the Neural spline flows which features an easy-to-compute inverse.
Normalizing Flows for Probabilistic Modeling and Inferenceby Papamakarios, Nalisnick et al. A thorough and very readable review article by some of the guys at DeepMind involved…
Unconstrained Monotonic Neural Networksby Wehenkel, Louppe UMNN relaxes the constraints on weights and activation functions of monotonic neural networks by…
Normalizing Flows: An Introduction and Review of Current Methodsby Kobyzev, Prince et al. Another very thorough and very readable review article going through the basics of NFs as…
Noise Regularization for Conditional Density Estimationby Rothfuss, Ferreira et al. Normalizing flows for conditional density estimation. This paper proposes noise…
MintNet: Building Invertible Neural Networks with Masked Convolutionsby Song, Meng et al. Creates an autoregressive-like coupling layer via masked convolutions which is fast and efficient…
Densely connected normalizing flowsby Grcić, Grubišić et al. Creates a nested coupling structure to add more expressivity to standard coupling layers.…
Invertible Convolutional Flowby Karami, Schuurmans et al. Introduces convolutional layers that are circular and symmetric. The layer is invertible…
Invertible Convolutional Networksby Finzi, Izmailov et al. Showcases how standard convolutional layers can be made invertible via Fourier…
Neural Spline Flowsby Durkan, Bekasov et al. Uses monotonic ration splines as a coupling layer. This is currently one of the state of the…
Graph Normalizing Flowsby Liu, Kumar et al. A new, reversible graph network for prediction and generation. They perform similarly to message…
Fast Flow Reconstruction via Robust Invertible n x n Convolutionby Truong, Luu et al. Seeks to overcome the limitation of 1x1 convolutions and proposes invertible nxn convolutions…
Integer Discrete Flows and Lossless Compressionby Hoogeboom, Peters et al. A normalizing flow to be used for ordinal discrete data. They introduce a flexible…
Block Neural Autoregressive Flow) by Cao, Titov et al. Introduces (B-NAF), a more efficient probability density approximator. Claims to be competitive…
MaCow: Masked Convolutional Generative Flowby Ma, Kong et al. Introduces a masked convolutional generative flow (MaCow) layer using a small kernel to capture…
Emerging Convolutions for Generative Normalizing Flowsby Hoogeboom, Berg et al. Introduces autoregressive-like convolutional layers that operate on the channel and spatial…
FloWaveNet : A Generative Flow for Raw Audioby Kim, Lee et al. A flow-based generative model for raw audio synthesis. [Code]
FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Modelsby Grathwohl, Chen et al. Uses Neural ODEs as a solver to produce continuous-time normalizing flows (CNF).
Glow: Generative Flow with Invertible 1x1 Convolutionsby Kingma, Dhariwal They show that flows using invertible 1x1 convolution achieve high likelihood on standard…
Deep Density Destructorsby Inouye, Ravikumar Normalizing flows but from an iterative perspective. Features a Tree-based density estimator.
Neural Autoregressive Flowsby Huang, Krueger et al. Unifies and generalize autoregressive and normalizing flow approaches, replacing the…
Sylvester Normalizing Flow for Variational Inferenceby Berg, Hasenclever et al. Introduces Sylvester normalizing flows which remove the single-unit bottleneck from planar…
Convolutional Normalizing Flowsby Zheng, Yang et al. Introduces normalizing flows that take advantage of convolutions (based on convolution over the…
Masked Autoregressive Flow for Density Estimationby Papamakarios, Pavlakou et al. Introduces MAF, a stack of autoregressive models forming a normalizing flow suitable…
Multiplicative Normalizing Flows for Variational Bayesian Neural Networksby Louizos, Welling They introduce a new type of variational Bayesian neural network that uses flows to generate…
Improving Variational Inference with Inverse Autoregressive Flowby Kingma, Salimans et al. Introduces inverse autoregressive flow (IAF), a new type of flow which scales well to…
Density estimation using Real NVPby Dinh, Sohl-Dickstein et al. They introduce the affine coupling layer (RNVP), a major improvement in terms of…
Variational Inference with Normalizing Flowsby Rezende, Mohamed They show how to go beyond mean-field variational inference by using flows to increase the…
Masked Autoencoder for Distribution Estimationby Germain, Gregor et al. Introduces MADE, a feed-forward network that uses carefully constructed binary masks on its…
Non-linear Independent Components Estimationby Dinh, Krueger et al. Introduces the additive coupling layer (NICE) and shows how to use it for image generation and…
Iterative Gaussianization: from ICA to Random Rotationsby Laparra, Camps-Valls et al. Normalizing flows in the form of Gaussianization in an iterative format. Also shows…
Normalizing Kalman Filters for Multivariate Time Series Analysisby Bézenac, Rangapuram et al. Augments state space models with normalizing flows and thereby mitigates imprecisions…
On the Sentence Embeddings from Pre-trained Language Modelsby Li, Zhou et al. Proposes to use flows to transform anisotropic sentence embedding distributions from BERT to a…
Targeted free energy estimation via learned mappingsby Wirnsberger, Ballard et al. Normalizing flows used to estimate free energy differences.
Faster Uncertainty Quantification for Inverse Problems with Conditional Normalizing Flowsby Siahkoohi, Rizzuti et al. Uses conditional normalizing flows for inverse problems. [Video]
SRFlow: Learning the Super-Resolution Space with Normalizing Flowby Lugmayr, Danelljan et al. Uses normalizing flows for super-resolution.
NeuTra-lizing Bad Geometry in Hamiltonian Monte Carlo Using Neural Transportby Hoffman, Sountsov et al. Uses normalizing flows in conjunction with Monte Carlo estimation to have more expressive…
Analyzing Inverse Problems with Invertible Neural Networksby Ardizzone, Kruse et al. Normalizing flows for inverse problems.
Latent Space Policies for Hierarchical Reinforcement Learningby Haarnoja, Hartikainen et al. Uses normalizing flows, specifically RealNVPs, as policies for reinforcement learning…
Normalizing Flows - Motivations, The Big Idea & Essential Foundationsby Kapil Sachdeva A comprehensive tutorial on flows explaining the challenges addressed by this class of algorithm.…
Normalizing Flowsby Marc Deisenroth Part of a NeurIPS 2020 tutorial series titled "There and Back Again: A Tale of Slopes and…
Introduction to Normalizing Flowsby Marcus Brubaker A great introduction to normalizing flows by one of the creators of Stan presented at ECCV 2020.…
Flow Modelsby Pieter Abbeel A really thorough explanation of normalizing flows. Also includes some sample code.
What are normalizing flows?by Ari Seff A great 3blue1brown-style video explaining the basics of normalizing flows.
A primer on normalizing flowsby Laurent Dinh The first author on both the NICE and RNVP papers and one of the first in this field gives an…
Graph Normalizing Flowsby Jenny Liu Introduces a new graph generating model for use e.g. in drug discovery, where training on molecules that…
Sylvester Normalizing Flow for Variational Inferenceby Rianne van den Berg Introduces Sylvester normalizing flows which remove the single-unit bottleneck from planar…
Zukoby François Rozet Zuko is a Python package that implements normalizing flows in PyTorch. It relies heavily on…
Jammy Flowsby Thorsten Glüsenkamp A package that models joint (conditional) PDFs on tensor products of manifolds (Euclidean,…
flowtorchby Facebook / Meta FlowTorch is a PyTorch library for learning and sampling from complex probability distributions…
nflowsby Bayesiains A suite of most of the SOTA methods using PyTorch. From an ML group in Edinburgh. They created the…
normflowsby Vincent Stimper The library provides most of the common normalizing flow architectures. It also includes stochastic…
FrEIAby VLL Heidelberg The Framework for Easily Invertible Architectures (FrEIA) is based on RNVP flows. Easy to setup, it…
TensorFlow Probabilityby Google Large first-party library that offers RNVP, MAF among other autoregressive models plus a collection of…
GWKokabby Meesum Qazalbash, Muhammad Zeeshan et al. A JAX-based gravitational-wave population inference toolkit for…
flowMCby Kaze Wong Normalizing-flow enhanced sampling package for probabilistic inference [Docs]
pzflowby John Franklin Crenshaw A package that focuses on probabilistic modeling of tabular data, with a focus on sampling…
Distraxby DeepMind Distrax is a lightweight library of probability distributions and bijectors. It acts as a JAX-native…
NuXby Information Fusion Labs (UMass) A library that offers normalizing flows using JAX as the backend. Has some SOTA…
ContinuousNormalizingFlows.jlby Hossein Pourbozorg Implementations of Infinitesimal Continuous Normalizing Flows Algorithms in Julia. [Docs]
InvertibleNetworks.jlby SLIM A Flux compatible library implementing invertible neural networks and normalizing flows using memory-efficient…
DeeProb-kitby Lorenzo Loconte A general-purpose Python library providing a collection of deep probabilistic models (DPMs) which…
NICE: Non-linear Independent Components Estimationby Maxime Vandegar PyTorch implementation that reproduces results from the paper NICE in about 100 lines of code.
Normalizing Flows - Introduction (Part 1)by pyro.ai A tutorial about how to use the pyro-ppl library (based on PyTorch) to use Normalizing flows. They provide…
Density Estimation with Neural ODEs and Density Estimation with FFJORDsby torchdyn Example of how to use FFJORD as a continuous normalizing flow (CNF). Based on the PyTorch suite torchdyn…
StyleFlowby Rameen Abdal Attribute-conditioned Exploration of StyleGAN-generated Images using Conditional Continuous…
Graphical Normalizing Flowsby Antoine Wehenkel Official implementation of "Graphical Normalizing Flows" and the experiments presented in the paper.
pytorch-normalizing-flowsby Andrej Karpathy A Jupyter notebook with PyTorch implementations of the most commonly used flows: NICE, RNVP, MAF,…
Unconstrained Monotonic Neural Networks (UMNN)by Antoine Wehenkel Official implementation of "Unconstrained Monotonic Neural Networks" and the experiments presented…
pytorch_flowsby acids-ircam A great repo with some basic PyTorch implementations of normalizing flows from scratch.
normalizing_flowsby Kamen Bliznashki Pytorch implementations of density estimation algorithms: BNAF, Glow, MAF, RealNVP, planar flows.
pytorch-flowsby Ilya Kostrikov PyTorch implementations of density estimation algorithms: MAF, RNVP, Glow.
Variational Inference using Normalizing Flows (VINF)by Pierre Segonne This repository provides a hands-on TensorFlow implementation of Normalizing Flows as presented in…
Normalizing Flowsby Lukas Rinder Implementation of normalizing flows (Planar Flow, Radial Flow, Real NVP, Masked Autoregressive Flow…
BERT-flowby Bohan Li TensorFlow implementation of "On the Sentence Embeddings from Pre-trained Language Models" (EMNLP 2020).
Neural Transportby numpyro Features an example of how Normalizing flows can be used to get more robust posteriors from Monte Carlo…
Destructive Deep Learning (ddl)by David Inouye Code base for the paper Deep Density Destructors by Inouye & Ravikumar (2018). An entire suite of…
Normalizing Flows Overviewby PyMC3 A very helpful notebook showcasing how to work with flows in practice and comparing it to PyMC3's NUTS-based…
NormFlowsby Andy Miller Simple didactic example using autograd, so pretty low-level.
Chapter on flows from the book 'Deep Learning for Molecules and Materials'by Andrew White A nice introduction starting with the change of variables formula (aka flow equation), going on to…
Change of Variables for Normalizing Flowsby Neal Jean Short and simple explanation of change of variables theorem i.t.o. probability mass conservation.
Flow-based Deep Generative Modelsby Lilian Weng Covers change of variables, NICE, RNVP, MADE, Glow, MAF, IAF, WaveNet, PixelRNN.
Normalizing Flowsby Adam Kosiorek Introduction to flows covering change of variables, planar flow, radial flow, RNVP and autoregressive…
Normalizing Flows Tutorialby Eric Jang Part 1: Distributions and Determinants. Part 2: Modern Normalizing Flows. Lots of great graphics.