Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs

08/25/2017
by   Lawrence M. Murray, et al.
0

We introduce a dynamic mechanism for the solution of analytically-tractable substructure in probabilistic programs, to reduce variance in Monte Carlo estimators. For inference with Sequential Monte Carlo, it yields improvements such as locally-optimal proposals and Rao-Blackwellization, with little modification to model code necessary. A directed graph is maintained alongside the running program, evolving dynamically as the program triggers operations upon it. Nodes of the graph represent random variables, and edges the analytically-tractable relationships between them (e.g. conjugate priors and affine transformations). Each random variable is held in the graph for as long as possible, sampled only when used by the program in a context that cannot be resolved analytically. This allows it to be analytically conditioned on as many observations as possible before sampling. We have implemented the approach in both Anglican and a new probabilistic programming language named Birch. We demonstrate it on a number of small examples, and a larger mixed linear-nonlinear state-space model.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/18/2018

Automatic Alignment of Sequential Monte Carlo Inference in Higher-Order Probabilistic Programs

Probabilistic programming is a programming paradigm for expressing flexi...
research
01/07/2013

Automated Variational Inference in Probabilistic Programming

We present a new algorithm for approximate inference in probabilistic pr...
research
04/26/2015

Maximum a Posteriori Estimation by Search in Probabilistic Programs

We introduce an approximate search algorithm for fast maximum a posterio...
research
02/25/2017

Monte Carlo Action Programming

This paper proposes Monte Carlo Action Programming, a programming langua...
research
03/02/2020

Stochastically Differentiable Probabilistic Programs

Probabilistic programs with mixed support (both continuous and discrete ...
research
05/31/2015

Automatic Inference for Inverting Software Simulators via Probabilistic Programming

Models of complex systems are often formalized as sequential software si...
research
12/15/2015

Linear Models of Computation and Program Learning

We consider two classes of computations which admit taking linear combin...

Please sign up or login with your details

Forgot password? Click here to reset