DeepAI
Log In Sign Up

Control-Data Separation and Logical Condition Propagation for Efficient Inference on Probabilistic Programs

01/05/2021
by   Ichiro Hasuo, et al.
0

We introduce a novel sampling algorithm for Bayesian inference on imperative probabilistic programs. It features a hierarchical architecture that separates control flows from data: the top-level samples a control flow, and the bottom level samples data values along the control flow picked by the top level. This separation allows us to plug various language-based analysis techniques in probabilistic program sampling; specifically, we use logical backward propagation of observations for sampling efficiency. We implemented our algorithm on top of Anglican. The experimental results demonstrate our algorithm's efficiency, especially for programs with while loops and rare observations.

READ FULL TEXT

page 1

page 2

page 3

page 4

01/24/2023

Asynchronous Probabilistic Couplings in Higher-Order Separation Logic

Probabilistic couplings are the foundation for many probabilistic relati...
04/08/2021

Sound Probabilistic Inference via Guide Types

Probabilistic programming languages aim to describe and automate Bayesia...
09/26/2021

Statically Bounded-Memory Delayed Sampling for Probabilistic Streams

Probabilistic programming languages aid developers performing Bayesian i...
03/01/2021

Meta-Learning an Inference Algorithm for Probabilistic Programs

We present a meta-algorithm for learning a posterior-inference algorithm...
10/30/2019

Bayesian causal inference via probabilistic program synthesis

Causal inference can be formalized as Bayesian inference that combines a...
09/10/2020

Disjunctive Delimited Control

Delimited control is a powerful mechanism for programming language exten...