Bayesian Layers: A Module for Neural Network Uncertainty

Tran, Dustin, Dusenberry, Mike, Wilk, Mark van der, Hafner, Danijar

Neural Information Processing Systems 

We describe Bayesian Layers, a module designed for fast experimentation with neural network uncertainty. It extends neural network libraries with drop-in replacements for common layers. This enables composition via a unified abstraction over deterministic and stochastic functions and allows for scalability via the underlying system. These layers capture uncertainty over weights (Bayesian neural nets), pre-activation units (dropout), activations ( stochastic output layers''), or the function itself (Gaussian processes). They can also be reversible to propagate uncertainty from input to output.