# Hamiltonian Monte Carlo Without Detailed Balance

arXiv: https://arxiv.org/abs/1409.5191 · HTML: https://mlsanity.com/paper/1409.5191/

## Key facts

- Cited by 10 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 18 Sep 2014.

## Built on by (most cited first, 10 of 10)

- [Exact Langevin Dynamics with Stochastic Gradients](https://mlsanity.com/paper/2102.01691/) (2021)
- [Hamiltonian Dynamics with Non-Newtonian Momentum for Rapid Sampling](https://mlsanity.com/paper/2111.02434/) (2021)
- [Delayed rejection Hamiltonian Monte Carlo for sampling multiscale distributions](https://mlsanity.com/paper/2110.00610/) (2021)
- [Entropy-based adaptive Hamiltonian Monte Carlo](https://mlsanity.com/paper/2110.14625/) (2021)
- [Geometric Methods for Sampling, Optimisation, Inference and Adaptive Agents](https://mlsanity.com/paper/2203.10592/) (2022)
- [A Unifying and Canonical Description of Measure-Preserving Diffusions](https://mlsanity.com/paper/2105.02845/) (2021)
- [Principled Gradient-based Markov Chain Monte Carlo for Text Generation](https://mlsanity.com/paper/2312.17710/) (2023)
- [Learning and Inference in Sparse Coding Models with Langevin Dynamics](https://mlsanity.com/paper/2204.11150/) (2022)
- [Nonparametric Involutive Markov Chain Monte Carlo](https://mlsanity.com/paper/2211.01100/) (2022)
- [Toward Unlimited Self-Learning MCMC with Parallel Adaptive Annealing](https://mlsanity.com/paper/2211.14024/) (2022)

## Abstract (arXiv)

We present a method for performing Hamiltonian Monte Carlo that largely eliminates sample rejection for typical hyperparameters. In situations that would normally lead to rejection, instead a longer trajectory is computed until a new state is reached that can be accepted. This is achieved using Markov chain transitions that satisfy the fixed point equation, but do not satisfy detailed balance. The resulting algorithm significantly suppresses the random walk behavior and wasted function evaluations that are typically the consequence of update rejection. We demonstrate a greater than factor of two improvement in mixing time on three test problems. We release the source code as Python and MATLAB packages.
