Probabilistic programming with programmable inference
By Vikash K. Mansinghka, Ulrich Schaechtle, Shivam Handa, Alexey Radul, Yutian Chen, Martin C. Rinard. 2018
63 citations recorded by the source corpus.
We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the rst demonstration of e ectiveness in practice. Instead of relying on rigid black-box inference algorithms hard-coded into the language implementation as in previous probabilistic programming languages, infer- ence metaprogramming enables developers to 1) dynamically decompose inference problems into subproblems, 2) apply in- ference tactics to subproblems, 3) alternate between incorpo- rating new data and performing inference over existing data, and 4) explore multiple execution traces of the probabilis- tic program at once. Implemented tactics include gradient- based optimization, Markov chain Monte Carlo, variational inference, and sequental Monte Carlo techniques. Inference metaprogramming enables the concise expression of proba- bilistic models and inference algorithms across diverse elds, such as computer vision, data science, and robotics, within a single probabilistic programming language.
Subfields: Artificial Intelligence, Probabilistic & Bayesian Methods
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Noah D. Goodman
- Vikash K. Mansinghka
- Alexander K. Lew
- Marco F. Cusumano-Towner
- Feras A. Saad
- Neeraj Pradhan
- Fritz Obermeyer
- Martin Jankowiak
In Probabilistic & Bayesian Methods
- Vikash K. Mansinghka
- Noah D. Goodman
- Alexander K. Lew
- Marco F. Cusumano-Towner
- Feras A. Saad
- Paul Horsfall
- Frank D. Wood
- Neeraj Pradhan
Citations in the corpus
- Pyro: Deep Universal Probabilistic Programming (2018, background): “Venture (Mansinghka et al. (2018)) is a universal language with a focus on expressiveness and flexibility and a custom syntax and virtual machine.”
- Gen: a general-purpose probabilistic programming system with programmable inference (2019, methodology): “In contrast, tailoring an algorithm for a model written in a more expressive language is an open-ended and difficult-to-automate task, which may require combining multiple custom inference strategies [40].”