Deep Learning Tutorial - cse.iitd.ac.in
Transcript of Deep Learning Tutorial - cse.iitd.ac.in
![Page 1: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/1.jpg)
An Introduction to Neural Nets & Deep Learning
Slides by Rajesh Rao, Hung-yi Lee, Ismini Lourentzou, Noah Smith
![Page 2: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/2.jpg)
The human brain is extremely good at classifying images
Can we develop classification methods by emulating the brain?
2
![Page 3: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/3.jpg)
Human brain contains a massively interconnected net of 1010-1011 (10 billion) neurons (cortical cells)
Biological Neuron- The simple “arithmetic computing” element
Brain Computer: What is it?
3
![Page 4: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/4.jpg)
4
![Page 5: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/5.jpg)
The schematic model of a biological neuron
Synapses
Dendrites
Soma
AxonDendrite from other
Axon from other neuron
1. Soma or body cell - is a large, roundcentral body in which almost all the logicalfunctions of the neuron are realized.
2. The axon (output), is a nerve fibreattached to the soma which can serve as afinal output channel of the neuron. An axonis usually highly branched.
3. The dendrites (inputs)- represent a highlybranching tree of fibres. These longirregularly shaped nerve fibres (processes)
are attached to the soma.
4. Synapses are specialized contacts on aneuron which are the termination points forthe axons from other neurons.
Biological Neurons
5
![Page 6: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/6.jpg)
Neurons communicate via spikes
Inputs
Output spike
(electrical pulse)
Output spike roughly dependent on whether sum of all inputs reaches a threshold
6
![Page 7: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/7.jpg)
Neurons as “Threshold Units”
• Artificial neuron:• m binary inputs (-1 or 1), 1 output (-1 or 1)
• Synaptic weights wji
• Threshold i
Inputs uj
(-1 or +1)Output vi
(-1 or +1)
Weighted Sum Thresholdw1i
(x) = 1 if x > 0 and -1 if x 0
)( ij
j
jii uwv
w2i
w3i
7
Non-linearity
![Page 8: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/8.jpg)
“Perceptrons” for Classification
• Fancy name for a type of layered “feed-forward” networks (no loops)
• Uses artificial neurons (“units”) with binary inputs and outputs
Multilayer
Single-layer
8
![Page 9: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/9.jpg)
Perceptrons and Classification• Consider a single-layer perceptron
• Weighted sum forms a linear hyperplane
• Everything on one side of this hyperplane is in class 1(output = +1) and everything on other side is class 2 (output = -1)
• Any function that is linearly separable can be computed by a perceptron
0 ij
j
jiuw
9
![Page 10: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/10.jpg)
Linear Separability• Example: AND is linearly separable
Linear hyperplane
v
u1 u2
= 1.5(1,1)
1
-1
1
-1u1
u2-1 -1 -1
1 -1 -1
-1 1 -1
1 1 1
u1 u2 AND
v = 1 iff u1 + u2 – 1.5 > 0
Similarly for OR and NOT10
![Page 11: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/11.jpg)
What about the XOR function?
(1,1)
1
-1
1
-1u1
u2-1 -1 1
1 -1 -1
-1 1 -1
1 1 1
u1 u2 XOR
Can a perceptron separate the +1 outputs from the -1 outputs?
?
11
![Page 12: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/12.jpg)
Linear Inseparability
• Perceptron with threshold units fails if classification task is not linearly separable• Example: XOR
• No single line can separate the “yes” (+1)
outputs from the “no” (-1) outputs!
Minsky and Papert’s book showing such negative results put a damper on neural networks research for over a decade!
(1,1)
1
-1
1
-1u1
u2
X
12
![Page 13: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/13.jpg)
How do we deal with linear inseparability?
13
![Page 14: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/14.jpg)
Idea 1: Multilayer Perceptrons• Removes limitations of single-layer networks
• Can solve XOR
• Example: Two-layer perceptron that computes XOR
• Output is +1 if and only if x + y – 2(x + y – 1.5) – 0.5 > 0
x y
14
![Page 15: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/15.jpg)
x y
out
x
y
1
1
2
1 2
2
1
1
1 1
2
1
11
2
1
?
Multilayer Perceptron: What does it do?
15
![Page 16: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/16.jpg)
x y
out
x
y
1
1
2
1 2
02
11 yx
02
11 yx
=-1
=1
2
1
11
xy2
11
Multilayer Perceptron: What does it do?
16
![Page 17: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/17.jpg)
x y
out
x
y
1
1
2
1 2
02 yx 02 yx
=-1
=-1=1
=1
1
2
1
Multilayer Perceptron: What does it do?
17
![Page 18: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/18.jpg)
x y
out
x
y
1
1
2
1 2
=-1
=-1=1
=1
11
2
1 -
2
1 >0
Multilayer Perceptron: What does it do?
18
![Page 19: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/19.jpg)
Non-linearities needed to learn complex (non-linear) representations of data,otherwise the NN would be just a linear function
More layers and neurons can approximate more complex functions
Activation functions
W1W2𝑥 = 𝑊𝑥
Full list: https://en.wikipedia.org/wiki/Activation_function
http://cs231n.github.io/assets/nn1/layer_sizes.jpeg
![Page 20: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/20.jpg)
z z
Linear activation
Threshold activation Hyperbolic tangent activation
Logistic activation
u
u
e
eutanhu
2
2
1
1
1
1 zz
e
1, 0,
sign( )1, 0.
if zz z
if z
z
z
z
z
1
-1
1
0
0
Σ
1
-1
Activation Functions
20
ReLU
![Page 21: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/21.jpg)
Activation: Sigmoid
+ Nice interpretation as the firing rate of a neuron• 0 = not firing at all • 1 = fully firing
- Sigmoid neurons saturate and kill gradients, thus NN will barely learn• when the neuron’s activation are 0 or 1 (saturate)
� gradient at these regions almost zero � almost no signal will flow to its weights � if initial weights are too large then most neurons would saturate
Takes a real-valued number and “squashes” it into range between 0 and 1.
𝑅𝑛 → 0,1
http://adilmoujahid.com/images/activation.png
![Page 22: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/22.jpg)
Activation: Tanh
- Like sigmoid, tanh neurons saturate- Unlike sigmoid, output is zero-centered- Tanh is a scaled sigmoid: tanh 𝑥 = 2𝑠𝑖𝑔𝑚 2𝑥 − 1
Takes a real-valued number and “squashes” it into range between -1 and 1.
𝑅𝑛 → −1,1
http://adilmoujahid.com/images/activation.png
![Page 23: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/23.jpg)
Activation: ReLU
Takes a real-valued number and thresholds it at zero
𝑅𝑛 → 𝑅+𝑛
Most Deep Networks use ReLU nowadays
� Trains much faster• accelerates the convergence of SGD• due to linear, non-saturating form
� Less expensive operations• compared to sigmoid/tanh (exponentials etc.)• implemented by simply thresholding a matrix at zero
� More expressive � Prevents the gradient vanishing problem
f 𝑥 = max(0, 𝑥)
http://adilmoujahid.com/images/activation.png
![Page 24: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/24.jpg)
Example Application
• Handwriting Digit Recognition
Machine “2”
![Page 25: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/25.jpg)
Handwriting Digit Recognition
Input Output
16 x 16 = 256
1x
2x
256x…
…
Ink → 1No ink → 0
……
y1
y2
y10
Each dimension represents the confidence of a digit.Each dimension represents the confidence of a digit.
is 1is 1
is 2is 2
is 0is 0
……
0.1
0.7
0.2
The image is “2”
![Page 26: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/26.jpg)
Example Application
• Handwriting Digit Recognition
Machine “2”
1x
2x
256x
…… ……
y1
y2
y10𝑓: 𝑅256 → 𝑅10
In deep learning, the function 𝑓 is represented by neural network
In deep learning, the function 𝑓 is represented by neural network
![Page 27: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/27.jpg)
bwawawaz KK 2211
Element of Neural Network
𝑓: 𝑅𝐾 → 𝑅
z
1w
2w
Kw
…
1a
2a
Ka
b
z
bias
a
Activation functionweights
Neuron
![Page 28: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/28.jpg)
Output LayerHidden Layers
Input Layer
Neural Network
Input Output
1x
2x
Layer 1
……
Nx
……
Layer 2
……
Layer L
……
……
……
……
……
y1
y2
yM
Deep means many hidden layersDeep means many hidden layers
neuronneuron
![Page 29: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/29.jpg)
Example of Neural Network
z
z
ze
z
1
1
Sigmoid Function
1
-1
1
-2
1
-1
1
0
4
-2
0.980.98
0.120.12
![Page 30: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/30.jpg)
Example of Neural Network
1
-2
1
-1
1
0
4
-2
0.980.98
0.120.12
2
-1
-1
-2
3
-1
4
-1
0.860.86
0.110.11
0.620.62
0.830.83
0
0
-2
2
1
-1
![Page 31: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/31.jpg)
Example of Neural Network
1
-2
1
-1
1
0
0.730.73
0.50.5
2
-1
-1
-2
3
-1
4
-1
0.720.72
0.120.12
0.510.51
0.850.85
0
0
-2
2
𝑓00
=0.510.85
Different parameters define different function Different parameters define different function
𝑓1−1
=0.620.83
𝑓: 𝑅2 → 𝑅2
0
0
![Page 32: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/32.jpg)
𝜎
Matrix Operation
2y
1y1
-2
1
-1
1
0
4
-2
0.98
0.12
1−1
1 −2−1 1
+10
0.980.12
=
1
-1
4−2
![Page 33: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/33.jpg)
1x
2x
……
Nx
……
……
……
……
……
……
……
y1
y2
yM
Neural Network
W1 W2 WL
b2 bL
x a1 a2 y
b1W1 x +𝜎b2W2 a1 +𝜎
bLWL +𝜎 aL-1
b1
![Page 34: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/34.jpg)
= 𝜎 𝜎
1x
2x
……
Nx
……
……
……
……
……
……
……
y1
y2
yM
Neural Network
W1 W2 WL
b2 bL
x a1 a2 y
y = 𝑓 x
b1W1 x +𝜎 b2W2 + bLWL +…
b1
…
Using parallel computing techniques to speed up matrix operation
![Page 35: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/35.jpg)
Softmax
• Softmax layer as the output layer
Ordinary Layer
11 zy
22 zy
33 zy
1z
2z
3z
In general, the output of network can be any value.
May not be easy to interpret
![Page 36: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/36.jpg)
Softmax
• Softmax layer as the output layer
1z
2z
3z
Softmax Layer
e
e
e
1ze
2ze
3ze
3
1
11
j
zz jeey
3
1j
z je
3
-3
1 2.7
20
0.05
0.88
0.12
≈0
Probability: 1 > 𝑦𝑖 > 0 𝑖 𝑦𝑖 = 1
3
1
22
j
zz jeey
3
1
33
j
zz jeey
![Page 37: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/37.jpg)
How to set network parameters
16 x 16 = 256
1x
2x
……
256x
……
……
……
……
Ink → 1No ink → 0
……
y1
y2
y10
0.1
0.7
0.2
y1 has the maximum value
Set the network parameters 𝜃 such that ……
Input:
y2 has the maximum valueInput:
is 1is 1
is 2is 2
is 0is 0
How to let the neural network achieve this
Softm
ax
𝜃 = 𝑊1, 𝑏1,𝑊2, 𝑏2, ⋯𝑊𝐿, 𝑏𝐿
![Page 38: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/38.jpg)
Training Data
• Preparing training data: images and their labels
Using the training data to find the network parameters.
“5” “0” “4” “1”
“3”“1”“2”“9”
![Page 39: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/39.jpg)
Cost
1x
2x
……
256x
……
……
……
……
……
y1
y2
y10
Cost Cost
0.2
0.3
0.5
“1”
……
1
0
0
……
Cost can be Euclidean distance or cross entropy of the network output and target
Given a set of network parameters 𝜃, each example has a cost value.
targettarget
𝐿(𝜃)
![Page 40: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/40.jpg)
Total Cost
x1
x2
xR
NN
NN
NN
……
……
y1
y2
yR
𝑦1
𝑦2
𝑦𝑅
𝐿1 𝜃
……
……
x3 NN y3 𝑦3
For all training data …
𝐶 𝜃 =
𝑟=1
𝑅
𝐿𝑟 𝜃
Find the network parameters 𝜃∗ that minimize this value
Find the network parameters 𝜃∗ that minimize this value
Total Cost:
How bad the network parameters 𝜃 is on this task
𝐿2 𝜃
𝐿3 𝜃
𝐿𝑅 𝜃
![Page 41: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/41.jpg)
Gradient Descent
𝑤1
𝑤2
Assume there are only two parameters w1 and w2 in a network.
The colors represent the value of C.The colors represent the value of C. Randomly pick a starting point 𝜃0
Compute the negative gradient at 𝜃0
−𝛻𝐶 𝜃0
𝜃0𝜃0
−𝛻𝐶 𝜃0−𝛻𝐶 𝜃0Times the learning rate 𝜂
−𝜂𝛻𝐶 𝜃0𝛻𝐶 𝜃0 =𝜕𝐶 𝜃0 /𝜕𝑤1
𝜕𝐶 𝜃0 /𝜕𝑤2
−𝜂𝛻𝐶 𝜃0−𝜂𝛻𝐶 𝜃0
𝜃 = 𝑤1, 𝑤2Error Surface
𝜃∗𝜃∗
![Page 42: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/42.jpg)
Gradient Descent
𝑤1
𝑤2
Compute the negative gradient at 𝜃0
−𝛻𝐶 𝜃0
𝜃0𝜃0
Times the learning rate 𝜂
−𝜂𝛻𝐶 𝜃0
𝜃1𝜃1−𝛻𝐶 𝜃1−𝛻𝐶 𝜃1
−𝜂𝛻𝐶 𝜃1−𝜂𝛻𝐶 𝜃1
−𝛻𝐶 𝜃2−𝛻𝐶 𝜃2
−𝜂𝛻𝐶 𝜃2−𝜂𝛻𝐶 𝜃2𝜃2𝜃2
Eventually, we would reach a minima ….. Randomly pick a
starting point 𝜃0
![Page 43: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/43.jpg)
Local Minima
• Gradient descent never guarantee global minima
𝐶
𝑤1 𝑤2
Different initial point 𝜃0Different initial point 𝜃0
Reach different minima, so different resultsReach different minima, so different results
Who is Afraid of Non-Convex Loss Functions?http://videolectures.net/eml07_lecun_wia/
![Page 44: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/44.jpg)
Besides local minima ……
cost
parameter space
Very slow at the plateau
Very slow at the plateau
Stuck at local minimaStuck at local minima
𝛻𝐶 𝜃= 0
Stuck at saddle pointStuck at saddle point
𝛻𝐶 𝜃= 0
𝛻𝐶 𝜃≈ 0
![Page 45: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/45.jpg)
Mini-batch
x1 NN
……
y1 𝑦1
𝐿1
x31 NN y31 𝑦31
𝐿31
x2 NN
……
y2 𝑦2
𝐿2
x16 NN y16 𝑦16
𝐿16
Pick the 1st batch
Randomly initialize 𝜃0
𝜃1 ← 𝜃0 − 𝜂𝛻𝐶 𝜃0
Pick the 2nd batch
𝜃2 ← 𝜃1 − 𝜂𝛻𝐶 𝜃1
…
Min
i-b
atch
Min
i-b
atch
C is different each time when we update parameters!
C is different each time when we update parameters!
𝐶 = 𝐿1 + 𝐿31 + ⋯
𝐶 = 𝐿2 + 𝐿16 + ⋯
![Page 46: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/46.jpg)
SGD vs. GD
![Page 47: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/47.jpg)
Convergence curves
• GD: O(1/t2), SGD: O(1/sqrt(t))
![Page 48: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/48.jpg)
Mini-batch
x1 NN
……
y1 𝑦1
𝐶1
x31 NN y31 𝑦31
𝐶31
x2 NN
……
y2 𝑦2
𝐶2
x16 NN y16 𝑦16
𝐶16
Pick the 1st batch
Randomly initialize 𝜃0
𝜃1 ← 𝜃0 − 𝜂𝛻𝐶 𝜃0
Pick the 2nd batch
𝜃2 ← 𝜃1 − 𝜂𝛻𝐶 𝜃1
Until all mini-batches have been picked
…
one epochone epoch
Faster Better!
Min
i-b
atch
Min
i-b
atch
Repeat the above processRepeat the above process
𝐶 = 𝐶1 + 𝐶31 + ⋯
𝐶 = 𝐶2 + 𝐶16 + ⋯
![Page 49: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/49.jpg)
Backpropagation
• A network can have millions of parameters.
• Backpropagation is the way to compute the gradients efficiently
• Ref: http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2015_2/Lecture/DNN%20backprop.ecm.mp4/index.html
• Many toolkits can compute the gradients automatically
Ref: http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2015_2/Lecture/Theano%20DNN.ecm.mp4/index.html
![Page 50: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/50.jpg)
Backpropagation
• If we choose a differentiable loss, then the the whole function will be differentiable with respect to all parameters.
• Because of non-linear activations whose combination is not convex, the overall learning problem is not convex.
• What does (stochastic) (sub)gradient descent do with non-convex functions? It finds a local minimum.
• To calculate gradients, we need to use the chain rule from calculus.
• Special name for (S)GD with chain rule invocations: backpropagation.
![Page 51: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/51.jpg)
Backpropagation
![Page 52: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/52.jpg)
Backpropagation
![Page 53: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/53.jpg)
Backpropagation
![Page 54: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/54.jpg)
Backpropagation
![Page 55: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/55.jpg)
Backpropagation
![Page 56: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/56.jpg)
Backpropagation
![Page 57: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/57.jpg)
Backpropagation
![Page 58: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/58.jpg)
Backpropagation
![Page 59: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/59.jpg)
Backpropagation
![Page 60: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/60.jpg)
Backpropagation
![Page 61: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/61.jpg)
Backpropagation
![Page 62: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/62.jpg)
Part II:Why Deep?
![Page 63: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/63.jpg)
Layer X SizeWord Error
Rate (%)Layer X Size
Word Error Rate (%)
1 X 2k 24.2
2 X 2k 20.4
3 X 2k 18.4
4 X 2k 17.8
5 X 2k 17.2 1 X 3772 22.5
7 X 2k 17.1 1 X 4634 22.6
1 X 16k 22.1
Deeper is Better?
Seide, Frank, Gang Li, and Dong Yu. "Conversational Speech Transcription Using Context-Dependent Deep Neural Networks." Interspeech. 2011.
Not surprised, more parameters, better performance
![Page 64: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/64.jpg)
Universality Theorem
Reference for the reason: http://neuralnetworksanddeeplearning.com/chap4.html
Any continuous function f
M: RRf N
Can be realized by a network with one hidden layer
(given enough hidden neurons)
Why “Deep” neural network not “Fat” neural network?
![Page 65: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/65.jpg)
Fat + Short v.s. Thin + Tall
1x 2x ……Nx
Deep
1x 2x ……Nx
……
Shallow
Which one is better?Which one is better?
The same number of parameters
The same number of parameters
![Page 66: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/66.jpg)
Fat + Short v.s. Thin + Tall
Seide, Frank, Gang Li, and Dong Yu. "Conversational Speech Transcription Using Context-Dependent Deep Neural Networks." Interspeech. 2011.
Layer X SizeWord Error
Rate (%)Layer X Size
Word Error Rate (%)
1 X 2k 24.2
2 X 2k 20.4
3 X 2k 18.4
4 X 2k 17.8
5 X 2k 17.2 1 X 3772 22.5
7 X 2k 17.1 1 X 4634 22.6
1 X 16k 22.1
![Page 67: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/67.jpg)
長髮男
Why Deep?
• Deep → Modularization
Girls with long hairGirls with long hair
Boys with short hair Boys with short hair
Boys with long hairBoys with long hair
Image
Classifier 1
Classifier 2
Classifier 3
長髮女長髮女長髮女長髮女
Girls with short hairGirls with short hair
短髮女
短髮男短髮男短髮男短髮男
短髮女短髮女短髮女
Classifier 4
Little examplesLittle examplesweakweak
![Page 68: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/68.jpg)
Why Deep?
• Deep → Modularization
Image
Long or short?
Long or short?
Boy or Girl?Boy or Girl?
Classifiers for the attributes
長髮男
長髮女長髮女長髮女長髮女
短髮女 短髮
男短髮男短髮男短髮男
短髮女短髮女短髮女
v.s.
長髮男
長髮女長髮女長髮女長髮女
短髮女
短髮男短髮男短髮男短髮男
短髮女短髮女短髮女
v.s.
Each basic classifier can have sufficient training examples.Each basic classifier can have sufficient training examples.
Basic Classifier
![Page 69: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/69.jpg)
Why Deep?
• Deep → Modularization
Image
Long or short?
Long or short?
Boy or Girl?Boy or Girl?
Sharing by the following classifiers
as module
can be trained by little datacan be trained by little data
Girls with long hairGirls with long hair
Boys with short hair Boys with short hair
Boys with long hairBoys with long hair
Classifier 1
Classifier 2
Classifier 3
Girls with short hairGirls with short hair
Classifier 4
Little dataLittle datafinefineBasic Classifier
![Page 70: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/70.jpg)
Part III:Tips for Training DNN
![Page 71: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/71.jpg)
Recipe for Learning
http://www.gizmodo.com.au/2015/04/the-basic-recipe-for-machine-learning-explained-in-a-single-powerpoint-slide/
![Page 72: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/72.jpg)
Recipe for Learning
http://www.gizmodo.com.au/2015/04/the-basic-recipe-for-machine-learning-explained-in-a-single-powerpoint-slide/
overfittingoverfittingDon’t forget!Don’t forget!
PreventingOverfittingPreventingOverfitting
Modify the Network
Better optimization Strategy
![Page 73: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/73.jpg)
Recipe for Learning
• New activation functions, for example, ReLUor Maxout
Modify the NetworkModify the Network
• Adaptive learning rates
Better optimization StrategyBetter optimization Strategy
• Dropout
Prevent OverfittingPrevent Overfitting
Only use this approach when you already obtained good results on the training data.Only use this approach when you already obtained good results on the training data.
![Page 74: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/74.jpg)
Part III:Tips for Training DNN
Dropout
![Page 75: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/75.jpg)
DropoutTraining:
𝜃𝑡 ← 𝜃𝑡−1 − 𝜂𝛻𝐶 𝜃𝑡−1
Each time before computing the gradients
Each neuron has p% to dropout
Pick a mini-batch
![Page 76: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/76.jpg)
DropoutTraining:
Each time before computing the gradients
Each neuron has p% to dropout
Using the new network for training
The structure of the network is changed.
Thinner!
For each mini-batch, we resample the dropout neurons
𝜃𝑡 ← 𝜃𝑡−1 − 𝜂𝛻𝐶 𝜃𝑡−1
Pick a mini-batch
![Page 77: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/77.jpg)
DropoutTesting:
No dropout
If the dropout rate at training is p%, all the weights times (1-p)%
Assume that the dropout rate is 50%. If a weight w = 1 by training, set 𝑤 = 0.5 for testing.
![Page 78: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/78.jpg)
Dropout - Intuitive Reason
When teams up, if everyone expect the partner will do the work, nothing will be done finally.
However, if you know your partner will dropout, you will do better.
我的 partner 會擺爛,所以我要好好做
我的 partner 會擺爛,所以我要好好做
When testing, no one dropout actually, so obtaining good results eventually.
![Page 79: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/79.jpg)
Part IV:Convolutional Neural Nets
![Page 80: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/80.jpg)
Most machine learning methods work well because of human-designed representations and input featuresML becomes just optimizing weights to best make a final prediction
Traditional ML vs. Deep Learning
![Page 81: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/81.jpg)
A machine learning subfield of learning representations of data. Exceptional effective at learning patterns.Deep learning algorithms attempt to learn (multiple levels of) representation by using a hierarchy of multiple layersIf you provide the system tons of information, it begins to understand it and respond in useful ways.
What is Deep Learning (DL) ?
https://www.xenonstack.com/blog/static/public/uploads/media/machine-learning-vs-deep-learning.png
![Page 82: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/82.jpg)
o Manually designed features are often over-specified, incomplete and take a long time to design and validate
o Learned Features are easy to adapt, fast to learno Deep learning provides a very flexible, (almost?) universal, learnable framework for
representing world, visual and linguistic information.o Can learn both unsupervised and supervisedo Effective end-to-end joint system learningo Utilize large amounts of training data
Why is DL useful?
In ~2010 DL started outperforming other ML techniques first in speech and vision, then NLP
![Page 83: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/83.jpg)
Feature Learning
Unlabeled images
Learningalgorithm
Feature representation
![Page 84: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/84.jpg)
Basic Concept of CNN
Convolutional neural networks
Signal, image, video
![Page 85: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/85.jpg)
Architecture of LeNet
Convolutional layers
Sub-sampling layers
Fully-connected layers
![Page 86: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/86.jpg)
Convolution
5x5 input. 3x3 filter/kernel/feature detector. 3x3 convolved feature/
![Page 87: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/87.jpg)
Multiple filters
Original image
![Page 88: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/88.jpg)
Features at successive convolutional layers
Visualizing and Understanding Convolutional Networks,Matthew D. Zeiler and Rob Fergus, ECCV 2014
Corners and other edge color conjunctions in Layer 2
+/- 45 degreeedges in Layer 1
![Page 89: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/89.jpg)
Visualizing and Understanding Convolutional Networks,Matthew D. Zeiler and Rob Fergus, ECCV 2014
More complex invariances than Layer 2. Similar textures e.g. mesh patterns (R1C1); Text (R2C4).
Features at successive convolutional layers
![Page 90: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/90.jpg)
Visualizing and Understanding Convolutional Networks,Matthew D. Zeiler and Rob Fergus, ECCV 2014
Significant variation, more class specific.Dog faces (R1C1); Bird legs (R4C2).
Entire objects with significant pose variation.Keyboards (R1C1); dogs (R4).
Features at successive convolutional layers
![Page 91: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/91.jpg)
Who decides these features?
Visualizing and Understanding Convolutional Networks,Matthew D. Zeiler and Rob Fergus, ECCV 2014
The network itself while training learns the filter weights and bias terms.
Evolution of randomly chosen subset of model features at training epochs 1,2,5,10,20,30,40,64.
![Page 92: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/92.jpg)
Max pooling
![Page 93: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/93.jpg)
CNN architecture
![Page 94: Deep Learning Tutorial - cse.iitd.ac.in](https://reader034.fdocuments.in/reader034/viewer/2022050313/626f4b36195f513a82214459/html5/thumbnails/94.jpg)
Object Recognition
122