Conditional independence by typing

10/22/2020
by   Maria I. Gorinova, et al.
5

A central goal of probabilistic programming languages (PPLs) is to separate modelling from inference. However, this goal is hard to achieve in practice. Users are often forced to re-write their models in order to improve efficiency of inference or meet restrictions imposed by the PPL. Conditional independence (CI) relationships among parameters are a crucial aspect of probabilistic models that captures a qualitative summary of the specified model and can facilitate more efficient inference. We present an information flow type system for probabilistic programming that captures conditional independence (CI) relationships, and show that, for a well-typed program in our system, the distribution it implements is guaranteed to have certain CI-relationships. Further, by using type inference, we can statically deduce which CI-properties are present in a specified model. As a practical application, we consider the problem of how to perform inference on models with mixed discrete and continuous parameters. Inference on such models is challenging in many existing PPLs, but can be improved through a workaround, where the discrete parameters are used implicitly, at the expense of manual model re-writing. We present a source-to-source semantics-preserving transformation, which uses our CI-type system to automate this workaround by eliminating the discrete parameters from a probabilistic program. The resulting program can be seen as a hybrid inference algorithm on the original program, where continuous parameters can be drawn using efficient gradient-based inference methods, while the discrete parameters are drawn using variable elimination. We implement our CI-type system and its example application in SlicStan: a compositional variant of Stan.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/14/2022

Program Analysis of Probabilistic Programs

Probabilistic programming is a growing area that strives to make statist...
research
02/21/2023

Declarative Probabilistic Logic Programming in Discrete-Continuous Domains

Over the past three decades, the logic programming paradigm has been suc...
research
10/02/2018

Automated learning with a probabilistic programming language: Birch

This work offers a broad perspective on probabilistic modeling and infer...
research
10/31/2016

Inference Compilation and Universal Probabilistic Programming

We introduce a method for using deep neural networks to amortize the cos...
research
10/16/2019

Universal Marginaliser for Deep Amortised Inference for Probabilistic Programs

Probabilistic programming languages (PPLs) are powerful modelling tools ...
research
10/18/2016

Deep Amortized Inference for Probabilistic Programs

Probabilistic programming languages (PPLs) are a powerful modeling tool,...
research
11/13/2022

Methods for Recovering Conditional Independence Graphs: A Survey

Conditional Independence (CI) graphs are a type of probabilistic graphic...

Please sign up or login with your details

Forgot password? Click here to reset