Pyro
We will introduce this Deep Universal Probabilistic Programming tool from zero to all.
Pyro is a deep probabilistic programming language(PPL) released by Uber AI Labs. Pyro is built on top of PyTorch and is based on four fundamental principles:
In addition to pyro.condition
for incorporating observations, Pyro also contains pyro.do
, an implementation of Pearl's do
-operator used for causal inference with an identical interface to pyro.condition
. condition
and do
can be mixed and composed freely, making Pyro a powerful tool for model-based causal inference.
Pyro is a universal probabilistic programming language (PPL) written in Python and supported by PyTorch on the backend. Pyro enables flexible and expressive deep probabilistic modeling, unifying the best of modern deep learning and Bayesian modeling. It was designed with these key principles: Universal, Scalable, Flexible, Minimal
Pyro is a deep probabilistic programming language built on PyTorch, a GPU-accelerated deep learning framework. Developed at Uber AI Labs by Noah Goodman and team, Pyro is used as a platform for research in modern Bayesian machine learning, where deep neural networks can be used both in models and in inference. To scale to large datasets and high-dimensional models, Pyro uses stochastic variational inference algorithms and probability distributions built on top of PyTorch. The Pyro team works closely with the PyTorch team and many open source collaborators to create a rich, stable tool set for probabilistic machine learning research.
References:
[2] Gen: a general-purpose probabilistic programming system with programmable inference (Marco F. Cusumano, 2019)
对比其他概率图模型工具:
Pyro enables flexible and expressive deep probabilistic modeling, unifying the best of modern deep learning and Bayesian modeling.
概率编程 <-- History of Programming <-- Deep Learning 时代有特点 <-- Diff between Prob & Deterministic Programing
why create it?
Probabilistic Modeling in AI: Frontiers, Goals for pyro.
概率编程
MLTrain@UAI2018, Pyro
1. Is Pyro worth learning?
Absolutely!!!!
2. What is PPL?
The field of probabilistic programming languages(PPL) is experiencing a marvelous renaissance carried by the rapid growth of machine learning technologies. PPLs are a regular component of machine learning pipelines but its implementation remains challenging. The combination of statistics and deep learning is a key element of the future of the artificial intelligence space.