A New Approach to Probabilistic Programming Inference
By Frank D. Wood, Jan-Willem van de Meent, Vikash K. Mansinghka. 2014
355 citations recorded by the source corpus.
We introduce and demonstrate a new approach to inference in expressive probabilistic programming languages based on particle Markov chain Monte Carlo. Our approach is simple to implement and easy to parallelize. It applies to Turing-complete probabilistic programming languages and supports accurate inference in models that make use of complex control ow, including stochastic recursion. It also includes primitives from Bayesian nonparametric statistics. Our experiments show that this approach can be more ecient than previously introduced single-site Metropolis-Hastings methods.
Subfields: Artificial Intelligence, Statistics and Probability, Probabilistic & Bayesian Methods
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Frank D. Wood
- David M. Blei
- Zoubin Ghahramani
- Yura N. Perov
- Eric P. Xing
- Hongseok Yang
- Ruslan Salakhutdinov
- Dustin Tran
In Statistics and Probability
- Zoubin Ghahramani
- Frank D. Wood
- David M. Blei
- Yura N. Perov
- Hongseok Yang
- Brooks Paige
- Rajesh Ranganath
- Dustin Tran
In Probabilistic & Bayesian Methods
- Frank D. Wood
- David M. Blei
- Hongseok Yang
- Yura N. Perov
- Brooks Paige
- Zoubin Ghahramani
- Jan-Willem van de Meent
- Dustin Tran
Citations in the corpus
- The frontier of simulation-based inference (2019, background): “Powerful algorithms are available for the case with differentiable simulators (43), for simulators for which the joint likelihood of data and latent variables is accessible (44), and for simulators explicitly written as a probabilistic model in a probabilistic programming framework (78).”
- Design and Implementation of Probabilistic Programming Language Anglican (2016, methodology): “…Metropolis-Hastings (Wingate et al. 2011; Mansinghka et al. 2014; Yang et al. 2014), Hamiltonian Monte Carlo (Team), expectation propagation (Minka et al. 2010), and extensions of Sequential Monte Carlo (Wood et al. 2014; van de [Copyright notice will appear here once ’preprint’ option is removed.]”
- Computing functions of random variables via reproducing kernel Hilbert space representations (2015, neutral): “A variety of probabilistic programming languages has been proposed (Wood et al. 2014; Paige and Wood 2014; Cassel 2014).”
- Learning Disentangled Representations with Semi-Supervised Deep Generative Models (2017, methodology): “This provides another direction to explore in the future — the extension of the stochastic computation graph framework to probabilistic programming [9, 34, 35].”
- Probabilistic programming in Python using PyMC3 (2016, background): “…languages built on top of existing low-level languages; notable examples include Church (Goodman et al., 2012) (derived from Scheme), Anglican (Wood et al., 2014) (integrated with Clojure and compiled with a Java Virtual Machine), Venture (Mansinghka et al., 2014) (built from C++), Infer.NET…”
- Automatic Differentiation Variational Inference (2016, background): “, 2014), Anglican (Wood et al., 2014), and WebPPL (Goodman and Stuhlmüller, 2014).”
- Venture: a higher-order probabilistic programming platform with programmable inference (2014, methodology): “Similarly, a global implementation of particle Gibbs via conditional sequential Monte Carlo, implemented via repeated forward re-simulation, has been independently and concurrently developed in (Wood et al., 2014).”
- Inference Compilation and Universal Probabilistic Programming (2016, methodology): “We obtain K proposal execution traces x k := x k 1: T k (possibly in parallel) to which we assign weights for k = 1 , . . . , K with T k denoting the length of the k th proposal execution trace.”
- Discontinuous Hamiltonian Monte Carlo for Probabilistic Programs (2018, methodology): “We compare against NUTS (Hoffman & Gelman, 2014) combined with Metropolis-within-Gibbs (NUTS+MwG) in PyMC3 (Salvatier et al., 2016) and Random-walk Lightweight Metropolis-Hastings (RMH) in Anglican (Wood et al., 2014).”
- ProBO: a Framework for Using Probabilistic Programming in Bayesian Optimization (2019, background): “…2015), Edward (Tran et al., 2016), PyMC3 (Salvatier et al., 2016), Pyro (Bingham et al., 2018), GPy (GPy, 2012), Infer.NET (Minka, 2012), Venture (Mansinghka et al., 2014), Anglican (Wood et al., 2014), TensorFlow Probability (Dillon et al., 2017), ProbTorch (Siddharth et al., 2017), and others.”
- Probabilistic machine learning and artificial intelligence (2015, background): “In return for this restriction, inference in such languages can be much faster than for the more general languages 56 , such as IBAL 57 , BLOG 58 , Church 59 , Figaro 60 , Venture 61 , and Anglican 62 .”
- PSI: Exact Symbolic Inference for Probabilistic Programs (2016, methodology): “The general approaches include sampling-based Monte Carlo methods [20,40,21,19,39,46,32] and projections to convenient probability distributions, such as variational inference [34,8] or discretization [31,12].”
- Logical Induction (2016, neutral): “67”
- Particle Gibbs with Ancestor Sampling for Probabilistic Programs (2015, methodology): “, 2014], Anglican [Wood et al., 2014], and Probabilistic C [Paige and Wood, 2014] do not impose such restrictions, which makes the design of generalpurpose inference methods more difficult.”
- A convenient category for higher-order probability theory (2017, methodology): “To express probabilistic models in machine learning and statistics in a succinct and structured way, it pays to use higher-order programming languages, such as Church [16], Venture [24], or Anglican [37].”