Book Image

Enhancing Deep Learning with Bayesian Inference

By : Matt Benatan, Jochem Gietema, Marian Schneider
Book Image

Enhancing Deep Learning with Bayesian Inference

By: Matt Benatan, Jochem Gietema, Marian Schneider

Overview of this book

Deep learning has an increasingly significant impact on our lives, from suggesting content to playing a key role in mission- and safety-critical applications. As the influence of these algorithms grows, so does the concern for the safety and robustness of the systems which rely on them. Simply put, typical deep learning methods do not know when they don’t know. The field of Bayesian Deep Learning contains a range of methods for approximate Bayesian inference with deep networks. These methods help to improve the robustness of deep learning systems as they tell us how confident they are in their predictions, allowing us to take more in how we incorporate model predictions within our applications. Through this book, you will be introduced to the rapidly growing field of uncertainty-aware deep learning, developing an understanding of the importance of uncertainty estimation in robust machine learning systems. You will learn about a variety of popular Bayesian Deep Learning methods, and how to implement these through practical Python examples covering a range of application scenarios. By the end of the book, you will have a good understanding of Bayesian Deep Learning and its advantages, and you will be able to develop Bayesian Deep Learning models for safer, more robust deep learning systems.
Table of Contents (11 chapters)

5.3 Familiar probabilistic concepts from deep learning

While this book introduces many concepts that may be unfamiliar, you may find that some ideas discussed here are familiar. In particular, Variational Inference (VI) is something you may be familiar with due to its use in Variational Autoencoders (VAEs).

As a quick refresher, VAEs are generative models that learn encodings that can be used to generate plausible data. Much like standard autoencoders, VAEs comprise an encoder-decoder architecture.

PIC

Figure 5.1: Illustration of autoencoder architecture

With a standard autoencoder, the model learns a mapping from the encoder to the latent space, and then from the latent space to the decoder.

As we see here, our output is simply defined as x = fd(z), where our encoding z is simply: z = fe(x), where fe() and fd() are our encoder and decoder functions, respectively. If we want to generate new data using values in our latent space, we could simply inject some random values into the...