Church: A Language for Generative Models

Abstract

Formal languages for probabilistic modeling enable re-use, modularity, and descriptive clarity, and can foster generic inference techniques. We introduce Church, a universal language for describing stochastic generative processes. Church is based on the Lisp model of lambda calculus, containing a pure Lisp as its deterministic subset. The semantics of Church is defined in terms of evaluation histories and conditional distributions on such histories. Church also includes a novel language construct, the stochastic memoizer, which enables simple description of many complex non-parametric models. We illustrate language features through several examples, including: a generalized Bayes net in which parameters cluster over trials, infinite PCFGs, planning by inference, and various non-parametric clustering models. Finally, we show how to implement query on any Church program, exactly and approximately, using Monte Carlo techniques.

Cite

Text

Goodman et al. "Church: A Language for Generative Models." Conference on Uncertainty in Artificial Intelligence, 2008.

Markdown

[Goodman et al. "Church: A Language for Generative Models." Conference on Uncertainty in Artificial Intelligence, 2008.](https://mlanthology.org/uai/2008/goodman2008uai-church/)

BibTeX

@inproceedings{goodman2008uai-church,
  title     = {{Church: A Language for Generative Models}},
  author    = {Goodman, Noah D. and Mansinghka, Vikash K. and Roy, Daniel M. and Bonawitz, Kallista A. and Tenenbaum, Joshua B.},
  booktitle = {Conference on Uncertainty in Artificial Intelligence},
  year      = {2008},
  pages     = {220-229},
  url       = {https://mlanthology.org/uai/2008/goodman2008uai-church/}
}