Automating Involutive MCMC using Probabilistic and Differentiable Programming

07/20/2020
by   Marco Cusumano-Towner, et al.
0

Involutive MCMC is a unifying mathematical construction for MCMC kernels that generalizes many classic and state-of-the-art MCMC algorithms, from reversible jump MCMC to kernels based on deep neural networks. But as with MCMC samplers more generally, implementing involutive MCMC kernels is often tedious and error-prone, especially when sampling on complex state spaces. This paper describes a technique for automating the implementation of involutive MCMC kernels given (i) a pair of probabilistic programs defining the target distribution and an auxiliary distribution respectively and (ii) a differentiable program that transforms the execution traces of these probabilistic programs. The technique, which is implemented as part of the Gen probabilistic programming system, also automatically detects user errors in the specification of involutive MCMC kernels and exploits sparsity in the kernels for improved efficiency. The paper shows example Gen code for a split-merge reversible jump move in an infinite Gaussian mixture model and a state-dependent mixture of proposals on a combinatorial space of covariance functions for a Gaussian process.

READ FULL TEXT
research
12/16/2014

Testing MCMC code

Markov Chain Monte Carlo (MCMC) algorithms are a workhorse of probabilis...
research
09/07/2015

C3: Lightweight Incrementalized MCMC for Probabilistic Programs using Continuations and Callsite Caching

Lightweight, source-to-source transformation approaches to implementing ...
research
06/30/2020

Involutive MCMC: a Unifying Framework

Markov Chain Monte Carlo (MCMC) is a computational approach to fundament...
research
07/02/2018

Block-Value Symmetries in Probabilistic Graphical Models

Several lifted inference algorithms for probabilistic graphical models f...
research
12/31/2020

Nonreversible MCMC from conditional invertible transforms: a complete recipe with convergence guarantees

Markov Chain Monte Carlo (MCMC) is a class of algorithms to sample compl...
research
09/11/2023

Automatic regenerative simulation via non-reversible simulated tempering

Simulated Tempering (ST) is an MCMC algorithm for complex target distrib...
research
11/06/2014

Sublinear-Time Approximate MCMC Transitions for Probabilistic Programs

Probabilistic programming languages can simplify the development of mach...

Please sign up or login with your details

Forgot password? Click here to reset