Toyota AI Seminar: Efficient Implementation of and Inference in Probabilistic Programming Languages
Add to Google Calendar
Probabilistic programming languages simplify the development
of probabilistic models by allowing programmers to specify a
stochastic process using syntax that resembles modern
programming languages. These languages allow programmers to
freely mix deterministic and stochastic elements, resulting
in tremendous modeling flexibility. The resulting programs
define prior distributions: running the (unconditional)
program forward many times results in a distribution over
execution traces, with each trace generating a sample of
data from the prior. The goal of inference in such programs
is to reason about the posterior distribution over execution
traces conditioned on a particular program output —
essentially "running the program backwards."
In this talk, I will discuss a general technique for turning
any programming language into a probabilistic programming
language with an accompanying universal Markov chain Monte
Carlo inference engine. The method allows the full use of
all language constructs permitted by the original
(non-probabilistic) language. I will illustrate the
technique by discussing Stochastic Matlab, a new imperative
probabilistic programming language, and will show examples
of probabilistic programming applied to problems in
planning, vision and machine learning.
This is joint work with Noah Goodman, Andreas Stuhlmueller,
and Joshua Tenenbaum.
David Wingate received a B.S. and M.S. in Computer Science from
Brigham Young University in 2002 and 2004, and a Ph.D. in
Computer Science from University of Michigan in 2008. He is
currently a research scientist at MIT with a joint appointment in
the Computational Cognitive Science group and Laboratory for
Information Decision Systems.
His research interests lie at the intersection of perception, control
and learning. He has mostly recently focused on probabilistic
programming and its application to reinforcement learning, dynamical
systems modeling and machine learning.