# Automated learning with a probabilistic programming language: Birch

arXiv: https://arxiv.org/abs/1810.01539 · HTML: https://mlsanity.com/paper/1810.01539/

## Key facts

- Cited by 11 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 2 Oct 2018.

## Built on by (most cited first, 11 of 11)

- [Nested Variational Inference](https://mlsanity.com/paper/2106.11302/) (2021)
- [Learning Proposals for Probabilistic Programs with Inference Combinators](https://mlsanity.com/paper/2103.00668/) (2021)
- [Automatically Marginalized MCMC in Probabilistic Programming](https://mlsanity.com/paper/2302.00564/) (2023)
- [Rethinking Variational Inference for Probabilistic Programs with Stochastic Support](https://mlsanity.com/paper/2311.00594/) (2023)
- [Control-Data Separation and Logical Condition Propagation for Efficient Inference on Probabilistic Programs](https://mlsanity.com/paper/2101.01502/) (2021)
- [Expectation Programming: Adapting Probabilistic Programming Systems to Estimate Expectations Efficiently](https://mlsanity.com/paper/2106.04953/) (2021)
- [Marginalized particle Gibbs for multiple state-space models coupled through shared parameters](https://mlsanity.com/paper/2210.07379/) (2022)
- [Beyond Bayesian Model Averaging over Paths in Probabilistic Programs with Stochastic Support](https://mlsanity.com/paper/2310.14888/) (2023)
- [Automatic Rao-Blackwellization for Sequential Monte Carlo with Belief Propagation](https://mlsanity.com/paper/2312.09860/) (2023)
- [Inference Plans for Hybrid Particle Filtering](https://mlsanity.com/paper/2408.11283/) (2024)
- [Achieving Operational Universality through a Turing Complete Chemputer](https://mlsanity.com/paper/2502.02872/) (2025)

## Abstract (arXiv)

This work offers a broad perspective on probabilistic modeling and inference in light of recent advances in probabilistic programming, in which models are formally expressed in Turing-complete programming languages. We consider a typical workflow and how probabilistic programming languages can help to automate this workflow, especially in the matching of models with inference methods. We focus on two properties of a model that are critical in this matching: its structure---the conditional dependencies between random variables---and its form---the precise mathematical definition of those dependencies. While the structure and form of a probabilistic model are often fixed a priori, it is a curiosity of probabilistic programming that they need not be, and may instead vary according to random choices made during program execution. We introduce a formal description of models expressed as programs, and discuss some of the ways in which probabilistic programming languages can reveal the structure and form of these, in order to tailor inference methods. We demonstrate the ideas with a new probabilistic programming language called Birch, with a multiple object tracking example.
