Learning Proposals for Probabilistic Programs with Inference Combinators

We develop operators for construction of proposals in probabilistic programs, which we refer to as inference combinators. Inference combinators define a grammar over importance samplers that compose primitive operations such as application of a transition kernel and importance resampling. Proposals in these samplers can be parameterized using neural networks, which in turn can be trained by optimizing variational objectives. The result is a framework for user-programmable variational methods that are correct by construction and can be tailored to specific models. We demonstrate the flexibility of this framework by implementing advanced variational methods based on amortized Gibbs sampling and annealing.

[1]  Ruslan Salakhutdinov,et al.  Importance Weighted Autoencoders , 2015, ICLR.

[2]  Yee Whye Teh,et al.  Revisiting Reweighted Wake-Sleep for Models with Stochastic Control Flow , 2018, UAI.

[3]  Martyn Plummer,et al.  JAGS: A program for analysis of Bayesian graphical models using Gibbs sampling , 2003 .

[4]  Walter R. Gilks,et al.  BUGS - Bayesian inference Using Gibbs Sampling Version 0.50 , 1995 .

[5]  Yoshua Bengio,et al.  Reweighted Wake-Sleep , 2014, ICLR.

[6]  Ohad Kammar,et al.  Functional programming for modular Bayesian inference , 2018, Proc. ACM Program. Lang..

[7]  Vikash K. Mansinghka,et al.  Trace types and denotational semantics for sound programmable inference in probabilistic languages , 2019, Proc. ACM Program. Lang..

[8]  Radford M. Neal Annealed importance sampling , 1998, Stat. Comput..

[9]  Yura N. Perov,et al.  Venture: a higher-order probabilistic programming platform with programmable inference , 2014, ArXiv.

[10]  Klaus Greff,et al.  Multi-Object Representation Learning with Iterative Variational Inference , 2019, ICML.

[11]  Sean Gerrish,et al.  Black Box Variational Inference , 2013, AISTATS.

[12]  Qiang Liu,et al.  Approximate Inference with Amortised MCMC , 2017, ArXiv.

[13]  Jiqiang Guo,et al.  Stan: A Probabilistic Programming Language. , 2017, Journal of statistical software.

[14]  Frank D. Wood,et al.  A Compilation Target for Probabilistic Programming Languages , 2014, ICML.

[15]  Pieter Abbeel,et al.  Gradient Estimation Using Stochastic Computation Graphs , 2015, NIPS.

[16]  Matthew D. Hoffman,et al.  Learning Deep Latent Gaussian Models with Markov Chain Monte Carlo , 2017, ICML.

[17]  Joshua B. Tenenbaum,et al.  Church: a language for generative models , 2008, UAI.

[18]  Max Welling,et al.  Auto-Encoding Variational Bayes , 2013, ICLR.

[19]  Noah D. Goodman,et al.  Deep Amortized Inference for Probabilistic Programs , 2016, ArXiv.

[20]  Dustin Tran,et al.  Edward: A library for probabilistic modeling, inference, and criticism , 2016, ArXiv.

[21]  Brendan Fong,et al.  Causal Theories: A Categorical Perspective on Bayesian Networks , 2013, 1301.6201.

[22]  Anthony Lee,et al.  Parallel Resampling in the Particle Filter , 2013, 1301.4019.

[23]  Frank D. Wood,et al.  A New Approach to Probabilistic Programming Inference , 2014, AISTATS.

[24]  Scott W. Linderman,et al.  Variational Sequential Monte Carlo , 2017, AISTATS.

[25]  Hongseok Yang,et al.  An Introduction to Probabilistic Programming , 2018, ArXiv.

[26]  Martin Jankowiak,et al.  Functional Tensors for Probabilistic Programming , 2019, ArXiv.

[27]  N. Chopin A sequential particle filter method for static models , 2002 .

[28]  Yee Whye Teh,et al.  Tighter Variational Bounds are Not Necessarily Better , 2018, ICML.

[29]  Tuan Anh Le,et al.  Auto-Encoding Sequential Monte Carlo , 2017, ICLR.

[30]  Fredrik Lindsten,et al.  Nested Sequential Monte Carlo Methods , 2015, ICML.

[31]  Max Welling,et al.  Markov Chain Monte Carlo and Variational Inference: Bridging the Gap , 2014, ICML.

[32]  Zoubin Ghahramani,et al.  Turing: A Language for Flexible Probabilistic Inference , 2018 .

[33]  Vincent Danos,et al.  Borel Kernels and their Approximation, Categorically , 2018, MFPS.

[34]  Noah D. Goodman,et al.  Lightweight Implementations of Probabilistic Programming Languages Via Transformational Compilation , 2011, AISTATS.

[35]  Chung-chieh Shan,et al.  Composing Inference Algorithms as Program Transformations , 2016, UAI.

[36]  Dustin Tran,et al.  Simple, Distributed, and Accelerated Probabilistic Programming , 2018, NeurIPS.

[37]  Matt J. Kusner,et al.  Grammar Variational Autoencoder , 2017, ICML.

[38]  A. Pfeffer,et al.  Figaro : An Object-Oriented Probabilistic Programming Language , 2009 .

[39]  George Tucker,et al.  Doubly Reparameterized Gradient Estimators for Monte Carlo Objectives , 2019, ICLR.

[40]  Lawrence M. Murray Bayesian State-Space Modelling on High-Performance Hardware Using LibBi , 2013, 1306.3277.

[41]  Ohad Kammar,et al.  A convenient category for higher-order probability theory , 2017, 2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[42]  V. Danos,et al.  Pointless learning (long version) , 2017 .

[43]  Hao Wu,et al.  Nested Variational Inference , 2021, NeurIPS.

[44]  Andrew D. Gordon,et al.  Measure Transformer Semantics for Bayesian Machine Learning , 2011, ESOP.

[45]  Norman Ramsey,et al.  Exact Bayesian inference by symbolic disintegration , 2017, POPL.

[46]  David Tolpin,et al.  Design and Implementation of Probabilistic Programming Language Anglican , 2016, IFL 2016.

[47]  Nicolò Cesa-Bianchi,et al.  Advances in Neural Information Processing Systems 31 , 2018, NIPS 2018.

[48]  Jacques Carette,et al.  Probabilistic Inference by Program Transformation in Hakaru (System Description) , 2016, FLOPS.

[49]  Alexandre Lacoste,et al.  Improving Explorability in Variational Inference with Annealed Variational Objectives , 2018, NeurIPS.

[50]  Tim Hesterberg,et al.  Monte Carlo Strategies in Scientific Computing , 2002, Technometrics.

[51]  Ohad Kammar,et al.  Denotational validation of higher-order Bayesian inference , 2017, Proc. ACM Program. Lang..

[52]  Noah D. Goodman,et al.  Pyro: Deep Universal Probabilistic Programming , 2018, J. Mach. Learn. Res..

[53]  David Wingate,et al.  Automated Variational Inference in Probabilistic Programming , 2013, ArXiv.

[54]  Hao Wu,et al.  Amortized Population Gibbs Samplers with Neural Sufficient Statistics , 2019, ICML.

[55]  David Tolpin,et al.  Black-Box Policy Search with Probabilistic Programs , 2015, AISTATS.

[56]  Stuart J. Russell,et al.  Meta-Learning MCMC Proposals , 2017, NeurIPS.

[57]  Avi Pfeffer,et al.  Scruff: A Deep Probabilistic Cognitive Architecture for Predictive Processing , 2018, Biologically Inspired Cognitive Architectures 2018.

[58]  Guy Van den Broeck,et al.  Scaling exact inference for discrete probabilistic programs , 2020, Proc. ACM Program. Lang..

[59]  Prabhat,et al.  Etalumis: bringing probabilistic programming to scientific simulators at scale , 2019, SC.

[60]  Thomas B. Schön,et al.  Automated learning with a probabilistic programming language: Birch , 2018, Annu. Rev. Control..

[61]  Yee Whye Teh,et al.  Filtering Variational Objectives , 2017, NIPS.

[62]  Peter A. Flach,et al.  Advances in Neural Information Processing Systems 28 , 2015 .

[63]  Arnaud Doucet,et al.  Hamiltonian Variational Auto-Encoder , 2018, NeurIPS.

[64]  David Van Horn,et al.  Running Probabilistic Programs Backwards , 2015, ESOP.

[65]  Fredrik Lindsten,et al.  Elements of Sequential Monte Carlo , 2019, Found. Trends Mach. Learn..

[66]  YangHongseok,et al.  Denotational validation of higher-order Bayesian inference , 2017 .

[67]  Vikash K. Mansinghka,et al.  Gen: a general-purpose probabilistic programming system with programmable inference , 2019, PLDI.

[68]  Byron C. Wallace,et al.  Structured Neural Topic Models for Reviews , 2018, AISTATS.

[69]  Geoffrey E. Hinton,et al.  The "wake-sleep" algorithm for unsupervised neural networks. , 1995, Science.

[70]  John Salvatier,et al.  Probabilistic programming in Python using PyMC3 , 2016, PeerJ Comput. Sci..

[71]  Frank D. Wood,et al.  Learning Disentangled Representations with Semi-Supervised Deep Generative Models , 2017, NIPS.

[72]  Frank D. Wood,et al.  The Thermodynamic Variational Objective , 2019, NeurIPS.

[73]  Daan Wierstra,et al.  Stochastic Backpropagation and Approximate Inference in Deep Generative Models , 2014, ICML.