Home /Research /Probabilistic programming with programmable inference
PERCEPTION

Probabilistic programming with programmable inference

Vikash K. Mansinghka, Ulrich Schaechtle, Shivam Handa, Alexey Radul, Yutian Chen, Martin Rinard

Year
2018
Citations
37

Abstract

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.

Keywords

MetaprogrammingComputer scienceInferenceProbabilistic logicArtificial intelligenceProgramming languageMarkov chain Monte CarloMachine learningTheoretical computer scienceBayesian probability

Related papers

Browse all PERCEPTION papers