# Inference Plans for Hybrid Particle Filtering

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

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 22 of its 55 references that are in the map.
- First posted on arXiv 21 Aug 2024.

## Builds on (most cited first, 22 of 22)

- [Unsupervised Label Noise Modeling and Loss Correction](https://mlsanity.com/paper/1904.11238/) (2019)
- [Expectation Propagation for approximate Bayesian inference](https://mlsanity.com/paper/1301.2294/) (2013)
- [Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks](https://mlsanity.com/paper/1301.3853/) (2013)
- [Deep Amortized Inference for Probabilistic Programs](https://mlsanity.com/paper/1610.05735/) (2016)
- [Venture: a higher-order probabilistic programming platform with programmable inference](https://mlsanity.com/paper/1404.0099/) (2014)
- [Automatic Reparameterisation of Probabilistic Programs](https://mlsanity.com/paper/1906.03028/) (2019)
- [Design and Implementation of Probabilistic Programming Language Anglican](https://mlsanity.com/paper/1608.05263/) (2016)
- [Automated learning with a probabilistic programming language: Birch](https://mlsanity.com/paper/1810.01539/) (2018)
- [Divide, Conquer, and Combine: a New Inference Strategy for Probabilistic Programs with Stochastic Support](https://mlsanity.com/paper/1910.13324/) (2019)
- [Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs](https://mlsanity.com/paper/1708.07787/) (2017)
- [Reactive Probabilistic Programming](https://mlsanity.com/paper/1908.07563/) (2019)
- [Functional Tensors for Probabilistic Programming](https://mlsanity.com/paper/1910.10775/) (2019)
- [Smoothness Analysis for Probabilistic Programs with Application to Optimised Variational Inference](https://mlsanity.com/paper/2208.10530/) (2022)
- [Conditional independence by typing](https://mlsanity.com/paper/2010.11887/) (2020)
- [Semi-Symbolic Inference for Efficient Streaming Probabilistic Programming](https://mlsanity.com/paper/2209.07490/) (2022)
- [Autoconj: Recognizing and Exploiting Conjugacy Without a Domain-Specific Language](https://mlsanity.com/paper/1811.11926/) (2018)
- [Automatically Marginalized MCMC in Probabilistic Programming](https://mlsanity.com/paper/2302.00564/) (2023)
- [Bounded Expectations: Resource Analysis for Probabilistic Programs](https://mlsanity.com/paper/1711.08847/) (2017)
- [Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages](https://mlsanity.com/paper/2003.05191/) (2020)
- [Statically Bounded-Memory Delayed Sampling for Probabilistic Streams](https://mlsanity.com/paper/2109.12473/) (2021)
- [flip-hoisting: Exploiting Repeated Parameters in Discrete Probabilistic Programs](https://mlsanity.com/paper/2110.10284/) (2021)
- [Newtonian Program Analysis of Probabilistic Programs](https://mlsanity.com/paper/2307.09064/) (2023)

## Abstract (arXiv)

Advanced probabilistic programming languages (PPLs) using hybrid particle filtering combine symbolic exact inference and Monte Carlo methods to improve inference performance. These systems use heuristics to partition random variables within the program into variables that are encoded symbolically and variables that are encoded with sampled values, and the heuristics are not necessarily aligned with the developer's performance evaluation metrics. In this work, we present inference plans, a programming interface that enables developers to control the partitioning of random variables during hybrid particle filtering. We further present Siren, a new PPL that enables developers to use annotations to specify inference plans the inference system must implement. To assist developers with statically reasoning about whether an inference plan can be implemented, we present an abstract-interpretation-based static analysis for Siren for determining inference plan satisfiability. We prove the analysis is sound with respect to Siren's semantics. Our evaluation applies inference plans to three different hybrid particle filtering algorithms on a suite of benchmarks. It shows that the control provided by inference plans enables speed ups of 1.76x on average and up to 206x to reach a target accuracy, compared to the inference plans implemented by default heuristics; the results also show that inference plans improve accuracy by 1.83x on average and up to 595x with less or equal runtime, compared to the default inference plans. We further show that our static analysis is precise in practice, identifying all satisfiable inference plans in 27 out of the 33 benchmark-algorithm evaluation settings.
