Explorations in Probabilistic Programming: Generative Probabilistic Graphics Programming and New Research Directions


October 10, 2013


Yura Perov




Probabilistic programming has recently attracted much attention in Computer Science and Machine Learning communities. I will demonstrate two generative probabilistic graphics programs (models), which I contributed to develop. The first can read text from simple CAPTCHAs, and the second can find roads from real-world images. Both work by performing approximate inference over the executions of simple renderers, using the general-purpose Metropolis-Hastings inference engine built into a probabilistic programming system. I will briefly touch on two other research directions I am interested in pursuing: a path to scaling up general-purpose approximate inference in probabilistic programs using parallelism, based on preliminary work on a multithreaded approximate MCMC scheme for Church-like languages, and a much longer-term path to automatic programming via general-purpose approximate inference.

This is based on joint work with Vikash Mansinghka, Tejas Kulkarni, and Joshua Tenenbaum, especially “Approximate Bayesian Image Interpretation using Generative Probabilistic Graphics Programs”, http://arxiv.org/abs/1307.0060


Yura Perov

Yura Perov has been working last academic year as a visiting student at Prof. Joshua Tenenbaum’s lab (Massachusetts Institute of Technology, CSAIL & BCS departments), supervised by Dr. Vikash Mansinghka, being a lead-developer and co-designer of Venture probabilistic language (probabilistic programming). He also actively participated in several research projects related to probabilistic programming applications, which have been being run in the lab (e.g., approximate Bayesian image interpretation using probabilistic programming, see: http://arxiv.org/abs/1307.0060 ). Next year he is going to spend at Oxford University at Dr. Frank Wood lab, continuing working in probabilistic programming, especially in applying sequential methods and doing research on parallel automatic programming