Probabilistic programming with programmable inference
Author(s)
Mansinghka, Vikash K.; Schaechtle, Ulrich; Handa, Shivam; Radul, Alexey; Chen, Yutian; Rinard, Martin; ... Show more Show less
DownloadAccepted version (961.3Kb)
Open Access Policy
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
© 2018 Copyright held by the owner/author(s). We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the first demonstration of effectiveness in practice. Instead of relying on rigid black-box inference algorithms hard-coded into the language implementation as in previous probabilistic programming languages, inference metaprogramming enables developers to 1) dynamically decompose inference problems into subproblems, 2) apply inference tactics to subproblems, 3) alternate between incorporating new data and performing inference over existing data, and 4) explore multiple execution traces of the probabilistic 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 probabilistic models and inference algorithms across diverse fields, such as computer vision, data science, and robotics, within a single probabilistic programming language.
Date issued
2018-06-11Department
MIT-IBM Watson AI Lab; Massachusetts Institute of Technology. Department of Brain and Cognitive Sciences; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science; Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryPublisher
ACM
Citation
Mansinghka, Vikash K., Schaechtle, Ulrich, Handa, Shivam, Radul, Alexey, Chen, Yutian et al. 2018. "Probabilistic programming with programmable inference."
Version: Author's final manuscript