SOTAVerified

Nonstandard Interpretations of Probabilistic Programs for Efficient Inference

2011-12-01NeurIPS 2011Unverified0· sign in to hype

David Wingate, Noah Goodman, Andreas Stuhlmueller, Jeffrey M. Siskind

Unverified — Be the first to reproduce this paper.

Reproduce

Abstract

Probabilistic programming languages allow modelers to specify a stochastic process using syntax that resembles modern programming languages. Because the program is in machine-readable format, a variety of techniques from compiler design and program analysis can be used to examine the structure of the distribution represented by the probabilistic program. We show how nonstandard interpretations of probabilistic programs can be used to craft efficient inference algorithms: information about the structure of a distribution (such as gradients or dependencies) is generated as a monad-like side computation while executing the program. These interpretations can be easily coded using special-purpose objects and operator overloading. We implement two examples of nonstandard interpretations in two different languages, and use them as building blocks to construct inference algorithms: automatic differentiation, which enables gradient based methods, and provenance tracking, which enables efficient construction of global proposals.

Tasks

Reproductions