Deep Amortized Inference for Probabilistic Programs
arXiv:1610.05735
Abstract
Probabilistic programming languages (PPLs) are a powerful modeling tool, able to represent any computable probability distribution. Unfortunately, probabilistic program inference is often intractable, and existing PPLs mostly rely on expensive, approximate sampling-based methods. To alleviate this problem, one could try to learn from past inferences, so that future inferences run faster. This strategy is known as amortized inference; it has recently been applied to Bayesian networks and deep generative models. This paper proposes a system for amortized inference in PPLs. In our system, amortization comes in the form of a parameterized guide program. Guide programs have similar structure to the original program, but can have richer data flow, including neural network components. These networks can be optimized so that the guide approximately samples from the posterior distribution defined by the original program. We present a flexible interface for defining guide programs and a stochastic gradient-based scheme for optimizing guide parameters, as well as some preliminary results on automatically deriving guide programs. We explore in detail the common machine learning pattern in which a 'local' model is specified by 'global' random values and used to generate independent observed data points; this gives rise to amortized local inference supporting global model learning.
References in corpus (6)
Cited by in corpus (20)
- Monte Carlo Gradient Estimation in Machine Learning
- Variational Deep Image Restoration
- Meta-learning of Sequential Strategies
- Likelihood-free MCMC with Amortized Approximate Ratio Estimators
- MultiVerse: Causal Reasoning using Importance Sampling in Probabilistic Programming
- Generative Grading: Near Human-level Accuracy for Automated Feedback on Richly Structured Problems
- ProBO: Versatile Bayesian Optimization Using Any Probabilistic Programming Language
- Divide, Conquer, and Combine: a New Inference Strategy for Probabilistic Programs with Stochastic Support
- Neural Clustering Processes
- Learning Proposals for Probabilistic Programs with Inference Combinators
- Automating Involutive MCMC using Probabilistic and Differentiable Programming
- Using probabilistic programs as proposals
- Amortized Rejection Sampling in Universal Probabilistic Programming
- Amortized Bayesian inference for clustering models
- High Throughput Synchronous Distributed Stochastic Gradient Descent
- Universal Marginalizer for Amortised Inference and Embedding of Generative Models
- Meta-Learning an Inference Algorithm for Probabilistic Programs
- Variational Deep Image Denoising
- Universal Marginaliser for Deep Amortised Inference for Probabilistic Programs
- Accelerating Metropolis-Hastings with Lightweight Inference Compilation