Functional Tensors for Probabilistic Programming

10/23/2019
by   Fritz Obermeyer, et al.
0

It is a significant challenge to design probabilistic programming systems that can accommodate a wide variety of inference strategies within a unified framework. Noting that the versatility of modern automatic differentiation frameworks is based in large part on the unifying concept of tensors, we describe a software abstraction –functional tensors– that captures many of the benefits of tensors, while also being able to describe continuous probability distributions. Moreover, functional tensors are a natural candidate for generalized variable elimination and parallel-scan filtering algorithms that enable parallel exact inference for a large family of tractable modeling motifs. We demonstrate the versatility of functional tensors by integrating them into the modeling frontend and inference backend of the Pyro programming language. In experiments we show that the resulting framework enables a large variety of inference strategies, including those that mix exact and approximate inference.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/13/2023

∇SD: Differentiable Programming for Sparse Tensors

Sparse tensors are prevalent in many data-intensive applications, yet ex...
research
01/20/2019

A tensorized logic programming language for large-scale data

We introduce a new logic programming language T-PRISM based on tensor em...
research
11/09/2022

TreeFlow: probabilistic programming and automatic differentiation for phylogenetics

Probabilistic programming frameworks are powerful tools for statistical ...
research
10/18/2018

Pyro: Deep Universal Probabilistic Programming

Pyro is a probabilistic programming language built on Python as a platfo...
research
05/26/2023

Exact Bayesian Inference on Discrete Models via Probability Generating Functions: A Probabilistic Programming Approach

We present an exact Bayesian inference method for discrete statistical m...
research
12/24/2019

Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro

NumPyro is a lightweight library that provides an alternate NumPy backen...
research
10/29/2022

MinUn: Accurate ML Inference on Microcontrollers

Running machine learning inference on tiny devices, known as TinyML, is ...

Please sign up or login with your details

Forgot password? Click here to reset