Inference Compilation and Universal Probabilistic Programming
This work addresses the computational bottleneck of inference in probabilistic programming for researchers and practitioners, offering a novel integration with deep learning to improve efficiency.
The authors tackled the problem of expensive inference in universal probabilistic programming languages by introducing a method that uses deep neural networks to amortize inference costs, transforming probabilistic programs into trained neural networks for approximate inference, and demonstrated significant speedups in efficiency on mixture models and Captcha solving.
We introduce a method for using deep neural networks to amortize the cost of inference in models from the family induced by universal probabilistic programming languages, establishing a framework that combines the strengths of probabilistic programming and deep learning methods. We call what we do "compilation of inference" because our method transforms a denotational specification of an inference problem in the form of a probabilistic program written in a universal programming language into a trained neural network denoted in a neural network specification language. When at test time this neural network is fed observational data and executed, it performs approximate inference in the original model specified by the probabilistic program. Our training objective and learning procedure are designed to allow the trained neural network to be used as a proposal distribution in a sequential importance sampling inference engine. We illustrate our method on mixture models and Captcha solving and show significant speedups in the efficiency of inference.