Approximations in Probabilistic Programs

We study the first-order probabilistic programming language introduced by Staton et al. (2016), but with an additional language construct, $\mathbf{stat}$, that, like the fixpoint operator of Atkinson et al. (2018), converts the description of the Markov kernel of an ergodic Markov chain into a sample from its unique stationary distribution. Up to minor changes in how certain error conditions are handled, we show that $\mathbf{norm}$ and $\mathbf{score}$ are eliminable from the extended language, in the sense of Felleisen (1991). We do so by giving an explicit program transformation and proof of correctness. In fact, our program transformation implements a Markov chain Monte Carlo algorithm, in the spirit of the "Trace-MH" algorithm of Wingate et al. (2011) and Goodman et al. (2008), but less sophisticated to enable analysis. We then explore the problem of approximately implementing the semantics of the language with potentially nested $\mathbf{stat}$ expressions, in a language without $\mathbf{stat}$. For a single $\mathbf{stat}$ term, the error introduced by the finite unrolling proposed by Atkinson et al. (2018) vanishes only asymptotically. In the general case, no guarantees exist. Under uniform ergodicity assumptions, we are able to give quantitative error bounds and convergence results for the approximate implementation of the extended first-order language.

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

[2]  L. Tierney A note on Metropolis-Hastings kernels for general state spaces , 1998 .

[3]  Tom Rainforth,et al.  Nesting Probabilistic Programs , 2018, UAI.

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

[5]  Matthias Felleisen,et al.  On the Expressive Power of Programming Languages , 1990, European Symposium on Programming.

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

[7]  Ugo Dal Lago,et al.  A lambda-calculus foundation for universal probabilistic programming , 2015, ICFP.

[8]  Eric Atkinson,et al.  Verifying Handcoded Probabilistic Inference Procedures , 2018, ArXiv.

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

[10]  Chung-Kil Hur,et al.  A Provably Correct Sampler for Probabilistic Programs , 2015, FSTTCS.

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

[12]  Gareth O. Roberts,et al.  Convergence Properties of Perturbed Markov Chains , 1998, Journal of Applied Probability.

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

[14]  D. Rudolf,et al.  Perturbation bounds for Monte Carlo within Metropolis via restricted approximations , 2018, Stochastic processes and their applications.

[15]  O. Kallenberg Random Measures, Theory and Applications , 2017 .