Probabilistic Programming with Programmable Inference

被引:0
作者
Mansinghka, Vikash K. [1 ]
Schaechtle, Ulrich [1 ]
Handa, Shivam [1 ]
Radul, Alexey [1 ]
Chen, Yutian [2 ]
Rinard, Martin [1 ]
机构
[1] MIT, Cambridge, MA 02139 USA
[2] Google DeepMind, London, England
来源
PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018 | 2018年
关键词
Probabilistic Programming; Semantics; Inference;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:603 / 616
页数:14
相关论文
共 50 条
[1]   An introduction to MCMC for machine learning [J].
Andrieu, C ;
de Freitas, N ;
Doucet, A ;
Jordan, MI .
MACHINE LEARNING, 2003, 50 (1-2) :5-43
[2]  
[Anonymous], 2018, P 21 INT C ART INT S
[3]  
[Anonymous], 2014, PROC FOSE 14, DOI DOI 10.1145/2593882.2593900
[4]  
[Anonymous], 2009, Figaro: An object-oriented probabilistic programming language
[5]  
[Anonymous], 2016, Uber Engineering Pyro Announcement
[6]  
[Anonymous], 2012, Computer Vision: A Modern Approach, DOI DOI 10.5555/580035
[7]   Stan: A Probabilistic Programming Language [J].
Carpenter, Bob ;
Gelman, Andrew ;
Hoffman, Matthew D. ;
Lee, Daniel ;
Goodrich, Ben ;
Betancourt, Michael ;
Brubaker, Marcus A. ;
Guo, Jiqiang ;
Li, Peter ;
Riddell, Allen .
JOURNAL OF STATISTICAL SOFTWARE, 2017, 76 (01) :1-29
[8]  
Christian P. Robert, 1999, Monte Carlo statistical methods
[9]   THE COMPUTATIONAL-COMPLEXITY OF PROBABILISTIC INFERENCE USING BAYESIAN BELIEF NETWORKS [J].
COOPER, GF .
ARTIFICIAL INTELLIGENCE, 1990, 42 (2-3) :393-405
[10]   A Design Proposal for Gen: Probabilistic Programming with Fast Custom Inference via Code Generation [J].
Cusumano-Towner, Marco ;
Mansinghka, Vikash K. .
MAPL'18: PROCEEDINGS OF THE 2ND ACM SIGPLAN INTERNATIONAL WORKSHOP ON MACHINE LEARNING AND PROGRAMMING LANGUAGES, 2018, :52-57