Incremental inference for probabilistic programs

We present a novel approach for approximate sampling in probabilistic programs based on incremental inference. The key idea is to adapt the samples for a program P into samples for a program Q, thereby avoiding the expensive sampling computation for program Q. To enable incremental inference in probabilistic programming, our work: (i) introduces the concept of a trace translator which adapts samples from P into samples of Q, (ii) phrases this translation approach in the context of sequential Monte Carlo (SMC), which gives theoretical guarantees that the adapted samples converge to the distribution induced by Q, and (iii) shows how to obtain a concrete trace translator by establishing a correspondence between the random choices of the two probabilistic programs. We implemented our approach in two different probabilistic programming systems and showed that, compared to methods that sample the program Q from scratch, incremental inference can lead to orders of magnitude increase in efficiency, depending on how closely related P and Q are.

[1]  Marco Guarnieri,et al.  Synthesis of Probabilistic Privacy Enforcement , 2017, CCS.

[2]  Noah D. Goodman,et al.  Coarse-to-Fine Sequential Monte Carlo for Probabilistic Programs , 2015, ArXiv.

[3]  Vikash K. Mansinghka,et al.  Probabilistic programs for inferring the goals of autonomous agents , 2017, ArXiv.

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

[5]  Chung-Kil Hur,et al.  R2: An Efficient MCMC Sampler for Probabilistic Programs , 2014, AAAI.

[6]  Alan E. Gelfand,et al.  Bayesian statistics without tears: A sampling-resampling perspective , 1992 .

[7]  Stephen C. Milne,et al.  Inversion Properties of Triangular Arrays of Numbers , 1981 .

[8]  Timon Gehr,et al.  PSI: Exact Symbolic Inference for Probabilistic Programs , 2016, CAV.

[9]  Daniel M. Roy,et al.  CONVERGENCE OF SEQUENTIAL MONTE CARLO-BASED SAMPLING METHODS , 2015 .

[10]  José A. Gámez,et al.  Incremental Compilation of Bayesian Networks Based on Maximal Prime Subgraphs , 2011, Int. J. Uncertain. Fuzziness Knowl. Based Syst..

[11]  Umut A. Acar,et al.  Adaptive Bayesian inference , 2007, NIPS 2007.

[12]  Lei Li,et al.  Swift: Compiled Inference for Probabilistic Programming Languages , 2016, IJCAI.

[13]  Sriram K. Rajamani,et al.  Efficient synthesis of probabilistic programs , 2015, PLDI.

[14]  Umut A. Acar,et al.  Adaptive inference on general graphical models , 2008, UAI.

[15]  Pascal Poupart,et al.  Performing Incremental Bayesian Inference by Dynamic Model Counting , 2006, AAAI.

[16]  John E. Wennberg,et al.  Tracking the Care of Patients with Severe Chronic Illness: The Dartmouth Atlas of Health Care 2008 , 2008 .

[17]  Sebastian Thrun,et al.  Probabilistic robotics , 2002, CACM.

[18]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[19]  Sriram K. Rajamani,et al.  Efficiently Sampling Probabilistic Programs via Program Analysis , 2013, AISTATS.

[20]  Michael Luby,et al.  Approximating Probabilistic Inference in Bayesian Belief Networks is NP-Hard , 1993, Artif. Intell..

[21]  Jingling Xue,et al.  Incremental Analysis for Probabilistic Programs , 2017, SAS.

[22]  Pat Hanrahan,et al.  Generating Efficient MCMC Kernels from Probabilistic Programs , 2014, AISTATS.

[23]  P. Moral,et al.  Sequential Monte Carlo samplers , 2002, cond-mat/0212648.

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

[25]  Eran Yahav,et al.  Abstract semantic differencing via speculative correlation , 2014, OOPSLA.

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

[27]  David Broman,et al.  Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs , 2017, AISTATS.

[28]  Oleg Kiselyov,et al.  Probabilistic Programming Language and its Incremental Evaluation , 2016, APLAS.

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

[30]  Judea Pearl,et al.  A Computational Model for Causal and Diagnostic Reasoning in Inference Systems , 1983, IJCAI.

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

[32]  Joshua B. Tenenbaum,et al.  Exploiting compositionality to explore a large space of model structures , 2012, UAI.

[33]  P. Diaconis,et al.  The sample size required in importance sampling , 2015, 1511.01437.

[34]  Gregory F. Cooper,et al.  The Computational Complexity of Probabilistic Inference Using Bayesian Belief Networks , 1990, Artif. Intell..

[35]  James O. Berger,et al.  An overview of robust Bayesian analysis , 1994 .

[36]  Christophe Gonzales,et al.  Incremental Junction Tree Inference , 2016, IPMU.

[37]  Noah D. Goodman,et al.  C3: Lightweight Incrementalized MCMC for Probabilistic Programs using Continuations and Callsite Caching , 2015, AISTATS.

[38]  José A. Gámez,et al.  Incremental compilation of Bayesian networks , 2002, UAI.

[39]  Umut A. Acar Self-adjusting computation: (an overview) , 2009, PEPM '09.

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

[41]  Frank D. Wood,et al.  Inference Compilation and Universal Probabilistic Programming , 2016, AISTATS.

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

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

[44]  Alexandra Silva,et al.  Probabilistic NetKAT , 2016, ESOP.

[45]  Kevin P. Murphy,et al.  Machine learning - a probabilistic perspective , 2012, Adaptive computation and machine learning series.

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

[47]  Jun S. Liu,et al.  Blind Deconvolution via Sequential Imputations , 1995 .

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