Introducing Convolutional Neural Networks Slides
Introducing Convolutional Neural Networks Slides
Neural Networks
Janani Ravi
CO-FOUNDER, LOONYCORN
www.loonycorn.com
Overview Intuition behind Convolutional Neural
Networks (CNNs)
Convolution layers and feature maps
Pooling layers to subsample inputs
Typical CNN architecture
How Do We See?
Viewing an Image
Layer 2
Layer 1
Layer N
…
Sounds like a classic neural network
problem
Two Kinds of Layers in CNNs
Convolution Pooling
Local receptive field Subsampling of inputs
Convolution
Two Kinds of Layers in CNNs
Convolution Pooling
Local receptive field Subsampling of inputs
Convolution
In this context, a sliding window function applied to
a matrix
Convolution
In this context, a sliding window function applied to
a matrix
28
= 784 pixels
Representing Images as Matrices
6
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
= 36 pixels
Representing Images
3
0 0 0 0 0 0
1 0 1
0.2 0.8 0 0.3 0.6 0
0 0 0 0.2 0.8 0
1 0 1
0 0 0 0.2 0.2 0
Matrix Kernel
Convolution
0 0 0 0 0 0
3
0.2 0.8 0 0.3 0.6 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Kernel
Convolution
0 0 0 0 0 0
4
0.2 0.8 0 0.3 0.6 0 1 1.2 1.1 0.9
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
x1 x0 x1
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x1 x0 x1
0 0 0 0.2 0.2 0
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.8 0
x0 x1 x0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolution
0 0 0 0 0 0
0 0 0 0.2 0.2 0
x1 x0 x1
Matrix Convolution
Result
Convolutional Layers
Convolutional Layers
Neurons
Pixels Convolutional
Layer
Feature Maps
Local
Receptive Field Neuron i
of Neuron i
Pixels Convolutional
Layer
Number of neurons Feature Maps
in receptive field =
kernel size Neuron i
Pixels Convolutional
Layer
Kernel Size
Stride: Distance
between successive
receptive fields
Pixels Convolutional
Layer
Feature Maps
Horizontal Stride
Pixels Convolutional
Layer
Feature Maps
Vertical Stride
Pixels Convolutional
Layer
Feature Maps
Pixels Convolutional
Layer
Feature Maps
Pixels Convolutional
Layer
Feature Maps
Zero padding
may be needed
at the edges
Convolutional
Layer
Feature Maps
Sparse, not
Dense
Feature Maps
Feature Convolutional
CNN
Map Layer
Convolutional Layer
ReLU
ReLU
Convolutional Pooling Convolutional
ReLU
ReLU
Convolutional Pooling Convolutional
ReLU
ReLU
Convolutional Pooling Convolutional
ReLU
ReLU
Convolutional Pooling Convolutional
ReLU
ReLU
Convolutional Pooling Convolutional
ReLU
ReLU
Convolutional Feed-forward
Pooling Convolutional
Layers
CNN Layers
Fully Connected
Fully Connected
ReLU
ReLU
CNN Layers
Feed-forward
Layers
P(Y = 0)
Fully Connected
Fully Connected
P(Y = 1)
Prediction
SoftMax
ReLU
ReLU
CNN Layers
Feed-forward
Layers
P(Y = 9)
P(Y=0) P(Y=9)
…