Abstract
The problem of probabilistic modeling and inference, at a high-level, can be viewed as constructing a (model, query, inference) tuple, where an inference algorithm implements a query on a model. Notably, the derivation of inference algorithms can be a difficult and error-prone task. Hence, researchers have explored how ideas from probabilistic programming can be applied. In the context of constructing these tuples, probabilistic programming can be seen as taking a language-based approach to probabilistic modeling and inference. For instance, by using (1) appropriate languages for expressing models and queries and (2) devising inference techniques that operate on encodings of models (and queries) as program expressions, the task of inference can be automated.
In this paper, we describe a compiler that transforms a probabilistic model written in a restricted modeling language and a query for posterior samples given observed data into a Markov Chain Monte Carlo (MCMC) inference algorithm that implements the query. The compiler uses a sequence of intermediate languages (ILs) that guide it in gradually and successively refining a declarative specification of a probabilistic model and the query into an executable MCMC inference algorithm. The compilation strategy produces composable MCMC algorithms for execution on a CPU or GPU.
- A BADI, M., B ARHAM, P., C HEN, J., C HEN, Z., D AVIS, A., D EAN, J., D EVIN, M., G HEMAWAT, S., I RVING, G., I SARD, M., K UDLUR, M., L EVENBERG, J., M ONGA, R., M OORE, S., M URRAY, D. G., S TEINER, B., T UCKER, P., V ASUDEVAN, V., W ARDEN, P., W ICKE, M., Y U, Y., AND Z HENG, X. TensorFlow: A System for Large-Scale Machine Learning. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI) (2016). Google Scholar
Digital Library
- B ARTHOLOMEW -B IGGS, M., B ROWN, S., C HRISTIANSON, B., AND D IXON, L. Automatic differentiation of algorithms. Journal of Computational and Applied Mathematics 124, 1 (2000), 171–190. Google Scholar
Digital Library
- B HAT, S., B ORGSTR ÖM, J., G ORDON, A. D., AND R USSO, C. Deriving Probability Density Functions from Probabilistic Functional Programs. In Proceedings of the 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (2013), pp. 508–522. Google Scholar
Digital Library
- B ISHOP, C. M., Ed. Pattern Recognition and Machine Learning. Springer, 2006.Google Scholar
- B ONAWITZ, K. A. Composable Probabilistic Inference with Blaise. PhD thesis, Massachusetts Institute of Technology, 2008. Google Scholar
Digital Library
- B ORGSTR ÖM, J., G ORDON, A. D., G REENBERG, M., M AR - GETSON, J., AND V AN G AEL, J. Measure Transformer Semantics for Bayesian Machine Learning. In Programming Languages and Systems (2011), pp. 77–96. Google Scholar
Digital Library
- B ROOKS, S., G ELMAN, A., J ONES, G. L., AND M ENG, X.-L., Eds. Handbook of Markov Chain Monte Carlo, 1 ed. Chapman and Hall/CRC, 2011.Google Scholar
- C ARPENTER, B., L EE, D., B RUBAKER, M. A., R IDDELL, A., G ELMAN, A., G OODRICH, B., G UO, J., H OFFMAN, M., B ETANCOURT, M., AND L I, P. Stan: A Probabilistic Programming Language. Journal of Statistical Software (2016).Google Scholar
- in press.Google Scholar
- D AUME, III, H. Hierarchical Bayesian Compiler. http: //www.umiacs.umd.edu/~hal/HBC/, 2008.Google Scholar
- G EHR, T., M ISAILOVIC, S., AND V ECHEV, M. PSI: Exact Symbolic Inference for Probabilistic Programs. In Computer Aided Verification (2016), Springer International Publishing, pp. 62–83.Google Scholar
- G OODMAN, N., M ANSINGHKA, V., R OY, D. M., B ONAWITZ, K., AND T ENENBAUM, J. B. Church: A language for generative models. In Proceedings of the 24th Conference on Uncertainty in Artificial Intelligence (2008), AUAI, pp. 220–229. Google Scholar
Digital Library
- H UANG, D., AND M ORRISETT, G. An Application of Computable Distributions to the Semantics of Probabilistic Programming Languages. In Programming Languages and Systems (2016), pp. 337–363.Google Scholar
- L ICHMAN, M. UCI Machine Learning Repository, 2013.Google Scholar
- M ANSINGHKA, V. K., S ELSAM, D., AND P EROV, Y. N. Venture: a higher-order probabilistic programming platform with programmable inference. CoRR abs/1404.0099 (2014).Google Scholar
- M C C ALLUM, A., S CHULTZ, K., AND S INGH, S. Factorie: Probabilistic programming via imperatively defined factor graphs. In Advances in Neural Information Processing Systems 23 (2009), Neural Information Processing Systems Foundation, pp. 1249–1257. Google Scholar
Digital Library
- M INKA, T., W INN, J., G UIVER, J., W EBSTER, S., Z A - YKOV, Y., Y ANGEL, B., S PENGLER, A., AND B RONSKILL, J. Infer.NET 2.6, 2014.Google Scholar
- Microsoft Research Cambridge. http://research.microsoft.com/infernet.Google Scholar
- M URRAY, I., A DAMS, R. P., AND M AC K AY, D. J. Elliptical Slice Sampling. In Proceedings of the 13th International Conference on Artificial Intelligence and Statistics (2010), SAIS, pp. 541–548.Google Scholar
- N ARAYANAN, P., C ARETTE, J., R OMANO, W., S HAN, C.-C ., AND Z INKOV, R. Probabilistic inference by program transformation in Hakaru (System Description). In International Symposium on Functional and Logic Programming (2016), Springer, pp. 62–79.Google Scholar
Cross Ref
- N EAPOLITAN, R. E. Learning Bayesian Networks. Prentice Google Scholar
Digital Library
- N EAPOLITAN, R. E. Learning Bayesian Networks. Prentice Hall, 2004. Google Scholar
Digital Library
- N ORI, A. V., H UR, C.-K., R AJAMANI, S. K., AND S AMUEL, S. R2: An efficient mcmc sampler for probabilistic programs. In Proceedings of the 28th AAAI Conference on Artificial Intelligence (2010), AAAI, pp. 2476–2482. Google Scholar
Digital Library
- P AIGE, B., AND W OOD, F. A Compilation Target for Probabilistic Programming Languages. In Proceedings of the 31st International Conference on Machine Learning (2014), JMLR. Google Scholar
Digital Library
- S TAN D EVELOPMENT T EAM. Stan Modeling Language: User’s Guide and Reference Manual. http://mcstan.org/documentation/, 2015.Google Scholar
- T HOMAS, A., S PIEGELHALTER, D. J., AND G ILKS, W. R. BUGS: A program to perform Bayesian inference using Gibbs sampling. Bayesian Statistics 4, 9 (1992), 837–842.Google Scholar
- T IERNEY, L. Markov Chains for Exploring Posterior Distributions. Ann. Statist. 22, 4 (12 1994), 1701–1728.Google Scholar
- T ORONTO, N., M C C ARTHY, J., AND V AN H ORN, D. Running probabilistic programs backwards. In Programming Languages and Systems (2015), Springer, pp. 53–79.Google Scholar
- T RAN, D., H OFFMAN, M. D., S AUROUS, R. A., B REVDO, E., M URPHY, K., AND B LEI, D. M. Deep Probabilistic Programming. arXiv preprint arXiv:1701.03757 (2017).Google Scholar
- T RISTAN, J.-B., H UANG, D., T ASSAROTTI, J., P OCOCK, A. C., G REEN, S., AND S TEELE, G. L. Augur: Data-Parallel Probabilistic Modeling. In Advances in Neural Information Processing Systems 28 (2014), Neural Information Processing Systems Foundation, pp. 2600–2608. Google Scholar
Digital Library
- W OOD, F., VAN DE M EENT, J. W., AND M ANSINGHKA, V. A new approach to probabilistic programming inference. In Proceedings of the 17th International Conference on Artificial Intelligence and Statistics (2014), SAIS, pp. 2–46.Google Scholar
- W U, Y., L I, L., R USSELL, S., AND B OD ´ IK, R. Swift: Compiled Inference for Probabilistic Programming Languages. In Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (2016), pp. 3637–3645. Google Scholar
Digital Library
Index Terms
Compiling Markov chain Monte Carlo algorithms for probabilistic modeling
Recommendations
Compiling Markov chain Monte Carlo algorithms for probabilistic modeling
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and ImplementationThe problem of probabilistic modeling and inference, at a high-level, can be viewed as constructing a (model, query, inference) tuple, where an inference algorithm implements a query on a model. Notably, the derivation of inference algorithms can be a ...
Pseudo-marginal Markov Chain Monte Carlo for Nonnegative Matrix Factorization
A pseudo-marginal Markov chain Monte Carlo (PMCMC) method is proposed for nonnegative matrix factorization (NMF). The sampler jointly simulates the joint posterior distribution for the nonnegative matrices and the matrix dimensions which indicate the ...
Analyzing Markov chain Monte Carlo output
AbstractMarkov chain Monte Carlo (MCMC) is a sampling‐based method for estimating features of probability distributions. MCMC methods produce a serially correlated, yet representative, sample from the desired distribution. As such it can be difficult to ...
Visual representation of the multivariate correlation structure in a Markov chain. Output analysis that accounts for this multivariate structure is able to more accurately summarize variability in the simulation process. We review the output analysis ...






Comments