ωPAP Spaces: Reasoning Denotationally About Higher-Order, Recursive Probabilistic and Differentiable Programs

02/21/2023
by   Mathieu Huot, et al.
0

We introduce a new setting, the category of ωPAP spaces, for reasoning denotationally about expressive differentiable and probabilistic programming languages. Our semantics is general enough to assign meanings to most practical probabilistic and differentiable programs, including those that use general recursion, higher-order functions, discontinuous primitives, and both discrete and continuous sampling. But crucially, it is also specific enough to exclude many pathological denotations, enabling us to establish new results about both deterministic differentiable programs and probabilistic programs. In the deterministic setting, we prove very general correctness theorems for automatic differentiation and its use within gradient descent. In the probabilistic setting, we establish the almost-everywhere differentiability of probabilistic programs' trace density functions, and the existence of convenient base measures for density computation in Monte Carlo inference. In some cases these results were previously known, but required detailed proofs with an operational flavor; by contrast, all our proofs work directly with programs' denotations.

READ FULL TEXT
research
04/07/2018

Discontinuous Hamiltonian Monte Carlo for Probabilistic Programs

Hamiltonian Monte Carlo (HMC) is the dominant statistical inference algo...
research
04/08/2020

Densities of almost-surely terminating probabilistic programs are differentiable almost everywhere

We study the differential properties of higher-order statistical probabi...
research
11/30/2021

Towards Denotational Semantics of AD for Higher-Order, Recursive, Probabilistic Languages

Automatic differentiation (AD) aims to compute derivatives of user-defin...
research
07/16/2018

Formal verification of higher-order probabilistic programs

Probabilistic programming provides a convenient lingua franca for writin...
research
03/06/2019

LF-PPL: A Low-Level First Order Probabilistic Programming Language for Non-Differentiable Models

We develop a new Low-level, First-order Probabilistic Programming Langua...
research
11/09/2017

Denotational validation of higher-order Bayesian inference

We present a modular semantic account of Bayesian inference algorithms f...
research
12/13/2022

ADEV: Sound Automatic Differentiation of Expected Values of Probabilistic Programs

Optimizing the expected values of probabilistic processes is a central p...

Please sign up or login with your details

Forgot password? Click here to reset