Deep Probabilistic Programming
arXiv:1701.03757
Abstract
We propose Edward, a Turing-complete probabilistic programming language. Edward defines two compositional representations---random variables and inference. By treating inference as a first class citizen, on a par with modeling, we show that probabilistic programming can be as flexible and computationally efficient as traditional deep learning. For flexibility, Edward makes it easy to fit the same model using a variety of composable inference methods, ranging from point estimation to variational inference to MCMC. In addition, Edward can reuse the modeling representation as part of inference, facilitating the design of rich variational models and generative adversarial networks. For efficiency, Edward is integrated into TensorFlow, providing significant speedups over existing probabilistic systems. For example, we show on a benchmark logistic regression task that Edward is at least 35x faster than Stan and 6x faster than PyMC3. Further, Edward incurs no runtime overhead: it is as fast as handwritten TensorFlow.
Appears in International Conference on Learning Representations, 2017. A companion webpage for this paper is available at http://edwardlib.org/iclr2017
References in corpus (11)
- TensorFlow: A system for large-scale machine learning
- Caffe: Convolutional Architecture for Fast Feature Embedding
- Stochastic Backpropagation and Approximate Inference in Deep Generative Models
- Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
- Expectation Propagation for approximate Bayesian inference
- Edward: A library for probabilistic modeling, inference, and criticism
- Variational Bayesian Inference with Stochastic Search
- Hierarchical Implicit Models and Likelihood-Free Variational Inference
- Exponential Family Embeddings
- Structured Stochastic Variational Inference
- Swift: Compiled Inference for Probabilistic Programming Languages
Cited by in corpus (40)
- An Introduction to Variational Autoencoders
- Hands-on Bayesian Neural Networks -- a Tutorial for Deep Learning Users
- Deep Reinforcement Learning: An Overview
- Mining gold from implicit models to improve likelihood-free inference
- Denotational validation of higher-order Bayesian inference
- Simple, Distributed, and Accelerated Probabilistic Programming
- A Whole Brain Probabilistic Generative Model: Toward Realizing Cognitive Architectures for Developmental Robots
- Hyper-Molecules: on the Representation and Recovery of Dynamical Structures, with Application to Flexible Macro-Molecular Structures in Cryo-EM
- Machine Learning in High Energy Physics Community White Paper
- Revisiting Reweighted Wake-Sleep for Models with Stochastic Control Flow
- Coupled VAE: Improved Accuracy and Robustness of a Variational Autoencoder
- Unconstrained Monotonic Neural Networks
- A Differential-form Pullback Programming Language for Higher-order Reverse-mode Automatic Differentiation
- ProBO: Versatile Bayesian Optimization Using Any Probabilistic Programming Language
- The Medical Deconfounder: Assessing Treatment Effects with Electronic Health Records
- RecSim NG: Toward Principled Uncertainty Modeling for Recommender Ecosystems
- Variational Deep Q Network
- Modular Probabilistic Models via Algebraic Effects
- Divide, Conquer, and Combine: a New Inference Strategy for Probabilistic Programs with Stochastic Support
- Simplifying Dependent Reductions in the Polyhedral Model
- Probabilistic Software Modeling: A Data-driven Paradigm for Software Analysis
- Automatic variational inference with cascading flows
- Myopic Bayesian Design of Experiments via Posterior Sampling and Probabilistic Programming
- SLASH: Embracing Probabilistic Circuits into Neural Answer Set Programming
- Hamiltonian Monte Carlo for Probabilistic Programs with Discontinuities
- On Open-Universe Causal Reasoning
- GPU-based Parallel Computation Support for Stan
- Scaling Bayesian inference of mixed multinomial logit models to very large datasets
- Estimating uncertainty of earthquake rupture using Bayesian neural network
- Combining Probabilistic Logic and Deep Learning for Self-Supervised Learning
- Embedded-model flows: Combining the inductive biases of model-free deep learning and explicit probabilistic modeling
- From high-level inference algorithms to efficient code
- Compositional Inference Metaprogramming with Convergence Guarantees
- Probabilistic Programming with CuPPL
- Transcriptional Response of SK-N-AS Cells to Methamidophos
- Explaining Deep Tractable Probabilistic Models: The sum-product network case
- Doubly Bayesian Optimization
- Automatic Guide Generation for Stan via NumPyro
- Improving Predictive Uncertainty Estimation using Dropout -- Hamiltonian Monte Carlo
- Probabilistic Programs with Stochastic Conditioning