λPSI: exact inference for higher-order probabilistic programs

We present λPSI, the first probabilistic programming language and system that supports higher-order exact inference for probabilistic programs with first-class functions, nested inference and discrete, continuous and mixed random variables. λPSI’s solver is based on symbolic reasoning and computes the exact distribution represented by a program. We show that λPSI is practically effective—it automatically computes exact distributions for a number of interesting applications, from rational agents to information theory, many of which could so far only be handled approximately.

[1]  Jacques Carette,et al.  From high-level inference algorithms to efficient code , 2018, Proc. ACM Program. Lang..

[2]  Liam Paninski,et al.  Estimation of Entropy and Mutual Information , 2003, Neural Computation.

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

[4]  Benjamin Grégoire,et al.  Coupling proofs are probabilistic product programs , 2016, POPL.

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

[6]  Hongseok Yang,et al.  The semantic structure of quasi-Borel spaces , 2018 .

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

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

[9]  Noah D. Goodman,et al.  A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs , 2012, StarAI@UAI.

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

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

[12]  Armando Solar-Lezama,et al.  The Random Conditional Distribution for Higher-Order Probabilistic Inference , 2019, ArXiv.

[13]  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).

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

[15]  Gilles Barthe,et al.  Formal verification of higher-order probabilistic programs: reasoning about approximation, convergence, Bayesian inference, and optimization , 2018, Proc. ACM Program. Lang..

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

[17]  Sam Staton,et al.  Commutative Semantics for Probabilistic Programming , 2017, ESOP.

[18]  Joachim M. Buhmann,et al.  The information content in sorting algorithms , 2012, 2012 IEEE International Symposium on Information Theory Proceedings.

[19]  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).

[20]  Donald E. Knuth Two notes on notation , 1992 .

[21]  Vikash K. Mansinghka,et al.  AIDE: An algorithm for measuring the accuracy of probabilistic inference algorithms , 2017, NIPS.

[22]  Chung-chieh Shan,et al.  Symbolic conditioning of arrays in probabilistic programs , 2017, Proc. ACM Program. Lang..