38

Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

  • Upload
    others

  • View
    45

  • Download
    11

Embed Size (px)

Citation preview

Page 1: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Deep Learning book, by Ian Goodfellow,

Yoshua Bengio and Aaron CourvilleChapter 6 :Deep Feedforward Networks

Benoit Massé Dionyssos Kounades-Bastian

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 1 / 25

Page 2: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Linear regression (and classi�cation)

Input vector x

Output vector y

Parameters Weight W and bias b

Prediction : y = W>x+ b

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 2 / 25

Page 3: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Linear regression (and classi�cation)

Input vector x

Output vector y

Parameters Weight W and bias b

Prediction : y = W>x+ b

x u yW b

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 2 / 25

Page 4: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Linear regression (and classi�cation)

Input vector x

Output vector y

Parameters Weight W and bias b

Prediction : y = W>x+ b

x1

x2

x3

u1

u2

y1

y2

W11 . . . W23

b1

b2

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 2 / 25

Page 5: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Linear regression (and classi�cation)

Input vector x

Output vector y

Parameters Weight W and bias b

Prediction : y = W>x+ b

x1

x2

x3

y1

y2

W,b

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 2 / 25

Page 6: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Linear regression (and classi�cation)

Advantages

Easy to use

Easy to train, low risk of over�tting

Drawbacks

Some problems are inherently non-linear

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 3 / 25

Page 7: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

Linear regressor

x1

x2

y

W,b

There is no value for W and bsuch that ∀(x1, x2) ∈ {0, 1}2

W>(x1x2

)+ b = xor(x1, x2)

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 4 / 25

Page 8: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

Linear regressor

x1

x2

y

W,b

There is no value for W and bsuch that ∀(x1, x2) ∈ {0, 1}2

W>(x1x2

)+ b = xor(x1, x2)

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 4 / 25

Page 9: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

What about... ?

x1

x2

u1

u2

y

W,bV, c

Strictly equivalent :The composition of two linear operation is still a linearoperation

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 5 / 25

Page 10: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

What about... ?

x1

x2

u1

u2

y

W,bV, c

Strictly equivalent :The composition of two linear operation is still a linearoperation

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 5 / 25

Page 11: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

And about... ?

x1

x2

u1

u2

h1

h2

y

W,b φV, c

In which φ(x) = max{0, x}

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 6 / 25

Page 12: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Solving XOR

And about... ?

x1

x2

u1

u2

h1

h2

y

W,b φV, c

In which φ(x) = max{0, x}

It is possible !

With W =

(1 11 1

), b =

(0−1

), V =

(1−2

)and c = 0,

Vφ(Wx+ b) = xor(x1, x2)

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 6 / 25

Page 13: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Neural network with one hidden layer

Compact representation

x h y

W,b, φ V, c

Neural network

Hidden layer with non-linearity

→ can represent broader class of function

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 7 / 25

Page 14: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Universal approximation theorem

Theorem

A neural network with one hidden layer can approximate anycontinuous function

More formally, given a continuous function f : Cn 7→ Rm whereCn is a compact subset of Rn,

∀ε,∃f εNN : x→K∑i=1

viφ(wi>x+ bi) + c

such that∀x ∈ Cn, ||f (x)− f εNN(x)|| < ε

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 8 / 25

Page 15: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Problems

Obtaining the network

The universal theorem gives no information about HOW toobtain such a network

Size of the hidden layer h

Values of W and b

Using the network

Even if we �nd a way to obtain the network, the size of thehidden layer may be prohibitively large.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 9 / 25

Page 16: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Problems

Obtaining the network

The universal theorem gives no information about HOW toobtain such a network

Size of the hidden layer h

Values of W and b

Using the network

Even if we �nd a way to obtain the network, the size of thehidden layer may be prohibitively large.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 9 / 25

Page 17: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Deep neural network

Why Deep ?

Let's stack l hidden layers one after the other; l is called thelength of the network.

x h1 . . . hl yW1,b1, φ W2,b2, φ Wl ,bl , φ V, c

Properties of DNN

The universal approximation theorem also apply

Some functions can be approximated by a DNN with N

hidden unit, and would require O(eN) hidden units to berepresented by a shallow network.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 10 / 25

Page 18: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Summary

Comparison

Linear classi�er

− Limited representational power

+ Simple

Shallow Neural network (Exactly one hidden layer)

+ Unlimited representational power

− Sometimes prohibitively wide

Deep Neural network

+ Unlimited representational power

+ Relatively small number of hidden units needed

Remaining problem

How to get this DNN ?

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 11 / 25

Page 19: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Summary

Comparison

Linear classi�er

− Limited representational power

+ Simple

Shallow Neural network (Exactly one hidden layer)

+ Unlimited representational power

− Sometimes prohibitively wide

Deep Neural network

+ Unlimited representational power

+ Relatively small number of hidden units needed

Remaining problem

How to get this DNN ?

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 11 / 25

Page 20: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

On the path of getting my own DNN

Hyperparameters

First, we need to de�ne the architecture of the DNN

The depth l

The size of the hidden layers n1, . . . , nl

The activation function φ

The output unit

Parameters

When the architecture is de�ned, we need to train the DNN

W1, b1, . . . , Wl , bl

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 12 / 25

Page 21: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

On the path of getting my own DNN

Hyperparameters

First, we need to de�ne the architecture of the DNN

The depth l

The size of the hidden layers n1, . . . , nl

The activation function φ

The output unit

Parameters

When the architecture is de�ned, we need to train the DNN

W1, b1, . . . , Wl , bl

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 12 / 25

Page 22: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Hyperparameters

The depth l

The size of the hidden layers n1, . . . , nl Strongly depend on the problem to solve

The activation function φ

ReLU g : x 7→ max{0, x} Sigmoid σ : x 7→ (1+ e−x)−1

Many others : tanh, RBF, softplus...

The output unit Linear output E[y] = V>hl + c

For regression with Gaussian distribution y ∼ N (E[y], I) Sigmoid output y = σ(w>hl + b)

For classi�cation with Bernouilli distribution P(y = 1|x) = y

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 13 / 25

Page 23: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Hyperparameters

The depth l

The size of the hidden layers n1, . . . , nl Strongly depend on the problem to solve

The activation function φ

ReLU g : x 7→ max{0, x} Sigmoid σ : x 7→ (1+ e−x)−1

Many others : tanh, RBF, softplus...

The output unit Linear output E[y] = V>hl + c

For regression with Gaussian distribution y ∼ N (E[y], I) Sigmoid output y = σ(w>hl + b)

For classi�cation with Bernouilli distribution P(y = 1|x) = y

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 13 / 25

Page 24: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Hyperparameters

The depth l

The size of the hidden layers n1, . . . , nl Strongly depend on the problem to solve

The activation function φ

ReLU g : x 7→ max{0, x} Sigmoid σ : x 7→ (1+ e−x)−1

Many others : tanh, RBF, softplus...

The output unit Linear output E[y] = V>hl + c

For regression with Gaussian distribution y ∼ N (E[y], I) Sigmoid output y = σ(w>hl + b)

For classi�cation with Bernouilli distribution P(y = 1|x) = y

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 13 / 25

Page 25: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Objective

Let's de�ne θ = (W1,b1, . . . ,Wl ,bl).We suppose we have a set of inputs X = (x1, . . . , xN) and aset of expected outputs Y = (y1, . . . , yN). The goal is to �nda neural network fNN such that

∀i , fNN(xi ,θ) ' yi .

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 14 / 25

Page 26: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Cost function

To evaluate the error that our current network makes, let'sde�ne a cost function L(X,Y,θ). The goal becomes to �nd

argminθL(X,Y,θ)

Loss function

Should represent a combination of the distances between everyyi and the corresponding fNN(x

i ,θ)

Mean square error (rare)

Cross-entropy

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 15 / 25

Page 27: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Find the minimum

The basic idea consists in computing θ such that

∇θL(X,Y, θ) = 0.

This is di�cult to solve analytically e.g. when θ have millionsof degrees of freedom.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 16 / 25

Page 28: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Gradient descent

Let's use a numerical way to optimize θ, called the gradientdescent (section 4.3). The idea is that

f (θ − εu) ' f (θ)− εu>∇f (θ)

So if we take u = ∇f (θ), we have u>u > 0 and then

f (θ − εu) ' f (θ)− εu>u < f (θ).

If f is a function to minimize, we have an update rule thatimproves our estimate.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 17 / 25

Page 29: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Gradient descent algorithm

1 Have an estimate θ of the parameters

2 Compute ∇θL(X,Y, θ)3 Update θ ←− θ − ε∇θL4 Repeat step 2-3 until ∇θL < threshold

Problem

How to estimate e�ciently ∇θL(X,Y, θ) ? Back-propagation algorithm

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 18 / 25

Page 30: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Parameters Training

Gradient descent algorithm

1 Have an estimate θ of the parameters

2 Compute ∇θL(X,Y, θ)3 Update θ ←− θ − ε∇θL4 Repeat step 2-3 until ∇θL < threshold

Problem

How to estimate e�ciently ∇θL(X,Y, θ) ? Back-propagation algorithm

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 18 / 25

Page 31: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Back-propagation for Parameter Learning

Consider the architecture:

x

w1w2

yφ φ

with function:

y = φ(w2φ(w1x)

),

some training pairs T ={xn, yn

}Nn=1

, and

an activation-function φ().

Learn w1,w2 so that: Feeding xn results yn.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 19 / 25

Page 32: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Prerequisite: di�erentiable activation function

For learning to be possible φ() has to be di�erentiable.

Let φ′(x) = ∂φ(x)∂x

denote the derivative of φ(x).

For example when φ(x) = Relu(x) we have:

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 20 / 25

Page 33: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Gradient-based Learning

Minimize the loss function L(w1,w2,T ).

We will learn the weights by iterating:

[w1

w2

]updated=

[w1

w2

]− γ

∂L∂w1

∂L∂w2

, (1)

L is the loss function (must be di�erentiable): In detail isL(w1,w2,T ) and we want to compute the gradient(s) atw1,w2.

γ is the learning rate (a scalar typically known).

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 21 / 25

Page 34: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Back-propagation

Calculate intermediatevalues on all units:

1 a = w1xn.

2 b = φ(w1xn).

3 c = w2φ(w1xn).

4 d = φ(w2φ(w1xn)

).

5 L(d) = L(φ(w2φ(w1xn)

)).

The partial derivatives are:

6∂L(d)∂d = L′(d).

7 ∂d∂c = φ′(w2φ(w1xn)).

8 ∂c∂b = w2.

9 ∂b∂a = φ′(w1xn).

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 22 / 25

Page 35: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Calculating the Gradients I

Apply chain rule:

∂L∂w1

=∂L∂d

∂d

∂c

∂c

∂b

∂b

∂a

∂a

w1

,

∂L(d)∂w2

=∂L(d)∂d

∂d

∂c

∂c

w2

.

Start the calculation from left-to-right.

We propage the gradients (partial products) from the lastlayer towards the input.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 23 / 25

Page 36: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Calculating the Gradients I

Apply chain rule:

∂L∂w1

=∂L∂d

∂d

∂c

∂c

∂b

∂b

∂a

∂a

w1

,

∂L(d)∂w2

=∂L(d)∂d

∂d

∂c

∂c

w2

.

Start the calculation from left-to-right.

We propage the gradients (partial products) from the lastlayer towards the input.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 23 / 25

Page 37: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Calculating the Gradients

And because we have N training pairs:

∂L∂w1

=N∑n=1

∂L(dn)∂dn

∂dn∂cn

∂cn∂bn

∂bn∂an

∂anw1

,

∂L∂w2

=N∑n=1

∂L(dn)∂dn

∂dn∂cn

∂cnw2

.

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 24 / 25

Page 38: Deep Learning book, by Ian Goodfellow, Yoshua Bengio and ... · Deep Learning book, by Ian Goodfellow, Yoshua Bengio and Aaron Courville Chapter 6 :Deep Feedforward Networks Benoit

Thank you !

Benoit Massé, Dionyssos Kounades-Bastian Deep Feedforward Networks 25 / 25