2009 | OriginalPaper | Buchkapitel
Embedded Probabilistic Programming
verfasst von : Oleg Kiselyov, Chung-chieh Shan
Erschienen in: Domain-Specific Languages
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Two general techniques for implementing a domain-specific language (DSL) with less overhead are the
finally-tagless
embedding of object programs and the
direct-style
representation of side effects. We use these techniques to build a DSL for
probabilistic programming
, for expressing countable probabilistic models and performing exact inference and importance sampling on them. Our language is embedded as an ordinary OCaml library and represents probability distributions as ordinary OCaml programs. We use delimited continuations to reify probabilistic programs as lazy search trees, which inference algorithms may traverse without imposing any interpretive overhead on deterministic parts of a model. We thus take advantage of the existing OCaml implementation to achieve competitive performance and ease of use. Inference algorithms can easily be embedded in probabilistic programs themselves.