Top Banner
UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 1 Lecture 10: Bayesian Deep Learning Efstratios Gavves
56

Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

Mar 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 1

Lecture 10: Bayesian Deep LearningEfstratios Gavves

Page 2: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 2

oWhy Bayesian Deep Learning?

oTypes of uncertainty

oBayesian Neural Networks

oBackprop by Bayes

oMC Dropout

Lecture overview

Page 3: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSEEFSTRATIOS GAVVES

BAEYSIAN DEEP LEARNING - 3

Bayesian modelling

Page 4: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 4

oConventional Machine Learning single optimal value per weight

oBayesian Machine Learning a distribution per latent variable/weight

The Bayesian approach

Page 5: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 5

Benefits of being Bayesian

Page 6: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 6

o Ensemble modelling better accuracies

oUncertainty estimates control our predictions

o Sparsity and model compression

o Active Learning

oDistributed Learning

o And more …

Benefits of being Bayesian

Page 7: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 7

oMachine predictions can get embarrassing quite quickly

oWould be nice to have a mechanism to control uncertainty in the world

Why uncertainty?

Page 8: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 8

oEpistemic uncertainty◦Captures our ignorance regarding which of all possible models from a class of models generated the data we have

◦By increasing the amount of data, epistemic uncertainty can be explained away

◦Why?

Types of Uncertainty

Page 9: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 9

oEpistemic uncertainty◦Captures our ignorance regarding which of all possible models from a class of models generated the data we have◦By increasing the amount of data, epistemic uncertainty can be explained away◦Why? The more data we have the fewer are the possible models that could in fact generate all the data

oAleatoric uncertainty◦Uncertainty due to the nature of the data.◦ If we predict depth from images, for instance, highly specular surfaces make it very hard to predict depth. Or if we detect objects, severe occlusions make it very difficult to predict the object class and the precise bounding box◦Better features reduce aleatoric uncertainty

oPredictive Uncertainty = Epistemic uncertainty + Aleatoric uncertainty

Types of Uncertainty

Page 10: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 10

Types of Uncertainty

Page 11: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 11

o Important to consider modelling when◦we have safety-critical applications

◦the datasets are small

Epistemic uncertainty

Should I give the drug or not?

Page 12: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 12

o Important to consider modelling when◦Large datasets small epistemic uncertainty

◦Real-time aleatoric models can be deterministic (no Monte Carlo sampling needed)

Aleatoric uncertainty

Page 13: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 13

oAlso called heteroscedastic aleatoric uncertainty

oThe uncertainty is in the raw inputs

oData-dependent aleatoric uncertainty can be one of the model outputs

Data-dependent aleatoric uncertainty

Page 14: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 14

oAlso called homoscedastic aleatoric uncertainty

o It is not a model output, it relates to the uncertainty that a particular task might cause◦For instance, for the task of depth estimation predicting depth around the edges is very hard thus uncertain

oWhen having multiple tasks task-dependent aleatoric uncertainty may be reduced◦For instance?

Task-dependent aleatoric uncertainty

Page 15: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 15

Task-dependent aleatoric uncertainty

Input

Depth Prediction

Uncertainty

Edge prediction as second task?

Page 16: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

Bayesian ModellingVariational Inference

Page 17: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 17

oDeep learning provides powerful feature learners from raw data◦But they cannot model uncertainty

oBayesian learning provides meaningful uncertainty estimates◦But they often rely on methods that are not scalable, e.g. Gaussian Processes

oBayesian Deep Learning combines the best of two worlds◦Hierarchical representation power◦Outputs complex multi-modal distributions

Bayesian Deep Learning

Page 18: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 18

oDeep Networks: filters & architecture

oStandard Deep Networks single optimal value per filter

oA Bayesian approach associates a distribution per latent variable/filter

Bayesian Deep Learning: Goal?

Page 19: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 19

oWe add a variance term per data point to our loss function

ℒ =𝑦𝑖 − ෝ𝑦𝑖

2

2𝜎𝑖2 + log 𝜎𝑖

Modelling data-dependent aleatoric uncertainty

A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision, NIPS 2017

Page 20: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 20

oWe add a variance term per data point to our loss function

ℒ =𝑦𝑖 − ෝ𝑦𝑖

2

2𝜎𝑖2 + log 𝜎𝑖

oWhat is the role of 2𝜎𝑖2?

◦When the nominator becomes large, the network may choose to shrink the loss by increasing the output variance 𝜎𝑖

oBut then what about log 𝜎𝑖?◦Without it the network will always tend to return high variance

Modelling data-dependent aleatoric uncertainty

A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision, NIPS 2017

Page 21: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 21

oSimilar to the data-dependent uncertainty

ℒ =𝑦𝑖 − ෝ𝑦𝑖

2

2𝜎2+ log 𝜎

oThe only difference is that now the variance is a learnable parameter shared by all task data points

oOne can use task-dependent uncertainties to weigh multiple tasks

Modelling task-dependent aleatoric uncertainty

Page 22: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 22

Results

Page 23: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 23

oEpistemic uncertainty is harder to model

𝑝 𝑤 𝑥, 𝑦 =𝑝 𝑥, 𝑦 𝑤 𝑝(𝑤)

𝑤 𝑝 𝑥, 𝑦 𝑤 𝑝(𝑤) 𝑑𝑤

oComputing the posterior densities is usually intractable for complex functions like neural networks

Modelling epistemic uncertainty

Page 24: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 24

oLong story short

oTo get uncertainty estimates for your Deep Net, keep dropout during testing

oThe uncertainties derived from there approximate the uncertainties you would obtain from a Variational Inference Framework

Monte Carlo (MC) Dropout

Y. Gal, Z. Ghahramani, Dropout as a Bayesian Approximation Representing Model Uncertainty, ICML 2016

Page 25: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 25

oVariational Inference assumes a (approximate) posterior distribution to approximate the true posterior

oDropout turns on or off neurons based on probability distribution (Bernoulli)

oThe Bernoulli distribution can be used as the variational distribution MC Dropout

Epistemic uncertainty: Monte Carlo (MC) Dropout!

Y. Gal, Z. Ghahramani, Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning, MLR 2016

Page 26: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 26

oExpected model output described by◦Predictive mean 𝔼(𝑦∗)

◦Predictive variance Var(𝑦∗)

oStarting from a Gaussian Process and deriving a variational approximation, one arrives at a Dropout Neural Network

oThe model precision 𝜏 (inverse of variance 𝜏 = 1/𝜎2) is equivalent to

𝜏 =𝑙2𝑝

2𝑁𝜆◦ 𝑙 is the length-scale: large for high-frequency data, small for low-frequency data

◦𝑝 the dropout survival rate

◦𝜆 is the learning rate

Bayesian Neural Networks as (approximate) Gaussian Processes

Page 27: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 27

oThe predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥,𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

◦The 𝜔 is our model weights, which are distributions

◦Thus, to find the predictive probability of a new point we must integrate over all possible 𝜔 in the distribution

oThe likelihood term 𝑝 𝑦 𝑥, 𝜔 is Gaussian𝑝 𝑦 𝑥, 𝜔 = 𝑁(𝑦; ො𝑦 𝑥, 𝜔 , 𝜏−1)

Deep Gaussian Processes

Page 28: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 28

oThe predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥,𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

◦The 𝜔 is our model weights, which are distributions

◦Thus, to find the predictive probability of a new point we must integrate over all possible 𝜔 in the distribution

oThe likelihood term 𝑝 𝑦 𝑥, 𝜔 is Gaussian𝑝 𝑦 𝑥, 𝜔 = 𝑁(𝑦; ො𝑦 𝑥, 𝜔 , 𝜏−1𝐼𝐷)

oThe mean ො𝑦 𝑥, 𝜔 is modelled by a Deep Net

ො𝑦 𝑥, 𝜔 = ൗ1 𝐾𝐿𝑊𝐿𝜎(… ൗ1 𝐾1

𝜎(𝑊1𝑥 + 𝑚1))

◦𝜔 = {𝑊1,𝑊2, … ,𝑊𝐿}

Deep Gaussian Processes

Page 29: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 29

oThe predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥, 𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

oThe posterior is intractable we approximate by a variational approximation

oThe 𝑞 𝜔 is defined in this model as

𝑊𝑖 = 𝑀𝑖 ⋅ diag zi,j 1Ki

𝑧𝑖,𝑗~Bernoulli(pi)◦Columns of 𝑀𝑖 are randomly set to 0

◦The 𝑧𝑖,𝑗 = 0 basically corresponds to dropping the 𝑗-th neuron in the 𝑖 − 1 layer

Deep Gaussian Processes

Page 30: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 30

oThe predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥, 𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

oOnce more, we minimize the KL divergence

oℒ = − 𝑞 𝜔 log 𝑝 𝑌 𝑋,𝜔 𝑑𝜔 + KL(𝑞 𝜔 ||𝑝 𝜔 )

oHow do we get the first term?

Deep Gaussian Processes

Page 31: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 31

oThe predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥, 𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

oOnce more, we minimize the KL divergence

oℒ = − 𝑞 𝜔 log 𝑝 𝑌 𝑋,𝜔 𝑑𝜔 + KL(𝑞 𝜔 ||𝑝 𝜔 )

oHow do we get the first term?

oWe approximate with a Monte Carlo sample 𝜔𝑛~𝑞(𝜔)◦A dropout round

oHow do we get the second term?

Deep Gaussian Processes

Page 32: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 32

o The predictive probability of a Deep GP is𝑝 𝑦 𝑥, 𝑋, 𝑌 = 𝑝 𝑦 𝑥, 𝜔 𝑝 𝜔|𝑋, 𝑌 𝑑𝜔

oOnce more, we minimize the KL divergence

o ℒ = − 𝑞 𝜔 log 𝑝 𝑌 𝑋,𝜔 𝑑𝜔 + KL(𝑞 𝜔 ||𝑝 𝜔 )

oHow do we get the first term?

oWe approximate with a Monte Carlo sample 𝜔𝑛~𝑞(𝜔)◦A dropout round

oHow do we get the second term?

o Again we approximate and arrive at

KL(𝑞 𝜔 ||𝑝 𝜔 )~

𝑖=1

𝐿𝑝𝑖𝑙

2

2𝑀𝑖 2

2 +𝑙2

2|𝑚_𝑖 ቚ

2

2

Deep Gaussian Processes

Page 33: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 33

𝜏 =𝑙2𝑝

2𝑁𝜆

𝔼 𝑦∗ ≈1

𝑇

𝑡=1

𝑇

ො𝑦𝑡∗ 𝑥∗

𝔼 𝑦∗2 = 𝜏−1𝚰D +1

T

𝑡=1

𝑇

ො𝑦𝑡∗ 𝑥∗ 𝑇 ො𝑦𝑡

∗ 𝑥∗

Var 𝑦∗ = 𝔼 𝑦∗2 − 𝔼 𝑦∗ 𝑇𝔼 𝑦∗

Var 𝑦∗ equals the sample variable after 𝑇 stochastic forward passes, plus the inverse model precision

Predictive mean and variance in MC Dropout Deep Nets

Demo

Page 34: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 34

oUse dropout in all layers both during training and testing

oAt test time repeat dropout T times (e.g., 10) and look at mean and sample variance

oPros: Very easy to train

oPros: Easy to convert a standard network to a Bayesian Network

oPros: No need for an inference network 𝑞𝑤(𝜑)

oCons: Requires weight sampling also during testing expensive

Dropout for Bayesian Uncertainty in practice

Page 35: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 35

Example

Prediction in a 5-layer ReLU neural network with dropout

Using 100-trial MC dropout

Using 100-trial MC dropout with tanh nonlinearity

Page 36: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 36

oOver-parameterized models give better uncertainty estimates, as they capture a bigger class of data

oLarge models need higher dropout rates for meaningful uncertainty◦Large models tend to push 𝑝 → 0.5

◦For smaller models lower dropout rates reduce uncertainty estimates

Tricks of the trade

Page 37: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 37

MC Dropout rates

Page 38: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 39

oStart from a Deep Network with a distribution on its weights

oSimilar to VAE, what is logical to minimize?

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 39: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 40

oStart from a Deep Network with a distribution on its weights

oSimilar to VAE, what is logical to minimize?

oThe KL between approximate and true weight posteriors

𝐾𝐿(𝑞 𝑤 𝜃 | 𝑝 𝑤 𝒟 = 𝐾𝐿(𝑞(𝑤|𝜃)||𝑝 𝑤 ) − න𝑤

𝑞 𝑤|𝜃 log 𝑝 𝒟 𝑤 𝑑𝑤

oWhat do these two terms look like?

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 40: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 41

oStart from a Deep Network with a distribution on its weights

oSimilar to VAE, what is logical to minimize?

oThe KL between approximate and true weight posteriors

𝐾𝐿(𝑞 𝑤 𝜃 | 𝑝 𝑤 𝒟 = 𝐾𝐿(𝑞(𝑤|𝜃)||𝑝 𝑤 ) − න𝑤

𝑞 𝑤|𝜃 log 𝑝 𝒟 𝑤 𝑑𝑤

oWhat do these two terms look like?

oPrior term pushing approximate posterior towards prior 𝑝 𝑤

oThe data term making sure the weights explain data well

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 41: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 42

oThe KL between approximate and true weight posteriors

𝐾𝐿(𝑞 𝑤 𝜃 | 𝑝 𝑤 𝒟 = 𝐾𝐿(𝑞(𝑤|𝜃)| 𝑝 𝑤 −න𝑤

𝑞 𝑤|𝜃 log 𝑝 𝒟 𝑤 𝑑𝑤

oHow could we efficiently compute these integrals?

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 42: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 43

oThe KL between approximate and true weight posteriors

𝐾𝐿(𝑞 𝑤 𝜃 | 𝑝 𝑤 𝒟 = 𝐾𝐿(𝑞(𝑤|𝜃)| 𝑝 𝑤 −න𝑤

𝑞 𝑤|𝜃 log 𝑝 𝒟 𝑤 𝑑𝑤

oHow could we efficiently compute these integrals?

oApproximate with Monte Carlo Integration

oSample a single weight value 𝑤𝑠 from our posterior 𝑞 𝑤|𝜃◦e.g., a Gaussian

oThen, compute the MC ELBO:

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 43: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 44

oThen, compute the MC ELBO:ℒ = log 𝑞(𝑤𝑠||𝜃) − log 𝑝 𝑤𝑠 − log 𝑝(𝒟|𝑤𝑠)

oSame for backprop

oWhat’s so special about log 𝑞(𝑤𝑠||𝜃) − log 𝑝 𝑤𝑠 ?

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 44: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 45

oThen, compute the MC ELBO:ℒ = log 𝑞(𝑤𝑠||𝜃) − log 𝑝 𝑤𝑠 − log 𝑝(𝒟|𝑤𝑠)

oSame for backprop

oWhat’s so special about log 𝑞(𝑤𝑠||𝜃) − log 𝑝 𝑤𝑠 ?

oMonte Carlo approximation of the complexity cost as well

oNot confined to specific pdfs anymore

Bayes by Backprop

C. Blundell, J. Cornebise, K. Kavukcuoglu, D. Wierstra, Weight Uncertainty in Neural Networks, ICML 2015

Page 45: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 46

oAssume a Gaussian variational posterior on the weights

oEach weight is then parameterized as 𝑤 = 𝜇 + 𝜀 ⋅ 𝜎

where 𝜎 is 𝜌-parameterized by the softplus𝜎 = log(1 + exp(𝜌))

oWhy?

Bayes by Backprop

Page 46: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 47

o Assume a Gaussian variational posterior on the weights

o Each weight is then parameterized as 𝑤 = 𝜇 + 𝜀 ∘ 𝜎

where 𝜎 is 𝜌-parameterized by the softplus𝜎 = log(1 + exp(𝜌))

oWhy?

oWith this parameterization the standard deviation is always positive

o Then we optimize the ELBO

o In the end we learn an ensemble of networks, since we can sample as many weights as we want

Bayes by Backprop

Page 47: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 48

1. Sample 𝜀~𝑁(0, 1)

2. Set 𝑤 = 𝜇 + 𝜀 ⋅ log(1 + exp(𝜌))

3. Set 𝜃 = {𝜇, 𝜌}

4. Let ℒ(𝑤, 𝜃) = log 𝑞(𝑤|𝜃) − log 𝑝 𝑤 𝑝(𝑥|𝑤)

5. Calculate gradients

𝛻𝜇 =𝜕ℒ

𝜕𝑤

𝜕𝑤

𝜕𝜇+𝜕ℒ

𝜕𝜇

𝛻𝜌 =𝜕ℒ

𝜕𝑤

𝜀

1 + exp(−𝜌)+𝜕ℒ

𝜕𝜌

7. Last, update the variational parameters𝜇t+1 = 𝜇t − ηt𝛻𝜇𝜌t+1 = 𝜌t − ηt𝛻𝜌

Bayes by Backprop - Algorithm

Page 48: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 49

Bayes by Backprop: Results

Page 49: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 50

oThey both assume rather simple posterior families with Mean-Field approximation

oBasically, each parameter/weight is assumed independent from all others◦Clearly unrealistic in the context of neural networks, where everything is connected to everything

oSo, they do not really capture dependencies between weights

oAlso, for MC dropout in the limit of many samples the posterior may not concentrate asymptotically◦So the 𝜎 does not reduce by the number of samples, which is what you expect (lower uncertainty) with more samples=

Criticism for Bayes by Backprop and MC dropout

Page 50: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 51

oWhen visualizing uncertainty in simple 1D problems, Backprop by Bayes is usually *too* certain.

oAlso, it is often beaten by other methods like Multiplicative Normalizing Flows or Matrix variate Gaussian approaches (check C. Louizos and M. Welling)

Criticism for Bayes by Backprop and MC dropout

Page 51: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 52

oRevisit connection between minimum description length and variational inference

oMinimum Description Length: best model uses the minimum number of bits to communicate the model complexity ℒC and the model error ℒE

ℒ 𝜑 = 𝔼𝑞𝑤 𝜑 log 𝑝 𝐷 𝑤 + 𝔼𝑞𝑤 𝜑 log 𝑝(𝑤) + 𝐻(𝑞𝑤(𝜑))

oUse sparsity-inducing priors for groups of weights prune weights that are not necessary for the model

Bayesian Neural Network Compression

C. Louizos, K. Ullrich, M. Welling, Bayesian Compression for Deep Learning, NIPS 2017

ℒE ℒC

Page 52: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 53

oDefine the prior over weights𝑧~𝑝 𝑧𝑤~𝑁(𝑤; 0, 𝑧2)

oThe scales of the weight prior have a prior themselves

oGoal: by treating the scales as random variables the marginal p(𝑤) can be set to have heavy tails more density near 0

oSeveral distributions possible to serve as priors

Bayesian Neural Network CompressionSpike-and-slab

distribution

Laplace distribution (Lasso)

Page 53: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 54

Sparse-inducing distributions

Half-Cauchy

Laplace distribution (Lasso)𝑝 𝑧2; 𝜆 = exp(𝜆)

Lasso focuses on shrinking the larger values

Spike-and-slab distributionMixture of a very spiky and a very

broad Gaussian

Or a mixture of a δ-spike at 0, and a slab on the real line

This would lead to large number of possible models: 2𝑀 for 𝑀 parameters

Log-Uniform

Page 54: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 55

o700x compression

o50x speed up

Bayesian Neural Network Compression

First layer Second layer

Input feature importance

Page 55: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSE – EFSTRATIOS GAVVES BAYESIAN DEEP LEARNING - 56

oHard to model epistemic uncertainty real-time◦Typically, Monte Carlo approximations are required

◦Efficiency and uncertainty is needed for robotics, self-driving, health AI, etc

oNo benchmarks to fairly evaluate

o Inference techniques are still not good enough

Some open questions

Page 56: Lecture 10: Bayesian Deep Learning - GitHub Pagesuvadlc.github.io/lectures/nov2019/lecture10.pdf · A. Kendal, Y. Gal, What Uncertainties Do We Need in Bayesian Deep Learning for

UVA DEEP LEARNING COURSEEFSTRATIOS GAVVES

BAEYSIAN DEEP LEARNING - 57

Summary

oWhy Bayesian Deep Learning?

oTypes of uncertainty

oBayesian Neural Networks

oBackprop by Bayes

oMC Dropout