Probabilistic modeling and inference are becoming central computational tools across a broad range of fields

We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the rst demonstration of e ectiveness in practice. Instead of relying on rigid black-box inference algorithms hard-coded into the language implementation as in previous probabilistic programming languages, infer- ence metaprogramming enables developers to 1) dynamically decompose inference problems into subproblems, 2) apply in- ference tactics to subproblems, 3) alternate between incorpo- rating new data and performing inference over existing data, and 4) explore multiple execution traces of the probabilis- tic program at once. Implemented tactics include gradient- based optimization, Markov chain Monte Carlo, variational inference, and sequental Monte Carlo techniques. Inference metaprogramming enables the concise expression of proba- bilistic models and inference algorithms across diverse elds, such as computer vision, data science, and robotics, within a single probabilistic programming language.

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

[2]  Freda Kemp,et al.  An Introduction to Sequential Monte Carlo Methods , 2003 .

[3]  George,et al.  Introducing Monte Carlo Methods with R Volume 261 || Controlling and Accelerating Convergence , 2010 .

[4]  Christian P. Robert,et al.  Introducing Monte Carlo Methods with R (Use R) , 2009 .

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

[6]  Claudio V. Russo,et al.  Tabular: a schema-driven probabilistic programming language , 2014, POPL.

[7]  Christian P. Robert,et al.  Introducing Monte Carlo Methods with R , 2009 .

[8]  Alexey Radul,et al.  Time Series Structure Discovery via Probabilistic Program Synthesis , 2016 .

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

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

[11]  Joseph Tassarotti,et al.  Augur: Data-Parallel Probabilistic Modeling , 2014, NIPS.

[12]  Hoon Kim,et al.  Monte Carlo Statistical Methods , 2000, Technometrics.

[13]  Dustin Tran,et al.  Operator Variational Inference , 2016, NIPS.

[14]  Ohad Kammar,et al.  Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[15]  Stuart J. Russell,et al.  BLOG: Probabilistic Models with Unknown Objects , 2005, IJCAI.

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

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

[18]  Nando de Freitas,et al.  An Introduction to Sequential Monte Carlo Methods , 2001, Sequential Monte Carlo Methods in Practice.

[19]  Michael I. Jordan,et al.  Graphical Models, Exponential Families, and Variational Inference , 2008, Found. Trends Mach. Learn..

[20]  Brendan J. Frey,et al.  Factor graphs and the sum-product algorithm , 2001, IEEE Trans. Inf. Theory.

[21]  David J. C. MacKay,et al.  Information Theory, Inference, and Learning Algorithms , 2004, IEEE Transactions on Information Theory.

[22]  Nando de Freitas,et al.  An Introduction to MCMC for Machine Learning , 2004, Machine Learning.

[23]  RinardMartin,et al.  Probabilistic programming with programmable inference , 2018 .

[24]  Vikash K. Mansinghka,et al.  A design proposal for Gen: probabilistic programming with fast custom inference via code generation , 2018, MAPL@PLDI.

[25]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[26]  Eric Woldridge Promoting Probabilistic Programming System (PPS) Development in Probabilistic Programming for Advancing Machine Learning (PPAML) , 2018 .

[27]  Vikash K. Mansinghka,et al.  Using probabilistic programs as proposals , 2018, ArXiv.

[28]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.

[29]  Joshua B. Tenenbaum,et al.  CrossCat: A Fully Bayesian Nonparametric Method for Analyzing Heterogeneous, High Dimensional Data , 2015, J. Mach. Learn. Res..

[30]  Kai Xu,et al.  Turing: Composable inference for probabilistic programming , 2018, International Conference on Artificial Intelligence and Statistics.

[31]  Ardavan Saeedi,et al.  Automatic Inference for Inverting Software Simulators via Probabilistic Programming , 2015, 1506.00308.

[32]  Dustin Tran,et al.  Deep Probabilistic Programming , 2017, ICLR.

[33]  Carl E. Rasmussen,et al.  Gaussian processes for machine learning , 2005, Adaptive computation and machine learning.

[34]  Kostas Stathis,et al.  Probabilistic Programming with Gaussian Process Memoization , 2015, ArXiv.

[35]  Christian P. Robert,et al.  Monte Carlo Statistical Methods , 2005, Springer Texts in Statistics.

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

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

[38]  Jean-Paul Fox,et al.  Modeling of Responses and Response Times with the Package cirt , 2007 .

[39]  David Tolpin,et al.  Probabilistic Programming in Anglican , 2015, ECML/PKDD.

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

[41]  Timon Gehr,et al.  Incremental inference for probabilistic programs , 2018, PLDI.

[42]  J. Gregory Morrisett,et al.  Compiling Markov chain Monte Carlo algorithms for probabilistic modeling , 2017, PLDI.

[43]  Tom Minka,et al.  Expectation Propagation for approximate Bayesian inference , 2001, UAI.

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

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

[46]  David B. Dunson,et al.  Bayesian Data Analysis , 2010 .

[47]  Joshua B. Tenenbaum,et al.  Approximate Bayesian Image Interpretation using Generative Probabilistic Graphics Programs , 2013, NIPS.

[48]  Joshua B. Tenenbaum,et al.  Automatic Construction and Natural-Language Description of Nonparametric Regression Models , 2014, AAAI.

[49]  Jean Ponce,et al.  Computer Vision: A Modern Approach , 2002 .

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