Convolutional Neural Networks�(CNN)
Convolution
2
Convolution
3
1D Convolution
4
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
1 | 3 | 0 | -1 |
Input
Kernel
Output
|
L = W-w+1
7 |
W
w
1D Convolution
5
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
1 | 3 | 0 | -1 |
Input
Kernel
Output
|
L = W-w+1
7 |
9 |
W
w
1D Convolution
6
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
1 | 3 | 0 | -1 |
w
Input
Kernel
Output
|
L = W-w+1
7 |
9 |
12 |
2 |
-1 |
0 |
6 |
W
Example: 1D Convolution
7
De-noising a Piecewise Smooth Signal
8
De-noising a Piecewise Smooth Signal
9
Edge Detection
10
Smoothing and Detection of Abrupt Changes
11
Images
12
Images Are Numbers
13
Source: 6.S191 Intro. to Deep Learning at MIT
Images
14
Original image
R
G
B
Gray image
2D Convolution
15
Convolution on Image (= Convolution in 2D)
16
Image
Kernel
Output
Convolution on Image (= Convolution in 2D)
17
Convolution on Image
18
Kernel
Image
Kernel
Output
Convolution on Image
19
Gaussian Filter: Blurring
20
How to Find the Right Kernels
21
Learning Visual Features
22
Convolutional Neural Networks (CNN)
23
ANN Structure for Object Detection in Image
24
bird
Fully Connected Neural Network
25
Source: 6.S191 Intro. to Deep Learning at MIT
Convolution Mask + Neural Network
26
Locality
27
Locality
28
Deep Artificial Neural Networks
29
Class 2
Class 1
Convolutional Neural Networks
30
Class 2
Class 1
Multiple Filters (or Kernels)
31
Channels
32
Source: Dr. Francois Fleuret at EPFL
Multi-channel 2D Convolution
33
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Multi-channel 2D Convolution
34
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Kernel
w
h
c
Multi-channel 2D Convolution
35
Kernel
w
h
c
Output
Input
W
H
C
Multi-channel 2D Convolution
36
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Output
Kernel
w
h
c
Multi-channel 2D Convolution
37
Source: Dr. Francois Fleuret at EPFL
Kernel
w
h
c
Input
W
H
C
Output
Multi-channel 2D Convolution
38
Source: Dr. Francois Fleuret at EPFL
Kernel
w
h
c
Input
W
H
C
Output
Multi-channel 2D Convolution
39
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Kernel
w
h
c
Output
Multi-channel 2D Convolution
40
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Kernel
w
h
c
Output
Multi-channel 2D Convolution
41
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Kernel
w
h
c
Output
Multi-channel 2D Convolution
42
Source: Dr. Francois Fleuret at EPFL
Input
W
H
C
Kernel
w
h
c
Output
Multi-channel 2D Convolution
43
Output
Input
W
H
C
Kernel
w
h
c
Source: Dr. Francois Fleuret at EPFL
Multi-channel 2D Convolution
44
Output
H – h + 1
W – w + 1
1
Input
W
H
C
Kernel
w
h
c
Source: Dr. Francois Fleuret at EPFL
Multi-channel and Multi-kernel 2D Convolution
45
Source: Dr. Francois Fleuret at EPFL
Output
H – h + 1
W – w + 1
D
w
h
c
Kernels
Input
W
H
C
D
Dealing with Shapes
46
Source: Dr. Francois Fleuret at EPFL
Multi-channel 2D Convolution
47
Padding and Stride
48
Strides
49
Example with kernel size 3×3 and a stride of 2 (image in blue)
Source: https://github.com/vdumoulin/conv_arithmetic
Padding
�
50
Source: https://github.com/vdumoulin/conv_arithmetic
Padding and Stride
51
Source: Dr. Francois Fleuret at EPFL
Input
Padding and Stride
52
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
53
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
54
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
55
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
56
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
57
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
58
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
59
Source: Dr. Francois Fleuret at EPFL
Input
Output
Padding and Stride
60
Source: Dr. Francois Fleuret at EPFL
Input
Output
Nonlinear Activation Function
61
Pooling
62
Pooling
63
Pooling
64
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
Input
r w
Pooling
65
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
Input
r w
w
Output
|
3 |
r
Pooling
66
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
w
|
3 |
3 |
0 |
2 |
2 |
Input
r w
Output
r
Pooling
67
Source: Dr. Francois Fleuret at EPFL
1 | 3 | 2 | 3 | 0 | -1 | 1 | 2 | 2 | 1 |
w
|
3 |
3 |
0 |
2 |
2 |
Input
r w
Output
r
Pooling: Invariance
68
Source: Dr. Francois Fleuret at EPFL
Pooling: Invariance
69
Source: Dr. Francois Fleuret at EPFL
Multi-channel Pooling
70
Source: Dr. Francois Fleuret at EPFL
Input
r w
s h
C
Multi-channel Pooling
71
Input
r w
s h
C
Output
Multi-channel Pooling
72
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
73
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
74
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
75
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
76
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
77
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
78
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
79
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
80
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
81
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
82
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
83
Source: Dr. Francois Fleuret at EPFL
Output
Input
r w
s h
C
Multi-channel Pooling
84
Source: Dr. Francois Fleuret at EPFL
Input
r w
s h
C
Output
r
s
C
Inside the Convolution Layer Block
85
Conv blocks
Classic ConvNet Architecture
86
CNNs for Classification: Feature Learning
87
Source: 6.S191 Intro. to Deep Learning at MIT
CNNs for Classification: Class Probabilities
88
Source: 6.S191 Intro. to Deep Learning at MIT
CNNs: Training with Backpropagation
89
Source: 6.S191 Intro. to Deep Learning at MIT
CNN in TensorFlow
90
Lab: CNN with TensorFlow
91
CNN Structure
92
Loss and Optimizer
93
Test or Evaluation
94
CNN for Steel Surface Defects
95
Steel Surface Defects
96
CNN with TensorFlow
97