Probabilistic Deep Learning with TensorFlow 2

Por: Coursera . en: , ,

  • TensorFlow Distributions
    • Probabilistic modelling is a powerful and principled approach that provides a framework in which to take account of uncertainty in the data. The TensorFlow Probability (TFP) library provides tools for developing probabilistic models that extend the capability of TensorFlow. In this first week of the course, you will learn how to use the Distribution objects in TFP, and the key methods to sample from and compute probabilities from these distributions. You will also learn how to make these distributions trainable. The programming assignment or this week will put these techniques into practice by implementing a Naive Bayes classifier on the Iris dataset.
  • Probabilistic layers and Bayesian neural networks
    • Accounting for sources of uncertainty is an important aspect of the modelling process, especially for safety-critical applications such as medical diagnoses. Most standard deep learning models do not quantify the uncertainty in their predictions. In this week you will learn how to use probabilistic layers from TensorFlow Probability to develop deep learning models that are able to provide measures of uncertainty in both the data, and the model itself. In the programming assignment for this week, you will develop a Bayesian CNN for the MNIST and MNIST-C datasets.
  • Bijectors and normalising flows
    • Normalising flows are a powerful class of generative models, that aim to model the underlying data distribution by transforming a simple base distribution through a series of bijective transformations. In this week you will learn how to use bijector objects from the TensorFlow Probability library to implement these transformations, and learn a complex transformed distribution from data. These models can be used to sample new data generations, as well as evaluate the likelihood of data examples. In the programming assignment for this week, you will develop a RealNVP normalising flow model for the LSUN bedroom dataset.
  • Variational autoencoders
    • Variational autoencoders are one of the most popular types of likelihood-based generative deep learning models. In the VAE algorithm two networks are jointly learned: an encoder or inference network, as well as a decoder or generative network. In this week you will learn how to implement the VAE using the TensorFlow Probability library. You will then use the trained networks to encode data examples into a compressed latent space, as well as generate new samples from the prior distribution and the decoder. In the programming assignment for this week, you will develop the variational autoencoder for an image dataset of celebrity faces.
  • Capstone Project
    • In this course you have learned how to develop probabilistic deep learning models using tools and concepts from the TensorFlow Probability library such as Distribution objects, probabilistic layers, bijectors, and KL divergence optimisation. The Capstone Project brings many of these concepts together with a task to create a synthetic image dataset using normalising flows, and train a variational autoencoder on the dataset.