Bayesian neural networks

31. Bayesian neural networks#

The introduction part of this lecture is inspired by the chapter “Learning as Inference” in the excellent book Information Theory, Inference, and Learning Algorithms by David MacKay [Mac03].

Some python libraries that are relevant for Bayesian Neural Networks (and part of the general trend towards Probabilistic Programming in Machine Learning) are:

  • PyTorch, which is what we use in this course. The demonstration at the end of this lecture builds a Bayesian neural network with nothing but torch.nn.

  • Pyro, a probabilistic programming language built on PyTorch.

  • Tensorflow Probability

  • PyMC, the successor to PyMC3.