Deep Probabilistic Programming
By Dustin Tran, Matthew D. Hoffman, Rif A. Saurous, Eugene Brevdo, Kevin P. Murphy, David M. Blei. 2017
203 citations recorded by the source corpus.
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.
Subfields: Artificial Intelligence, Computer Vision and Pattern Recognition, Probabilistic & Bayesian Methods
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Sergey Levine
- Yoshua Bengio
- Eric P. Xing
- Richard E. Turner
- Ruslan Salakhutdinov
- Quoc V. Le
- Zoubin Ghahramani
- Max Welling
In Computer Vision and Pattern Recognition
- Luc Van Gool
- Dacheng Tao
- Trevor Darrell
- Xiaogang Wang
- Ming-Hsuan Yang
- Jitendra Malik
- Andrew Zisserman
- Li Fei-Fei
In Probabilistic & Bayesian Methods
- David M. Blei
- Richard E. Turner
- Zoubin Ghahramani
- Frank D. Wood
- Thang D. Bui
- Andrew Gordon Wilson
- Matthew D. Hoffman
- Dustin Tran
Citations in the corpus
- Programmable Agents (2017, background): “Compositionality has become a topic of great interest in machine learning, robotics and cognitive science [20, 30, 19, 9, 35, 26], and it has been central to research in language [32, 25, 33, 36].”
- An Introduction to Probabilistic Programming (2018, neutral): “, 2009), Edward (Tran et al., 2017), PyMC3 (Salvatier et al.”
- Automatic differentiation in machine learning: a survey (2015, background): “, 2016) is a library for deep probabilistic modeling, inference, and criticism (Tran et al., 2017) that supports VI using TensorFlow.”
- Efficient Probabilistic Inference in the Quest for Physics Beyond the Standard Model (2018, background): “Modern PPLs such as Pyro [20] and Edward2 [32, 83, 84] use gradient-based inference engines including variational inference [53, 58] and Hamiltonian Monte Carlo [54, 70] that benefit from modern deep learning hardware and automatic differentiation [18] features provided by PyTorch [72] and TensorFlow”
- Hands-On Bayesian Neural Networks—A Tutorial for Deep Learning Users (2020, methodology): “The results were Pyro [5], constructed on top of PyTorch, and Edward [87], constructed on top of TensorFlow.”
- Sequence classification of the limit order book using recurrent neural networks (2017, methodology): “Recently, TensorFlow has been augmented by Edward Tran et al. (2017) to combine concepts in Bayesian statistics and probabilistic programming with deep learning.”
- ArviZ a unified library for exploratory analysis of Bayesian models in Python (2019, background): “ArviZ aims to be a package that integrates seamlessly with established probabilistic programming languages like PyStan (“Stan: A Probabilistic Programming Language | Carpenter | Journal of Statistical Software,” n.d.), PyMC (Salvatier, Wiecki, and Fonnesbeck 2016), Edward (Tran et al. 2017; Tran et ”
- Towards the Augmented Pathologist: Challenges of Explainable-AI in Digital Pathology (2017, background): “Recent developments in probabilistic programming support such approaches (Fadja and Riguzzi, 2017; Tran et al., 2017).”
- Probabilistic programming with programmable inference (2018, methodology): “For example, LibBi [34] and Gen [27] support user-space definition of custom proposal distributions, and Figaro [35], Edward [49], and Pyro [1] support additional constructs.”
- Text as Data (2017, background): “Edward and similar tools can be used to implement topic models and the other kinds of text models that we discussed above.”
- BoTorch: Programmable Bayesian Optimization in PyTorch (2019, background): “If a is differentiable with respect to ζ , then In B O T ORCH , these chains of derivatives are handled by auto-differentiation.”
- Simple, Distributed, and Accelerated Probabilistic Programming (2018, background): “Recent advances such as Edward [48] have enabled finer control over inference procedures in deep learning (see also [28, 7]).”
- A survey of uncertainty in deep neural networks (2021, background): “filtering [129] etc, (ii) probabilistic programming to exploit modern Graphical Processing Units (GPUs) [130], [131], [132], [133], (iii) different types of priors [134], [135], (iv) advancements in theoretical understandings of BNNs [136], [121], [137], (iv) uncertainty propagation techniques to sp”
- MXFusion: A Modular Deep Probabilistic Programming Library (2018, background): “Recent PPLs such as Edward (Tran et al., 2017) and Pyro (Goodman, 2017) have greatly reduced the performance gap by allowing users to customized posterior distributions that are, then, used by a generic variational inference.”
- Partitioned Variational Inference: A unified framework encompassing federated and continual learning (2018, background): “Each of these different branches of approximate inference has been arguably developed exclusively of each other, for example, existing probabilistic programming toolkits tend to work primarily with one approach but not both [see e.g. Tran et al., 2017, Minka et al., 2018].”
- Automatic Guide Generation for Stan via NumPyro (2021, methodology): “…PPLs are increasingly used in machine-learning research and are rapidly incorporating new ideas, such as Stochastic Gradient Variational Inference (VI), or Bayesian neural networks in what is now called Deep Probabilistic Programming [Baudart et al. 2018; Bingham et al. 2019; Tran et al. 2017].”
- Compiling Stan to generative probabilistic languages and extension to deep probabilistic programming (2021, methodology): “Generative PPLs are increasingly used in machine-learning research and are rapidly incorporating new ideas, such as Stochastic Gradient Variational Inference (SVI), in what is now called Deep Probabilistic Programming [2, 3, 33].”
- Deep Reinforcement Learning: An Overview (2017, background): “…Learning for Intelligent Transportation Systems • smart grid, e.g., Wen et al. (2015b) • physics experiments, e.g., Denil et al. (2016) • deep probabilistic programming, Tran et al. (2017) • deep learning games, Schuurmans and Zinkevich (2016) • program learning, e.g., Reed and de Freitas…”