skip to main content
article

Compiling Markov chain Monte Carlo algorithms for probabilistic modeling

Published:14 June 2017Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. B ISHOP, C. M., Ed. Pattern Recognition and Machine Learning. Springer, 2006.Google ScholarGoogle Scholar
  5. B ONAWITZ, K. A. Composable Probabilistic Inference with Blaise. PhD thesis, Massachusetts Institute of Technology, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. in press.Google ScholarGoogle Scholar
  10. D AUME, III, H. Hierarchical Bayesian Compiler. http: //www.umiacs.umd.edu/~hal/HBC/, 2008.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. L ICHMAN, M. UCI Machine Learning Repository, 2013.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. Microsoft Research Cambridge. http://research.microsoft.com/infernet.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. N EAPOLITAN, R. E. Learning Bayesian Networks. Prentice Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. N EAPOLITAN, R. E. Learning Bayesian Networks. Prentice Hall, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. S TAN D EVELOPMENT T EAM. Stan Modeling Language: User’s Guide and Reference Manual. http://mcstan.org/documentation/, 2015.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. T IERNEY, L. Markov Chains for Exploring Posterior Distributions. Ann. Statist. 22, 4 (12 1994), 1701–1728.Google ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Compiling Markov chain Monte Carlo algorithms for probabilistic modeling

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!