Convolutional Neural Networks (CNN)

Convolutional Neural
Networks
Gaurav Mittal
2012CSB1013
IIT Ropar
gauravmi@iitrpr.ac.in
1
Lenet-5 (Lecun-98), Convolutional Neural Network for digits recognition
ANN Recap
2gasturbinespower.asmedigitalcollection.asme.org
What are CNNs?
Essentially neural networks that use
convolution in place of general matrix
multiplication in at least one of their layers.
3http://goodfeli.github.io/dlbook/contents/convnets.html
Motivation
4
Detection or Classification Tasks
5Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
What to do with this data?
6Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Feature Representations
7Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Feature Representations
8Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
How is computer perception done?
9Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Feature Representations???
10
Computer Vision Features
11Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Audio Features
12Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
NLP Features
13Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
14
Certainly, coming up with features is
difficult, time-consuming and requires
expert knowledge.
A lot of time is spend tuning the
features which are often hand-crafted!
Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Feature Representations
15www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf
Feature Representations
16www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf
Learning non-linear functions
17www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf
Learning non-linear functions
18
Shallow
Deep
www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf
Biologically Inspired!
19Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
Features Learned by Deep Training
20
21
22
23
Distinguished Features
24
Locally Receptive Fields
Shared Weights
Spatial or Temporal Sub-sampling
http://neuralnetworksanddeeplearning.com/chap6.html
Typical CNN Layer
25
Input
Convolutional
Stage: Affine
Transform
Detector
Stage:
Nonlinearity
Pooling Stage
Normalization
Stage
(Optional)
Output:
Feature Map
Typical CNN Layer
26
Input
Convolutional
Stage: Affine
Transform
Detector
Stage:
Nonlinearity
Pooling Stage
Normalization
Stage
(Optional)
Output:
Feature Map
Convolution
 The convolution of f and g, written as f∗g, is defined as the integral of
the product of the two functions after one is reversed and shifted:
 Convolution is commutative.
 Can be viewed as a weighted average operation at every moment (for
this w need to be a valid probability density function)
 Discrete Convolution (one-axis):
27https://www.wikipedia.org/
Cross-Correlation
• For continuous functions f and g, the cross-correlation is defined as:
where f* denotes the complex conjugate of f and τ is the lag
• Again, cross-correlation is commutative
• For discrete functions, it is defined as:
28https://www.wikipedia.org/
Convolution and Cross-Correlation
in Images
For a 2-D image H and a 2-D kernel F,
29
How do they differ?
30
 Convolution is equivalent to flipping the
filter in both dimensions (bottom to top,
right to left) and applying cross-
correlation
 For symmetric kernels, both result in the
same output.
 Many machine learning libraries
implement cross-correlation but call it
convolution!
2-D Convolution (without kernel
flipping)
31
Example of 'valid' 2-D convolution
(without kernel flipping) where a
3x4 matrix convolved with a 2x2
kernel to output a 2x3 matrix
http://goodfeli.github.io/dlbook/contents/convnets.html
2-D Convolution in Action!
32http://i.stack.imgur.com/I7DBr.gif
Variants
33
• Add zero-padding to the image enough for every pixel to be visited
k times in each direction, with output size: (m + k - 1) x (m + k - 1)Full
• With no zero-padding, kernel is restricted to traverse only within
the image, with output size: (m - k + 1) x (m - k + 1)Valid
• Add zero-padding to the image to have the output of the same size
as the image, i.e., m x mSame
Stride s
• Down-sampling the output of convolution by sampling only every s pixels in each direction.
• For instance, the output of 'valid' convolution with stride s results in an output of size
m − k + s
s
x
m − k + s
s
http://goodfeli.github.io/dlbook/contents/convnets.html
Why Convolution?
34
Why Convolution?
35
Local Receptive Field/Sparse Connectivity
 Convolution exploits the property of spatial local-
correlations in the image by enforcing local connectivity
pattern between neurons of adjacent layers
 Drastic reduce in the number of free parameters
compared to fully connected network reducing
overfitting and more importantly, computational
complexity of the network.
36
Indirect Global Connectivity
37
• Receptive fields of units in deeper layers larger
than shallow layers
• Though direct connections are very sparse,
deeper layers indirectly connected to most of
the input image
• Effect increases with strided convolution or
pooling
Example
38
Input neurons representing a
28x28 image (such as from
MNIST dataset)
http://neuralnetworksanddeeplearning.com/chap6.html
Example
39
Every hidden layer neuron has a
local receptive field of region
5x5 pixels
http://neuralnetworksanddeeplearning.com/chap6.html
Example
40
And so on, the first hidden layer is built!
(28 - 5 + 1) = 24 x 24 neurons in the hidden layer on 'valid' convolution
Size of the hidden layer can be changed using another variant of convolution
http://neuralnetworksanddeeplearning.com/chap6.html
Shared Weights and Bias
• All neuron in the hidden layer share the
same parameterization (weight vector
and bias) forming a 'Feature Map‘
• (Shared Weights, Bias) →Kernel/Filter
• Now, the gradient of a shared weight is
sum of the gradients of the parameters
being shared.
41
Shared Weights and Bias
• Translation Equivariance
o Allows features to be detected regardless of their position in the visual field.
(Feature is a kind of input pattern that will cause a neuron to activate, for eg. an
edge)
o All neurons in the first hidden layer detect exactly the same feature, just at
different locations.
o CNNs are well adapted to translation invariance of images: move a picture of a cat,
and it's still an image of a cat!
• Further reduces the number of free parameters, achieving better
generalization and computational performance.
42
Typical CNN Layer
43
Input
Convolutional
Stage: Affine
Transform
Detector
Stage:
Nonlinearity
Pooling Stage
Normalization
Stage
(Optional)
Output:
Feature Map
Non-Linear Activation Function
• Sigmoid:
• Tanh:
• Rectified Linear Unit (ReLU):
Most popular activation function
for DNN as of 2015, avoids
saturation issues, makes learning
faster
44
Sigmoid Tanh
ReLU
 Feature Map - Obtained by convolution of the image with a linear filter, adding a bias
term and applying a non-linear function
 Require a number of such feature maps at each layer to capture sufficient features in
the image
 Let 𝑘 𝑡𝑡
feature map at a given layer be 𝑥 𝑘
, whose filters are determined by 𝑊𝑘 and bias
𝑏 𝑘, then 𝑥 𝑘
with sigmoid, 𝜎 function for non-linearity and filter of size m x m is
obtained as:
𝑥 𝑘
𝑖𝑖 = 𝜎 𝑊 𝑘
∗ 𝑎 ij + 𝑏 𝑘 = 𝜎 � � 𝑤 𝑎𝑎 𝑦 𝑘−1
𝑖+𝑎 𝑗+𝑏
𝑚−1
𝑏=0
𝑚−1
𝑎=0
𝑖𝑖
+ 𝑏 𝑘
45
• Each hidden layer is compose of
multiple feature maps, 𝑥 𝑘
, 𝑘 = 0. . 𝐾
• Weights, W of a hidden layer can be
represented in a 4D tensor containing
elements for every combination of
destination feature map, source feature
map, source vertical position, and
source horizontal position.
• Biases, b can be represented as a vector
containing one element for every
destination feature map.
46
Typical CNN Layer
47
Input
Convolutional
Stage: Affine
Transform
Detector
Stage:
Nonlinearity
Pooling Stage
Normalization
Stage
(Optional)
Output:
Feature Map
Pooling
 Non-linear down-sampling to simplify the information in
output from convolutional layer.
 Variants:
 Max pooling (popular)
 Weighted average based on distance
 L2 norm of neighborhood
 Reduces computation for upper layers by reporting summary
statistics (only with stride > 1)
 Provides translation invariance (Infinitely strong prior that
learning must be invariant to small translations)
 Useful property, if we care more about whether some feature is
present than exactly where it is, thus adds robustness to
position
48
Bottom view has been shifted by 1 pixel w.r.t.
Top view.
Every value in the bottom row has changed, but
only half the values in the top row has changed!
Typical CNN Layer
49
Input
Convolutional
Stage: Affine
Transform
Detector
Stage:
Nonlinearity
Pooling Stage
Normalization
Stage
(Optional)
Output:
Feature Map
Normalization (Optional)
Locally the response is normalized using some distance based weighted
average function
50
Putting It All Together!
51
Lenet-5 (Lecun-98), Convolutional Neural Network for digits recognition
Lecun 1998
Backpropagation
• Loss function
o For Classification
• Softmax Function with negative log likelihood
o For Regression
• Mean squared error
• Weight Update
where 𝜂 - learning rate,
𝛼 - momentum,
𝜆 - weight decay
52
Backpropagation
• Convolutional Layer
o With error function, E, and filter output 𝒙𝒍
,
Thus, the error is propagated to the previous layer.
• Pooling Layer
o Do not actually learn themselves, just reduce the size of the problem by introducing sparseness.
o Reduces region of k x k size to a single value during forward propagation.
o Error propagated back to the place where it came from, thus errors are rather sparse. 53
http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/
Theano
54
What is Theano?
• Theano is a Python-based Math Expression Compiler whose syntax is
quite similar to NumPy.
• Open-source project developed and maintained by ML group at
Université de Montréal.
• User composes mathematical expressions in a high-level description
mimicking NumPy's syntax and semantics which allows Theano to
provide symbolic differentiation.
55http://deeplearning.net/
Key Features
• Single implementation compatible
with both CPU and GPU.
• Theano on its own optimizes using
CUDA C++ for GPU.
• Easy to implement back-propagation
in CNN, as it automatically computes
all the mappings involved.
• Creates a graph with the various
inputs involved, differentiating
using chain rule.
56
Fitting a multi-layer perceptron to simulated data
with SGD having 784 inputs, 500 hidden units, a
10-way classification and training 60 examples at
a time
http://deeplearning.net/
Sneak Peek into Theano...
57http://deeplearning.net/
Theano-based implementations for
Deep Learning
 Caffe
 Torch
 Keras
Other Frameworks:
 cuDNN
 DIGITS
58
Caffe
59
Key Features
• Deep learning framework (essentially for training CNNs) developed by
Berkeley Vision and Learning Center (BVLC)
• Speed: Able to process over 60M images per day with a single Nvidia
K40 GPU, thus considered to be the fastest convnet implementation
available.
• Expressive Architecture: Allows models and optimization to be defined
as configuration files rather than hard-coding, with ability to switch
between CPU and GPU by a single flag.
60www.caffe.berkeleyvision.org
Sneak Peek into Caffe
61
Convolutional Layer Max Pooling Layer Solver
Age and Gender
Classification using
Convolutional Neural
Networks
Gil Levi and Tal Hassner
The Open University of Israel
IEEE Workshop on Analysis and Modeling of Faces and Gestures (AMFG), at the IEEE
Conf. on Computer Vision and Pattern Recognition (CVPR), Boston, June 2015
62
Overview
 Uses deep-convolutional neural networks (CNN) for the task of
automatic age and gender classification.
 Despite the very challenging nature of the images in the Adience
dataset and the simplicity of the network design used, the method
significantly outperforms existing state of the art by substantial
margins.
63
Dataset - The Adience Benchmark
• Consists of images automatically uploaded
to Flickr from smartphones.
• Viewing conditions of these images are
highly unconstrained, thus capturing
extreme variations in head pose, lightning
conditions, blur, occlusion, expressions and
more.
• Includes roughly 26K images of 2,284
subjects.
• For the tests, in-plane aligned version of the
faces is used.
64
Faces from Adience benchmark (above) and
breakdown into different classes (below)
Network Architecture
65
All 3 RGB
channels
First, resized
to 256 x 256,
then cropped
to 227 x 227
96 filters
size 3x7x7
384 filters
size 256x3x3
Both fully connected
layers contain 512
neurons followed by
ReLU and dropout layer
Output to
class labels
(age /
gender)
256 filters
size 96x5x5
Each convolutional layer is followed by rectified
linear operator (ReLU), max pooling layer of 3x3
regions with 2-pixel strides and a local
normalization layer
Measures to reduce overfitting
• Lean network architecture using just 3 convolutional layers and 2 fully
connected layers considering the size of the dataset and labels involved (8 age
classes and 2 gender classes)
• Dropout learning: Randomly set the output value of network neurons to 0
with a dropout ratio of 0.5 (50% chance)
• Weight decay: Used to keep the magnitude of weights close to zero
• Data Augmentation: Took random crop of 227x227 from image of 256x256
and randomly mirrored it in each forward-backward training pass
All these measures help in keeping the number of free parameters in the
network low reducing complexity and thus over-fitting
66
Experiments
5-fold cross validation based on pre-
specified subject exclusive folds
distribution
What they used
• Trained on Amazon GPU machine with
1,536 CUDA cores and 4 GB GDDR5 RAM
What I used
• Trained on Nvidia Quadro K2200 with
640 CUDA cores and 4 GB GDDR5 RAM
67
Solver
Results
Method
Accuracy
Paper Reimplementation
Single-Crop 85.9 ±1.4 86.7 ± 1.5
Over-Sample 86.8 ± 1.4 87.4 ± 0.9
68
Gender Classification
Age Estimation
Method
Accuracy
Paper Reimplementation
Exact One-off Exact One-off
Single-Crop 49.5 ± 4.4 84.6 ± 1.7 49.5 ± 3.6 85.4 ± 1.8
Over-Sample 50.7 ± 5.1 84.7 ± 2.2 50.6 ± 5.0 85.8 ± 1.5
Results - Age Estimation Confusion
Matrix
69
Predicted Labels
ActualLabels
0-2 4-6 8-13 15-20 25-32 38-43 48-53 60-
0-2 0.741 0.139 0 0.028 0 0 0 0.093
4-6 0.057 0.654 0.135 0.135 0 0 0 0.019
8-13 0 0.114 0 0.828 0.057 0 0 0
15-20 0.018 0.119 0.065 0.653 0.106 0.015 0.010 0.010
25-32 0.009 0.094 0.009 0.471 0.292 0.037 0.037 0.047
38-43 0.02 0 0 0.22 0.56 0.14 0.06 0
48-53 0 0.1 0.033 0.067 0.133 0.267 0.4 0
60- 0.238 0.012 0 0.008 0 0 0 0.740
Predicted Labels
ActualLabels
0-2 4-6 8-13 15-20 25-32 38-43 48-53 60-
0-2 0.699 0.147 0.028 0.006 0.005 0.008 0.007 0.009
4-6 0.256 0.573 0.166 0.023 0.010 0.011 0.010 0.005
8-13 0.027 0.223 0.552 0.150 0.091 0.068 0.055 0.061
15-20 0.003 0.019 0.081 0.239 0.106 0.055 0.049 0.028
25-32 0.006 0.029 0.138 0.510 0.613 0.461 0.260 0.108
38-43 0.004 0.007 0.023 0.058 0.149 0.293 0.339 0.268
48-53 0.002 0.001 0.004 0.007 0.017 0.055 0.146 0.165
60- 0.001 0.001 0.008 0.007 0.009 0.050 0.134 0.357
Paper Reimplementation
References
• http://deeplearning.net/tutorial/
• http://goodfeli.github.io/dlbook/contents/convnets.html
• http://neuralnetworksanddeeplearning.com/chap6.html
• http://deeplearning.net/software/theano/tutorial/
• http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/
• Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
• www.caffe.berkeleyvision.org
• http://www.openu.ac.il/home/hassner/Adience/index.html
• https://www.wikipedia.org/
• www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf
• LeCun, Yann, et al. "Gradient-based learning applied to document recognition."Proceedings of the IEEE 86.11
(1998): 2278-2324.
• Bergstra, James, et al. "Theano: a CPU and GPU math expression compiler."Proceedings of the Python for scientific
computing conference (SciPy). Vol. 4. 2010.
• Gil Levi and Tal Hassner, Age and Gender Classification using Convolutional Neural Networks, IEEE Workshop on
Analysis and Modeling of Faces and Gestures (AMFG), at the IEEE Conf. on Computer Vision and Pattern
Recognition (CVPR), Boston, June 2015
70
1 de 70

Recomendados

Convolution Neural Network (CNN) por
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)Suraj Aavula
13.6K visualizações22 slides
Introduction to CNN por
Introduction to CNNIntroduction to CNN
Introduction to CNNShuai Zhang
8.8K visualizações18 slides
Convolutional Neural Networks por
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksAshray Bhandare
16.1K visualizações80 slides
Machine Learning - Convolutional Neural Network por
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkRichard Kuo
1K visualizações36 slides
Convolutional Neural Network and Its Applications por
Convolutional Neural Network and Its ApplicationsConvolutional Neural Network and Its Applications
Convolutional Neural Network and Its ApplicationsKasun Chinthaka Piyarathna
4.6K visualizações23 slides
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S... por
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...Simplilearn
13.6K visualizações63 slides

Mais conteúdo relacionado

Mais procurados

Introduction to Neural Networks por
Introduction to Neural NetworksIntroduction to Neural Networks
Introduction to Neural NetworksDatabricks
21.6K visualizações62 slides
Convolutional Neural Network Models - Deep Learning por
Convolutional Neural Network Models - Deep LearningConvolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep LearningBenha University
12.6K visualizações83 slides
Convolutional Neural Network (CNN) - image recognition por
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognitionYUNG-KUEI CHEN
4.3K visualizações64 slides
Cnn por
CnnCnn
CnnNirthika Rajendran
13.9K visualizações31 slides
Artificial Neural Networks - ANN por
Artificial Neural Networks - ANNArtificial Neural Networks - ANN
Artificial Neural Networks - ANNMohamed Talaat
10.4K visualizações22 slides
Convolutional Neural Network por
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural NetworkVignesh Suresh
261 visualizações10 slides

Mais procurados(20)

Introduction to Neural Networks por Databricks
Introduction to Neural NetworksIntroduction to Neural Networks
Introduction to Neural Networks
Databricks21.6K visualizações
Convolutional Neural Network Models - Deep Learning por Benha University
Convolutional Neural Network Models - Deep LearningConvolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep Learning
Benha University12.6K visualizações
Convolutional Neural Network (CNN) - image recognition por YUNG-KUEI CHEN
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognition
YUNG-KUEI CHEN4.3K visualizações
Artificial Neural Networks - ANN por Mohamed Talaat
Artificial Neural Networks - ANNArtificial Neural Networks - ANN
Artificial Neural Networks - ANN
Mohamed Talaat10.4K visualizações
Convolutional Neural Network por Vignesh Suresh
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural Network
Vignesh Suresh261 visualizações
Deep neural networks por Si Haem
Deep neural networksDeep neural networks
Deep neural networks
Si Haem162.4K visualizações
Deep learning por Rajgupta258
Deep learning Deep learning
Deep learning
Rajgupta2581.6K visualizações
Image classification using CNN por Noura Hussein
Image classification using CNNImage classification using CNN
Image classification using CNN
Noura Hussein5.3K visualizações
Deep learning presentation por Tunde Ajose-Ismail
Deep learning presentationDeep learning presentation
Deep learning presentation
Tunde Ajose-Ismail33.2K visualizações
Multilayer perceptron por omaraldabash
Multilayer perceptronMultilayer perceptron
Multilayer perceptron
omaraldabash1.9K visualizações
Deep learning por Ratnakar Pandey
Deep learningDeep learning
Deep learning
Ratnakar Pandey11.4K visualizações
Recurrent Neural Network (RNN) | RNN LSTM Tutorial | Deep Learning Course | S... por Simplilearn
Recurrent Neural Network (RNN) | RNN LSTM Tutorial | Deep Learning Course | S...Recurrent Neural Network (RNN) | RNN LSTM Tutorial | Deep Learning Course | S...
Recurrent Neural Network (RNN) | RNN LSTM Tutorial | Deep Learning Course | S...
Simplilearn18.7K visualizações
Artificial Neural Networks Lect3: Neural Network Learning rules por Mohammed Bennamoun
Artificial Neural Networks Lect3: Neural Network Learning rulesArtificial Neural Networks Lect3: Neural Network Learning rules
Artificial Neural Networks Lect3: Neural Network Learning rules
Mohammed Bennamoun17.8K visualizações
Feedforward neural network por Sopheaktra YONG
Feedforward neural networkFeedforward neural network
Feedforward neural network
Sopheaktra YONG9.4K visualizações
Convolutional neural network por Ferdous ahmed
Convolutional neural networkConvolutional neural network
Convolutional neural network
Ferdous ahmed553 visualizações
Back propagation por Nagarajan
Back propagationBack propagation
Back propagation
Nagarajan66.6K visualizações
backpropagation in neural networks por Akash Goel
backpropagation in neural networksbackpropagation in neural networks
backpropagation in neural networks
Akash Goel25.9K visualizações
Image classification using cnn por SumeraHangi
Image classification using cnnImage classification using cnn
Image classification using cnn
SumeraHangi718 visualizações
Perceptron (neural network) por EdutechLearners
Perceptron (neural network)Perceptron (neural network)
Perceptron (neural network)
EdutechLearners21.7K visualizações

Similar a Convolutional Neural Networks (CNN)

Deep Learning por
Deep LearningDeep Learning
Deep LearningPierre de Lacaze
1.3K visualizações62 slides
Introduction to deep learning por
Introduction to deep learningIntroduction to deep learning
Introduction to deep learningJunaid Bhat
1.4K visualizações61 slides
Batch normalization presentation por
Batch normalization presentationBatch normalization presentation
Batch normalization presentationOwin Will
680 visualizações35 slides
cnn.pdf por
cnn.pdfcnn.pdf
cnn.pdfAmnaalia
19 visualizações31 slides
Deep learning from a novice perspective por
Deep learning from a novice perspectiveDeep learning from a novice perspective
Deep learning from a novice perspectiveAnirban Santara
1.2K visualizações25 slides
Review-image-segmentation-by-deep-learning por
Review-image-segmentation-by-deep-learningReview-image-segmentation-by-deep-learning
Review-image-segmentation-by-deep-learningTrong-An Bui
166 visualizações37 slides

Similar a Convolutional Neural Networks (CNN)(20)

Deep Learning por Pierre de Lacaze
Deep LearningDeep Learning
Deep Learning
Pierre de Lacaze1.3K visualizações
Introduction to deep learning por Junaid Bhat
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
Junaid Bhat1.4K visualizações
Batch normalization presentation por Owin Will
Batch normalization presentationBatch normalization presentation
Batch normalization presentation
Owin Will680 visualizações
cnn.pdf por Amnaalia
cnn.pdfcnn.pdf
cnn.pdf
Amnaalia19 visualizações
Deep learning from a novice perspective por Anirban Santara
Deep learning from a novice perspectiveDeep learning from a novice perspective
Deep learning from a novice perspective
Anirban Santara1.2K visualizações
Review-image-segmentation-by-deep-learning por Trong-An Bui
Review-image-segmentation-by-deep-learningReview-image-segmentation-by-deep-learning
Review-image-segmentation-by-deep-learning
Trong-An Bui166 visualizações
intro-to-cnn-April_2020.pptx por ssuser3aa461
intro-to-cnn-April_2020.pptxintro-to-cnn-April_2020.pptx
intro-to-cnn-April_2020.pptx
ssuser3aa46114 visualizações
Deep Neural Network DNN.docx por jaffarbikat
Deep Neural Network DNN.docxDeep Neural Network DNN.docx
Deep Neural Network DNN.docx
jaffarbikat3 visualizações
Artificial Intelligence, Machine Learning and Deep Learning por Sujit Pal
Artificial Intelligence, Machine Learning and Deep LearningArtificial Intelligence, Machine Learning and Deep Learning
Artificial Intelligence, Machine Learning and Deep Learning
Sujit Pal22.9K visualizações
Deep learning (2) por Muhanad Al-khalisy
Deep learning (2)Deep learning (2)
Deep learning (2)
Muhanad Al-khalisy169 visualizações
A brief introduction to recent segmentation methods por Shunta Saito
A brief introduction to recent segmentation methodsA brief introduction to recent segmentation methods
A brief introduction to recent segmentation methods
Shunta Saito10.2K visualizações
Mnist report por RaghunandanJairam
Mnist reportMnist report
Mnist report
RaghunandanJairam148 visualizações
Hardware Acceleration for Machine Learning por CastLabKAIST
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine Learning
CastLabKAIST1.5K visualizações
Cvpr 2018 papers review (efficient computing) por DonghyunKang12
Cvpr 2018 papers review (efficient computing)Cvpr 2018 papers review (efficient computing)
Cvpr 2018 papers review (efficient computing)
DonghyunKang12400 visualizações
DL.pdf por ssuserd23711
DL.pdfDL.pdf
DL.pdf
ssuserd2371117 visualizações
Deep learning for 3-D Scene Reconstruction and Modeling por Yu Huang
Deep learning for 3-D Scene Reconstruction and Modeling Deep learning for 3-D Scene Reconstruction and Modeling
Deep learning for 3-D Scene Reconstruction and Modeling
Yu Huang9.6K visualizações
Fundamental of deep learning por Stanley Wang
Fundamental of deep learningFundamental of deep learning
Fundamental of deep learning
Stanley Wang1.3K visualizações
Mnist report ppt por RaghunandanJairam
Mnist report pptMnist report ppt
Mnist report ppt
RaghunandanJairam423 visualizações
14_cnn complete.pptx por FaizanNadeem10
14_cnn complete.pptx14_cnn complete.pptx
14_cnn complete.pptx
FaizanNadeem1041 visualizações

Último

TGP 2.docx por
TGP 2.docxTGP 2.docx
TGP 2.docxsandi636490
10 visualizações8 slides
Organic Shopping in Google Analytics 4.pdf por
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdfGA4 Tutorials
12 visualizações13 slides
ColonyOS por
ColonyOSColonyOS
ColonyOSJohanKristiansson6
9 visualizações17 slides
UNEP FI CRS Climate Risk Results.pptx por
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptxpekka28
11 visualizações51 slides
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation por
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented GenerationDataScienceConferenc1
11 visualizações29 slides
Chapter 3b- Process Communication (1) (1)(1) (1).pptx por
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptxayeshabaig2004
5 visualizações30 slides

Último(20)

TGP 2.docx por sandi636490
TGP 2.docxTGP 2.docx
TGP 2.docx
sandi63649010 visualizações
Organic Shopping in Google Analytics 4.pdf por GA4 Tutorials
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdf
GA4 Tutorials12 visualizações
UNEP FI CRS Climate Risk Results.pptx por pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 visualizações
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation por DataScienceConferenc1
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
DataScienceConferenc111 visualizações
Chapter 3b- Process Communication (1) (1)(1) (1).pptx por ayeshabaig2004
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptx
ayeshabaig20045 visualizações
CRIJ4385_Death Penalty_F23.pptx por yvettemm100
CRIJ4385_Death Penalty_F23.pptxCRIJ4385_Death Penalty_F23.pptx
CRIJ4385_Death Penalty_F23.pptx
yvettemm1006 visualizações
Short Story Assignment by Kelly Nguyen por kellynguyen01
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyen
kellynguyen0119 visualizações
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... por DataScienceConferenc1
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
DataScienceConferenc15 visualizações
Survey on Factuality in LLM's.pptx por NeethaSherra1
Survey on Factuality in LLM's.pptxSurvey on Factuality in LLM's.pptx
Survey on Factuality in LLM's.pptx
NeethaSherra15 visualizações
3196 The Case of The East River por ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9012 visualizações
RIO GRANDE SUPPLY COMPANY INC, JAYSON.docx por JaysonGarabilesEspej
RIO GRANDE SUPPLY COMPANY INC, JAYSON.docxRIO GRANDE SUPPLY COMPANY INC, JAYSON.docx
RIO GRANDE SUPPLY COMPANY INC, JAYSON.docx
JaysonGarabilesEspej6 visualizações
How Leaders See Data? (Level 1) por Narendra Narendra
How Leaders See Data? (Level 1)How Leaders See Data? (Level 1)
How Leaders See Data? (Level 1)
Narendra Narendra13 visualizações
SUPER STORE SQL PROJECT.pptx por khan888620
SUPER STORE SQL PROJECT.pptxSUPER STORE SQL PROJECT.pptx
SUPER STORE SQL PROJECT.pptx
khan88862012 visualizações
PROGRAMME.pdf por HiNedHaJar
PROGRAMME.pdfPROGRAMME.pdf
PROGRAMME.pdf
HiNedHaJar19 visualizações
Ukraine Infographic_22NOV2023_v2.pdf por AnastosiyaGurin
Ukraine Infographic_22NOV2023_v2.pdfUkraine Infographic_22NOV2023_v2.pdf
Ukraine Infographic_22NOV2023_v2.pdf
AnastosiyaGurin1.4K visualizações
Cross-network in Google Analytics 4.pdf por GA4 Tutorials
Cross-network in Google Analytics 4.pdfCross-network in Google Analytics 4.pdf
Cross-network in Google Analytics 4.pdf
GA4 Tutorials6 visualizações
Advanced_Recommendation_Systems_Presentation.pptx por neeharikasingh29
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptx
neeharikasingh295 visualizações

Convolutional Neural Networks (CNN)

  • 1. Convolutional Neural Networks Gaurav Mittal 2012CSB1013 IIT Ropar gauravmi@iitrpr.ac.in 1 Lenet-5 (Lecun-98), Convolutional Neural Network for digits recognition
  • 3. What are CNNs? Essentially neural networks that use convolution in place of general matrix multiplication in at least one of their layers. 3http://goodfeli.github.io/dlbook/contents/convnets.html
  • 5. Detection or Classification Tasks 5Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 6. What to do with this data? 6Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 7. Feature Representations 7Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 8. Feature Representations 8Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 9. How is computer perception done? 9Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 11. Computer Vision Features 11Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 12. Audio Features 12Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 13. NLP Features 13Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 14. 14 Certainly, coming up with features is difficult, time-consuming and requires expert knowledge. A lot of time is spend tuning the features which are often hand-crafted! Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 19. Biologically Inspired! 19Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning
  • 20. Features Learned by Deep Training 20
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. Distinguished Features 24 Locally Receptive Fields Shared Weights Spatial or Temporal Sub-sampling http://neuralnetworksanddeeplearning.com/chap6.html
  • 25. Typical CNN Layer 25 Input Convolutional Stage: Affine Transform Detector Stage: Nonlinearity Pooling Stage Normalization Stage (Optional) Output: Feature Map
  • 26. Typical CNN Layer 26 Input Convolutional Stage: Affine Transform Detector Stage: Nonlinearity Pooling Stage Normalization Stage (Optional) Output: Feature Map
  • 27. Convolution  The convolution of f and g, written as f∗g, is defined as the integral of the product of the two functions after one is reversed and shifted:  Convolution is commutative.  Can be viewed as a weighted average operation at every moment (for this w need to be a valid probability density function)  Discrete Convolution (one-axis): 27https://www.wikipedia.org/
  • 28. Cross-Correlation • For continuous functions f and g, the cross-correlation is defined as: where f* denotes the complex conjugate of f and τ is the lag • Again, cross-correlation is commutative • For discrete functions, it is defined as: 28https://www.wikipedia.org/
  • 29. Convolution and Cross-Correlation in Images For a 2-D image H and a 2-D kernel F, 29
  • 30. How do they differ? 30  Convolution is equivalent to flipping the filter in both dimensions (bottom to top, right to left) and applying cross- correlation  For symmetric kernels, both result in the same output.  Many machine learning libraries implement cross-correlation but call it convolution!
  • 31. 2-D Convolution (without kernel flipping) 31 Example of 'valid' 2-D convolution (without kernel flipping) where a 3x4 matrix convolved with a 2x2 kernel to output a 2x3 matrix http://goodfeli.github.io/dlbook/contents/convnets.html
  • 32. 2-D Convolution in Action! 32http://i.stack.imgur.com/I7DBr.gif
  • 33. Variants 33 • Add zero-padding to the image enough for every pixel to be visited k times in each direction, with output size: (m + k - 1) x (m + k - 1)Full • With no zero-padding, kernel is restricted to traverse only within the image, with output size: (m - k + 1) x (m - k + 1)Valid • Add zero-padding to the image to have the output of the same size as the image, i.e., m x mSame Stride s • Down-sampling the output of convolution by sampling only every s pixels in each direction. • For instance, the output of 'valid' convolution with stride s results in an output of size m − k + s s x m − k + s s http://goodfeli.github.io/dlbook/contents/convnets.html
  • 36. Local Receptive Field/Sparse Connectivity  Convolution exploits the property of spatial local- correlations in the image by enforcing local connectivity pattern between neurons of adjacent layers  Drastic reduce in the number of free parameters compared to fully connected network reducing overfitting and more importantly, computational complexity of the network. 36
  • 37. Indirect Global Connectivity 37 • Receptive fields of units in deeper layers larger than shallow layers • Though direct connections are very sparse, deeper layers indirectly connected to most of the input image • Effect increases with strided convolution or pooling
  • 38. Example 38 Input neurons representing a 28x28 image (such as from MNIST dataset) http://neuralnetworksanddeeplearning.com/chap6.html
  • 39. Example 39 Every hidden layer neuron has a local receptive field of region 5x5 pixels http://neuralnetworksanddeeplearning.com/chap6.html
  • 40. Example 40 And so on, the first hidden layer is built! (28 - 5 + 1) = 24 x 24 neurons in the hidden layer on 'valid' convolution Size of the hidden layer can be changed using another variant of convolution http://neuralnetworksanddeeplearning.com/chap6.html
  • 41. Shared Weights and Bias • All neuron in the hidden layer share the same parameterization (weight vector and bias) forming a 'Feature Map‘ • (Shared Weights, Bias) →Kernel/Filter • Now, the gradient of a shared weight is sum of the gradients of the parameters being shared. 41
  • 42. Shared Weights and Bias • Translation Equivariance o Allows features to be detected regardless of their position in the visual field. (Feature is a kind of input pattern that will cause a neuron to activate, for eg. an edge) o All neurons in the first hidden layer detect exactly the same feature, just at different locations. o CNNs are well adapted to translation invariance of images: move a picture of a cat, and it's still an image of a cat! • Further reduces the number of free parameters, achieving better generalization and computational performance. 42
  • 43. Typical CNN Layer 43 Input Convolutional Stage: Affine Transform Detector Stage: Nonlinearity Pooling Stage Normalization Stage (Optional) Output: Feature Map
  • 44. Non-Linear Activation Function • Sigmoid: • Tanh: • Rectified Linear Unit (ReLU): Most popular activation function for DNN as of 2015, avoids saturation issues, makes learning faster 44 Sigmoid Tanh ReLU
  • 45.  Feature Map - Obtained by convolution of the image with a linear filter, adding a bias term and applying a non-linear function  Require a number of such feature maps at each layer to capture sufficient features in the image  Let 𝑘 𝑡𝑡 feature map at a given layer be 𝑥 𝑘 , whose filters are determined by 𝑊𝑘 and bias 𝑏 𝑘, then 𝑥 𝑘 with sigmoid, 𝜎 function for non-linearity and filter of size m x m is obtained as: 𝑥 𝑘 𝑖𝑖 = 𝜎 𝑊 𝑘 ∗ 𝑎 ij + 𝑏 𝑘 = 𝜎 � � 𝑤 𝑎𝑎 𝑦 𝑘−1 𝑖+𝑎 𝑗+𝑏 𝑚−1 𝑏=0 𝑚−1 𝑎=0 𝑖𝑖 + 𝑏 𝑘 45
  • 46. • Each hidden layer is compose of multiple feature maps, 𝑥 𝑘 , 𝑘 = 0. . 𝐾 • Weights, W of a hidden layer can be represented in a 4D tensor containing elements for every combination of destination feature map, source feature map, source vertical position, and source horizontal position. • Biases, b can be represented as a vector containing one element for every destination feature map. 46
  • 47. Typical CNN Layer 47 Input Convolutional Stage: Affine Transform Detector Stage: Nonlinearity Pooling Stage Normalization Stage (Optional) Output: Feature Map
  • 48. Pooling  Non-linear down-sampling to simplify the information in output from convolutional layer.  Variants:  Max pooling (popular)  Weighted average based on distance  L2 norm of neighborhood  Reduces computation for upper layers by reporting summary statistics (only with stride > 1)  Provides translation invariance (Infinitely strong prior that learning must be invariant to small translations)  Useful property, if we care more about whether some feature is present than exactly where it is, thus adds robustness to position 48 Bottom view has been shifted by 1 pixel w.r.t. Top view. Every value in the bottom row has changed, but only half the values in the top row has changed!
  • 49. Typical CNN Layer 49 Input Convolutional Stage: Affine Transform Detector Stage: Nonlinearity Pooling Stage Normalization Stage (Optional) Output: Feature Map
  • 50. Normalization (Optional) Locally the response is normalized using some distance based weighted average function 50
  • 51. Putting It All Together! 51 Lenet-5 (Lecun-98), Convolutional Neural Network for digits recognition Lecun 1998
  • 52. Backpropagation • Loss function o For Classification • Softmax Function with negative log likelihood o For Regression • Mean squared error • Weight Update where 𝜂 - learning rate, 𝛼 - momentum, 𝜆 - weight decay 52
  • 53. Backpropagation • Convolutional Layer o With error function, E, and filter output 𝒙𝒍 , Thus, the error is propagated to the previous layer. • Pooling Layer o Do not actually learn themselves, just reduce the size of the problem by introducing sparseness. o Reduces region of k x k size to a single value during forward propagation. o Error propagated back to the place where it came from, thus errors are rather sparse. 53 http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/
  • 55. What is Theano? • Theano is a Python-based Math Expression Compiler whose syntax is quite similar to NumPy. • Open-source project developed and maintained by ML group at Université de Montréal. • User composes mathematical expressions in a high-level description mimicking NumPy's syntax and semantics which allows Theano to provide symbolic differentiation. 55http://deeplearning.net/
  • 56. Key Features • Single implementation compatible with both CPU and GPU. • Theano on its own optimizes using CUDA C++ for GPU. • Easy to implement back-propagation in CNN, as it automatically computes all the mappings involved. • Creates a graph with the various inputs involved, differentiating using chain rule. 56 Fitting a multi-layer perceptron to simulated data with SGD having 784 inputs, 500 hidden units, a 10-way classification and training 60 examples at a time http://deeplearning.net/
  • 57. Sneak Peek into Theano... 57http://deeplearning.net/
  • 58. Theano-based implementations for Deep Learning  Caffe  Torch  Keras Other Frameworks:  cuDNN  DIGITS 58
  • 60. Key Features • Deep learning framework (essentially for training CNNs) developed by Berkeley Vision and Learning Center (BVLC) • Speed: Able to process over 60M images per day with a single Nvidia K40 GPU, thus considered to be the fastest convnet implementation available. • Expressive Architecture: Allows models and optimization to be defined as configuration files rather than hard-coding, with ability to switch between CPU and GPU by a single flag. 60www.caffe.berkeleyvision.org
  • 61. Sneak Peek into Caffe 61 Convolutional Layer Max Pooling Layer Solver
  • 62. Age and Gender Classification using Convolutional Neural Networks Gil Levi and Tal Hassner The Open University of Israel IEEE Workshop on Analysis and Modeling of Faces and Gestures (AMFG), at the IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), Boston, June 2015 62
  • 63. Overview  Uses deep-convolutional neural networks (CNN) for the task of automatic age and gender classification.  Despite the very challenging nature of the images in the Adience dataset and the simplicity of the network design used, the method significantly outperforms existing state of the art by substantial margins. 63
  • 64. Dataset - The Adience Benchmark • Consists of images automatically uploaded to Flickr from smartphones. • Viewing conditions of these images are highly unconstrained, thus capturing extreme variations in head pose, lightning conditions, blur, occlusion, expressions and more. • Includes roughly 26K images of 2,284 subjects. • For the tests, in-plane aligned version of the faces is used. 64 Faces from Adience benchmark (above) and breakdown into different classes (below)
  • 65. Network Architecture 65 All 3 RGB channels First, resized to 256 x 256, then cropped to 227 x 227 96 filters size 3x7x7 384 filters size 256x3x3 Both fully connected layers contain 512 neurons followed by ReLU and dropout layer Output to class labels (age / gender) 256 filters size 96x5x5 Each convolutional layer is followed by rectified linear operator (ReLU), max pooling layer of 3x3 regions with 2-pixel strides and a local normalization layer
  • 66. Measures to reduce overfitting • Lean network architecture using just 3 convolutional layers and 2 fully connected layers considering the size of the dataset and labels involved (8 age classes and 2 gender classes) • Dropout learning: Randomly set the output value of network neurons to 0 with a dropout ratio of 0.5 (50% chance) • Weight decay: Used to keep the magnitude of weights close to zero • Data Augmentation: Took random crop of 227x227 from image of 256x256 and randomly mirrored it in each forward-backward training pass All these measures help in keeping the number of free parameters in the network low reducing complexity and thus over-fitting 66
  • 67. Experiments 5-fold cross validation based on pre- specified subject exclusive folds distribution What they used • Trained on Amazon GPU machine with 1,536 CUDA cores and 4 GB GDDR5 RAM What I used • Trained on Nvidia Quadro K2200 with 640 CUDA cores and 4 GB GDDR5 RAM 67 Solver
  • 68. Results Method Accuracy Paper Reimplementation Single-Crop 85.9 ±1.4 86.7 ± 1.5 Over-Sample 86.8 ± 1.4 87.4 ± 0.9 68 Gender Classification Age Estimation Method Accuracy Paper Reimplementation Exact One-off Exact One-off Single-Crop 49.5 ± 4.4 84.6 ± 1.7 49.5 ± 3.6 85.4 ± 1.8 Over-Sample 50.7 ± 5.1 84.7 ± 2.2 50.6 ± 5.0 85.8 ± 1.5
  • 69. Results - Age Estimation Confusion Matrix 69 Predicted Labels ActualLabels 0-2 4-6 8-13 15-20 25-32 38-43 48-53 60- 0-2 0.741 0.139 0 0.028 0 0 0 0.093 4-6 0.057 0.654 0.135 0.135 0 0 0 0.019 8-13 0 0.114 0 0.828 0.057 0 0 0 15-20 0.018 0.119 0.065 0.653 0.106 0.015 0.010 0.010 25-32 0.009 0.094 0.009 0.471 0.292 0.037 0.037 0.047 38-43 0.02 0 0 0.22 0.56 0.14 0.06 0 48-53 0 0.1 0.033 0.067 0.133 0.267 0.4 0 60- 0.238 0.012 0 0.008 0 0 0 0.740 Predicted Labels ActualLabels 0-2 4-6 8-13 15-20 25-32 38-43 48-53 60- 0-2 0.699 0.147 0.028 0.006 0.005 0.008 0.007 0.009 4-6 0.256 0.573 0.166 0.023 0.010 0.011 0.010 0.005 8-13 0.027 0.223 0.552 0.150 0.091 0.068 0.055 0.061 15-20 0.003 0.019 0.081 0.239 0.106 0.055 0.049 0.028 25-32 0.006 0.029 0.138 0.510 0.613 0.461 0.260 0.108 38-43 0.004 0.007 0.023 0.058 0.149 0.293 0.339 0.268 48-53 0.002 0.001 0.004 0.007 0.017 0.055 0.146 0.165 60- 0.001 0.001 0.008 0.007 0.009 0.050 0.134 0.357 Paper Reimplementation
  • 70. References • http://deeplearning.net/tutorial/ • http://goodfeli.github.io/dlbook/contents/convnets.html • http://neuralnetworksanddeeplearning.com/chap6.html • http://deeplearning.net/software/theano/tutorial/ • http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/ • Andrew Ng: Deep Learning, Self-Taught Learning and Unsupervised Feature Learning • www.caffe.berkeleyvision.org • http://www.openu.ac.il/home/hassner/Adience/index.html • https://www.wikipedia.org/ • www.cse.ust.hk/~leichen/courses/FYTG.../FYTGS5101-Guoyangxie.pdf • LeCun, Yann, et al. "Gradient-based learning applied to document recognition."Proceedings of the IEEE 86.11 (1998): 2278-2324. • Bergstra, James, et al. "Theano: a CPU and GPU math expression compiler."Proceedings of the Python for scientific computing conference (SciPy). Vol. 4. 2010. • Gil Levi and Tal Hassner, Age and Gender Classification using Convolutional Neural Networks, IEEE Workshop on Analysis and Modeling of Faces and Gestures (AMFG), at the IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), Boston, June 2015 70