Summary
Neural networks, as we know, are great for point predictions, but can't help us identify the uncertainty in their predictions. On the other hand, Bayesian learning is great for quantifying uncertainty, but doesn't scale well in multiple dimensions or problems with big unstructured datasets such as images.
In this chapter, we looked at how we can combine neural networks with Bayesian learning using Bayesian neural networks.
We used the dataset of German Traffic Signs to develop a Bayesian neural network classifier using Google's recently released tool: TensorFlow probability. TF probability provides high-level APIs and functions to perform Bayesian modeling and inference.
We trained the Lenet model on the dataset. Finally, we used Monte Carlo to sample from the posterior of the parameters of the network to obtain predictions for each sample of the test dataset to quantify uncertainty.
However, we have only scratched the surface in terms of the complexity of Bayesian neural networks. If...