Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints

01/19/2016
by   Sam Staton, et al.
0

We study the semantic foundation of expressive probabilistic programming languages, that support higher-order functions, continuous distributions, and soft constraints (such as Anglican, Church, and Venture). We define a metalanguage (an idealised version of Anglican) for probabilistic computation with the above features, develop both operational and denotational semantics, and prove soundness, adequacy, and termination. They involve measure theory, stochastic labelled transition systems, and functor categories, but admit intuitive computational readings, one of which views sampled random variables as dynamically allocated read-only variables. We apply our semantics to validate nontrivial equations underlying the correctness of certain compiler optimisations and inference algorithms such as sequential Monte Carlo simulation. The language enables defining probability distributions on higher-order functions, and we study their properties.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/10/2018

A Domain Theory for Statistical Probabilistic Programming

We give an adequate denotational semantics for languages with recursive ...
research
11/09/2017

Denotational validation of higher-order Bayesian inference

We present a modular semantic account of Bayesian inference algorithms f...
research
07/15/2020

λ_S: Computable semantics for differentiable programming with higher-order functions and datatypes

Deep learning is moving towards increasingly sophisticated optimization ...
research
09/13/2023

Joint Distributions in Probabilistic Semantics

Various categories have been proposed as targets for the denotational se...
research
06/30/2021

A Domain-Theoretic Approach to Statistical Programming Languages

We give a domain-theoretic semantics to a statistical programming langua...
research
01/09/2021

Paradoxes of Probabilistic Programming

Probabilistic programming languages allow programmers to write down cond...

Please sign up or login with your details

Forgot password? Click here to reset