TensorFlow Distributions
It provides a foundational tool for the deep learning community, facilitating probabilistic programming and inference in models with deep-network components.
The paper introduces TensorFlow Distributions, a library that adapts probability theory to differentiable deep learning, enabling modular construction of high-dimensional distributions and transformations for tasks like pixelCNNs and autoregressive flows.
The TensorFlow Distributions library implements a vision of probability theory adapted to the modern deep-learning paradigm of end-to-end differentiable computation. Building on two basic abstractions, it offers flexible building blocks for probabilistic computation. Distributions provide fast, numerically stable methods for generating samples and computing statistics, e.g., log density. Bijectors provide composable volume-tracking transformations with automatic caching. Together these enable modular construction of high dimensional distributions and transformations not possible with previous libraries (e.g., pixelCNNs, autoregressive flows, and reversible residual networks). They are the workhorse behind deep probabilistic programming systems like Edward and empower fast black-box inference in probabilistic models built on deep-network components. TensorFlow Distributions has proven an important part of the TensorFlow toolkit within Google and in the broader deep learning community.