CNNs: Backpropagation
TJ Machine Learning
Slide 1
TJ Machine Learning Club
Review: Backpropagation in ANNs
Slide 2
TJ Machine Learning Club
The Gradient
Gradients
(also called a derivative)
Subtraction gives us descent
Slide 3
TJ Machine Learning Club
Calculating One Neural Network Iteration
3
-2
-3
8
13
5
W13 = 1
W36 = -1
W23 = 3
W14 = 4
W15 = 3
W24 = 2
W25 = -2
W56 = 2
W46 = -3
Linear Activation Function (y = x) and no biases, n1 = 3, n2 = -2, y = 9, α = 0.1
E = ½(n6 - y)2
n6 = W36n3 + W46n4 + W56n5
W36 = W36 - α
W36 = -1 - 0.1(12) = -1 - 1.2 = -2.2
= (n6 - y) * n3 = -4 * -3 = 12
=
Slide 4
TJ Machine Learning Club
And so on…but how do we backpropagate in a CNN?
Slide 5
TJ Machine Learning Club
Let’s start with the Convolutional Layer:
X
K, B
*
Z
Slide 6
TJ Machine Learning Club
Let’s start with the Convolutional Layer:
Let’s start by finding ∂L/∂K
X
K, B
*
Z
Z11 = X11K11+ X12K12+ X21K21+ X22K22+ B
Z12 = X12K11+ X13K12+ X22K21+ X23K22+ B
Z21 = X21K11+ X22K12+ X31K21+ X32K22+ B
Z22 = X22K11+ X23K12+ X32K21+ X33K22+ B
Slide 7
TJ Machine Learning Club
Slide 8
TJ Machine Learning Club
Let’s start with the Convolutional Layer:
Now let’s find ∂L/∂B
X
K, B
*
Z
Z11 = X11K11+ X12K12+ X21K21+ X22K22+ B
Z12 = X12K11+ X13K12+ X22K21+ X23K22+ B
Z21 = X21K11+ X22K12+ X31K21+ X32K22+ B
Z22 = X22K11+ X23K12+ X32K21+ X33K22+ B
Slide 9
TJ Machine Learning Club
Slide 10
TJ Machine Learning Club
Let’s start with the Convolutional Layer:
Now let’s find ∂L/∂X
X
K, B
*
Z
Z11 = X11K11+ X12K12+ X21K21+ X22K22+ B
Z12 = X12K11+ X13K12+ X22K21+ X23K22+ B
Z21 = X21K11+ X22K12+ X31K21+ X32K22+ B
Z22 = X22K11+ X23K12+ X32K21+ X33K22+ B
Slide 11
TJ Machine Learning Club
Slide 12
TJ Machine Learning Club
Slide 13
TJ Machine Learning Club
Alright, that was the hard part. Now the full network!
Let’s take this as our network:
Slide 14
TJ Machine Learning Club
Forward Propagation
Layer 1:
Layer 2:
Layer 3:
Slide 15
TJ Machine Learning Club
Backpropagation - Layer 3
Layer 3:
This is a dense Neural Network with no hidden layers. Using normal backpropagation, you get:
∂L/∂Z3 = y_pred - y
∂L/∂W3 = dZ3・ fT
∂L/∂B3 = dZ3
∂L/∂f = w3T・dZ3
Slide 16
TJ Machine Learning Club
Backpropagation - Layer 2
Layer 2:
Need to find:
Slide 17
TJ Machine Learning Club
Backpropagation - Layer 2
Layer 2:
Slide 18
TJ Machine Learning Club
Backpropagation - Layer 1
Layer 1:
Need to find:
Slide 19
TJ Machine Learning Club
Backpropagation - Layer 1
Layer 1:
Slide 20
TJ Machine Learning Club
Useful Sources
Slide 21
TJ Machine Learning Club