Empirical evaluation of normalizing flows in Markov Chain Monte Carlo

David Nabergoj, Erik Štrumbelj
12/22/2024
cs.LGstat.COstat.ML

No official code found. Best implementation: davidnabergoj/torchflows (13 stars, MIT, PyTorch, last commit 2026-03-09). 3 more below.

Abstract

Recent advances in MCMC use normalizing flows to precondition target distributions and enable jumps to distant regions. However, there is currently no systematic comparison of different normalizing flow architectures for MCMC. As such, many works choose simple flow architectures that are readily available and do not consider other models. Guidelines for choosing an appropriate architecture would reduce analysis time for practitioners and motivate researchers to take the recommended models as foundations to be improved. We provide the first such guideline by extensively evaluating many normalizing flow architectures on various flow-based MCMC methods and target distributions. When the target density gradient is available, we show that flow-based MCMC outperforms classic MCMC for suitable NF architecture choices with minor hyperparameter tuning. When the gradient is unavailable, flow-based MCMC wins with off-the-shelf architectures. We find contractive residual flows to be the best general-purpose models with relatively low sensitivity to hyperparameter choice. We also provide various insights into normalizing flow behavior within MCMC when varying their hyperparameters, properties of target distributions, and the overall computational budget.

View on arXivView PDF

Code Implementations(4)

PyTorchMIT

Modern normalizing flows in Python. Simple to use and easily extensible.

132PythonMay 15, 20237 months agoMIT
density-estimationgenerative-modelmachine-learningnormalizing-flowpython+2 more
davidnabergoj/nfmcCommunity100%
PyTorchMIT

Normalizing flow MCMC algorithms for statistical analyses and sampling.

60PythonJul 9, 20236 months agoMIT
bayesian-inferencemarkov-chain-monte-carlonormalizing-flowspytorchsampling+2 more
MIT

Potential functions for sampling or optimization

20Python, Jupyter NotebookJun 10, 20236 months agoMIT
PyTorch

NFMC benchmark and code for the paper: "Nabergoj and Štrumbelj. Empirical evaluation of normalizing flows in Markov Chain Monte Carlo, 2024."

20Shell, PythonDec 22, 20241 years ago
arxivbayesian-inferencebenchmarkimplementationmarkov-chain-monte-carlo+10 more

Similar Papers

Cite this paper

@article{nabergoj2024empirical,
  title  = {Empirical evaluation of normalizing flows in Markov Chain Monte Carlo},
  author = {David Nabergoj and Erik Štrumbelj},
  year   = {2024},
  eprint = {2412.17136},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2412.17136v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2412.17136.svg)](https://codeofpaper.com/paper/2412.17136)

Discussion