Understanding Convolutional Neural Networks

Understanding Convolutional Neural Networks
Jeremy Nixon
Jeremy Nixon
● Machine Learning Engineer at the Spark Technology Center
● Contributor to MLlib, dedicated to scalable deep learning
○ Author of Deep Neural Network Regression
● Previously, Applied Mathematics to Computer Science & Economics at
Harvard
Structure
1. Introduction / About
2. Motivation
a. Comparison with major machine learning algorithms
b. Tasks achieving State of the Art
c. Applications / Specific Concrete Use Cases
3. The Model / Forward Pass
4. Framing Deep Learning
a. Automated Feature Engineering
b. Non-local generalization
c. Compositionality
i. Hierarchical Learning
ii. Exponentially Model Flexibility
d. Learning Representation
i. Transformation for Linear Separability
ii. Input Space Contortion
e. Extreme flexibility allowing benefits to large datasets
5. Optimization / Backward Pass
6. Conclusion
Many Successes of Deep Learning
1. CNNs - State of the art
a. Object Recognition
b. Object Localization
c. Image Segmentation
d. Image Restoration
e. Music Recommendation
2. RNNs (LSTM) - State of the Art
a. Speech Recognition
b. Question Answering
c. Machine Translation
d. Text Summarization
e. Named Entity Recognition
f. Natural Language Generation
g. Word Sense Disambiguation
h. Image / Video Captioning
i. Sentiment Analysis
Ever trained a Linear Regression Model?
Linear Regression Models
Major Downsides:
Cannot discover non-linear structure in data.
Manual feature engineering by the Data Scientist. This is time consuming and
can be infeasible for high dimensional data.
Decision Tree Based Model? (RF, GB)
Decision Tree Models
Upside:
Capable of automatically picking up on non-linear structure.
Downsides:
Incapable of generalizing outside of the range of the input data.
Restricted to cut points for relationships.
Thankfully, there’s an algorithmic solution.
Neural Networks
Properties
1. Non-local generalization
2. Learning Non-linear structure
3. Automated feature generation
Generalization Outside Data Range
Feedforward Neural Network
X = Normalized Data, W1
, W2
= Weights, b = Bias
Forward:
1. Multiply data by first layer weights | (X*W1
+ b1
)
2. Put output through non-linear activation | max(0, X*W1
+ b1
)
3. Multiply output by second layer weights | max(0, X*W1
+ b) * W2
+ b2
4. Return predicted outputs
The Model / Forward Pass
● Forward
○ Convolutional layer
■ Procedure + Implementation
■ Parameter sharing
■ Sparse interactions
■ Priors & Assumptions
○ Nonlinearity
■ Relu
■ Tanh
○ Pooling Layer
■ Procedure + Implementation
■ Extremely strong prior on image, invariance to small translation.
○ Fully Connected + Output Layer
○ Putting it All Together
Convolutional Layer
Input Components:
1. Input Image / Feature Map
2. Convolutional Filter / Kernel / Parameters / Weights
Output Component:
1. Computed Output Image / Feature Map
Convolutional Layer
Goodfellow, Bengio, Courville
Convolutional Layer
Leow Wee Kheng
Convolutional Layer
1. Every filter weight is used over the entire input.
a. This differs strongly from a fully connected network where each weight corresponds to a
single feature.
2. Rather than learning a separate set of parameters for each location, we
learn a single set.
3. Dramatically reduces the number of parameters we need to store.
Parameter Sharing
Bold Assumptions
1. Convolution be thought of as a fully connected layer with an infinitely strong prior probability that
a. The weights for one hidden unit must be identical to the weights of its neighbor. (Parameter
Sharing)
b. Weights must be zero except for in a small receptive field (Sparse Interactions)
2. Prior assumption of invariance to locality
a. Assumptions overcome data augmentation with translational shifts
i. Other useful transformations include rotations, flips, color perturbations, etc.
b. Equivariant to translation as a result of parameter sharing, but not to rotation or scale (closer
in / farther)
Sparse Interactions
Strong prior on the
locality of information.
Deep networks end up
with greater connectivity.
Non-Linearities
● Element-wise transformation (Applied individually over every element)
Relu Tanh
Max Pooling
Downsampling.
Takes the max value
of regions of the input
image or filter map.
Imposes extremely
strong prior of
invariance to
translation.
Mean Pooling
Output Layer
● Output for classification is often a Softmax function + Cross Entropy loss.
● Output for regression is a single output from a linear (identity) layer with a
Sum of Squared Error loss.
● Feature map can be flattened into a vector to transition to a fully
connected layer / softmax.
Putting it All Together
We can construct architectures that combine
convolution, pooling, and fully connected layers
similar to the examples given here.
Framing Deep Learning
1. Automated Feature Engineering
2. Non-local generalization
3. Compositionality
a. Hierarchical Learning
b. Exponential Model Flexibility
4. Extreme flexibility opens up benefits to large datasets
5. Learning Representation
a. Input Space Contortion
b. Transformation for Linear Separability
Automated Feature Generation
● Pixel - Edges - Shapes - Parts - Objects : Prediction
● Learns features that are optimized for the data
Non - Local Generalization
Hierarchical Learning
● Pixel - Edges - Shapes - Parts - Objects : Prediction
Hierarchical Learning
● Pixel - Edges - Shapes - Parts - Objects : Prediction
Exponential Model Flexibility
● Deep Learning assumes data was generated by a composition of factors
or features.
○ DL has been most successful when this assumption holds.
● Exponential gain in the number of relationships that can be efficiently
models through composition.
Model Flexibility and Dataset Size
Large datasets allow the fitting of
extremely wide & deep models, which
would have overfit in the past.
A combination of large datasets, large &
flexible models, and regularization
techniques (dropout, early stopping, weight
decay) are responsible for success.
Learning Representation:
Transform for Linear Separability
Hidden Layer
+
Nonlinearity
Chris Olah:
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
The goal:
Iteratively improve the filter weights so that they generate correct predictions.
We receive an error signal from the difference between our predictions and
the true outcome.
Our weights are adjusted to reduce that difference.
The process of computing the correct adjustment to our weights at each layer
is called backpropagation.
Backward Pass / Optimization
Convolutional Neural Networks
State of the Art in:
● Computer Vision Applications
○ Autonomous Cars
■ Navigation System
■ Pedestrian Detection / Localization
■ Car Detection / Localization
■ Traffic Sign Recognition
○ Facial Recognition Systems
○ Augmented Reality
■ Visual Language Translation
○ Character Recognition
Convolutional Neural Networks
State of the Art in:
● Computer Vision Applications
○ Video Content Analysis
○ Object Counting
○ Mobile Mapping
○ Gesture Recognition
○ Human Facial Emotion Recognition
○ Automatic Image Annotation
○ Mobile Robots
○ Many, many more
References
● CS 231: http://cs231n.github.io/
● Goodfellow, Bengio, Courville: http://www.deeplearningbook.org/
● Detection as DNN Regression: http://papers.nips.cc/paper/5207-deep-neural-networks-for-object-detection.pdf
● Object Localization: http://arxiv.org/pdf/1312.6229v4.pdf
● Pose Regression: https://www.robots.ox.ac.uk/~vgg/publications/2014/Pfister14a/pfister14a.pdf
● Yuhao Yang CNN: (https://issues.apache.org/jira/browse/SPARK-9273)
● Neural Network Image: http://cs231n.github.io/assets/nn1/neural_net.jpeg
● Zeiler / Fergus: https://arxiv.org/pdf/1311.2901v3.pdf
1 de 36

Recomendados

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 - 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
Convolutional neural network por
Convolutional neural network Convolutional neural network
Convolutional neural network Yan Xu
5.3K visualizações68 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 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
Introduction to CNN por
Introduction to CNNIntroduction to CNN
Introduction to CNNShuai Zhang
8.9K visualizações18 slides

Mais conteúdo relacionado

Mais procurados

Convolutional Neural Network por
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural NetworkVignesh Suresh
267 visualizações10 slides
Cnn por
CnnCnn
CnnNirthika Rajendran
14.1K visualizações31 slides
Convolutional Neural Network (CNN) por
Convolutional Neural Network (CNN)Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN)Muhammad Haroon
842 visualizações16 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
Convolution Neural Network (CNN) por
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)Basit Rafiq
587 visualizações20 slides
Convolutional neural network por
Convolutional neural networkConvolutional neural network
Convolutional neural networkMojammilHusain
1.1K visualizações11 slides

Mais procurados(20)

Convolutional Neural Network por Vignesh Suresh
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural Network
Vignesh Suresh267 visualizações
Convolutional Neural Network (CNN) por Muhammad Haroon
Convolutional Neural Network (CNN)Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN)
Muhammad Haroon842 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
Convolution Neural Network (CNN) por Basit Rafiq
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)
Basit Rafiq587 visualizações
Convolutional neural network por MojammilHusain
Convolutional neural networkConvolutional neural network
Convolutional neural network
MojammilHusain1.1K visualizações
Cnn method por AmirSajedi1
Cnn methodCnn method
Cnn method
AmirSajedi12.2K visualizações
Deep Learning - Convolutional Neural Networks por Christian Perone
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural Networks
Christian Perone71.4K visualizações
Image classification using cnn por SumeraHangi
Image classification using cnnImage classification using cnn
Image classification using cnn
SumeraHangi740 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
Cnn por Mehrnaz Faraz
CnnCnn
Cnn
Mehrnaz Faraz632 visualizações
Deep Learning Introduction Lecture por shivam chaurasia
Deep Learning Introduction LectureDeep Learning Introduction Lecture
Deep Learning Introduction Lecture
shivam chaurasia129 visualizações
Resnet por ashwinjoseph95
ResnetResnet
Resnet
ashwinjoseph951.7K visualizações
Convolutional Neural Networks (CNN) por Gaurav Mittal
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)
Gaurav Mittal58.5K visualizações
Convolutional Neural Networks por Ashray Bhandare
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
Ashray Bhandare16.2K visualizações
Deep Learning - CNN and RNN por Ashray Bhandare
Deep Learning - CNN and RNNDeep Learning - CNN and RNN
Deep Learning - CNN and RNN
Ashray Bhandare5.9K visualizações
Convolutional Neural Network (CNN) presentation from theory to code in Theano por Seongwon Hwang
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Seongwon Hwang4.8K visualizações
Overview of Convolutional Neural Networks por ananth
Overview of Convolutional Neural NetworksOverview of Convolutional Neural Networks
Overview of Convolutional Neural Networks
ananth7.7K visualizações
Intro to Deep Learning for Computer Vision por Christoph Körner
Intro to Deep Learning for Computer VisionIntro to Deep Learning for Computer Vision
Intro to Deep Learning for Computer Vision
Christoph Körner2.2K visualizações
Convolution Neural Network (CNN) por Suraj Aavula
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)
Suraj Aavula13.9K visualizações

Destaque

101: Convolutional Neural Networks por
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks Mad Scientists
4K visualizações55 slides
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015 por
Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015Jia-Bin Huang
16.5K visualizações76 slides
Deep Learning - Convolutional Neural Networks - Architectural Zoo por
Deep Learning - Convolutional Neural Networks - Architectural ZooDeep Learning - Convolutional Neural Networks - Architectural Zoo
Deep Learning - Convolutional Neural Networks - Architectural ZooChristian Perone
26.2K visualizações40 slides
Convolutional Neural NetworkとRankNetを用いた画像の順序予測 por
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Shogo Suzuki
784 visualizações15 slides
Learning Convolutional Neural Networks for Graphs por
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsMathias Niepert
1.3K visualizações38 slides
Jeff Johnson, Research Engineer, Facebook at MLconf NYC por
Jeff Johnson, Research Engineer, Facebook at MLconf NYCJeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYCMLconf
3.7K visualizações34 slides

Destaque(20)

101: Convolutional Neural Networks por Mad Scientists
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks
Mad Scientists4K visualizações
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015 por Jia-Bin Huang
Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015
Jia-Bin Huang16.5K visualizações
Deep Learning - Convolutional Neural Networks - Architectural Zoo por Christian Perone
Deep Learning - Convolutional Neural Networks - Architectural ZooDeep Learning - Convolutional Neural Networks - Architectural Zoo
Deep Learning - Convolutional Neural Networks - Architectural Zoo
Christian Perone26.2K visualizações
Convolutional Neural NetworkとRankNetを用いた画像の順序予測 por Shogo Suzuki
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Shogo Suzuki784 visualizações
Learning Convolutional Neural Networks for Graphs por Mathias Niepert
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
Mathias Niepert1.3K visualizações
Jeff Johnson, Research Engineer, Facebook at MLconf NYC por MLconf
Jeff Johnson, Research Engineer, Facebook at MLconf NYCJeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
MLconf3.7K visualizações
CNN(Convolutional Neural Nets) backpropagation por Jooyoul Lee
CNN(Convolutional Neural Nets) backpropagationCNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagation
Jooyoul Lee2.2K visualizações
Convolutional neural networks for sentiment classification por Yunchao He
Convolutional neural networks for sentiment classificationConvolutional neural networks for sentiment classification
Convolutional neural networks for sentiment classification
Yunchao He1.2K visualizações
Scene classification using Convolutional Neural Networks - Jayani Withanawasam por WithTheBest
Scene classification using Convolutional Neural Networks - Jayani WithanawasamScene classification using Convolutional Neural Networks - Jayani Withanawasam
Scene classification using Convolutional Neural Networks - Jayani Withanawasam
WithTheBest1.4K visualizações
Lukáš Vrábel - Deep Convolutional Neural Networks por Machine Learning Prague
Lukáš Vrábel - Deep Convolutional Neural NetworksLukáš Vrábel - Deep Convolutional Neural Networks
Lukáš Vrábel - Deep Convolutional Neural Networks
Machine Learning Prague1.4K visualizações
Automatic Tagging using Deep Convolutional Neural Networks - ISMIR 2016 por Keunwoo Choi
Automatic Tagging using Deep Convolutional Neural Networks - ISMIR 2016Automatic Tagging using Deep Convolutional Neural Networks - ISMIR 2016
Automatic Tagging using Deep Convolutional Neural Networks - ISMIR 2016
Keunwoo Choi6.2K visualizações
Deep Convolutional Neural Networks - Overview por Keunwoo Choi
Deep Convolutional Neural Networks - OverviewDeep Convolutional Neural Networks - Overview
Deep Convolutional Neural Networks - Overview
Keunwoo Choi3.7K visualizações
Convolution Neural Networks por AhmedMahany
Convolution Neural NetworksConvolution Neural Networks
Convolution Neural Networks
AhmedMahany14.2K visualizações
"Deep Learning" Chap.6 Convolutional Neural Net por Ken'ichi Matsui
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net
Ken'ichi Matsui12.8K visualizações
Case Study of Convolutional Neural Network por NamHyuk Ahn
Case Study of Convolutional Neural NetworkCase Study of Convolutional Neural Network
Case Study of Convolutional Neural Network
NamHyuk Ahn6.8K visualizações
Convolutional neural network in practice por 남주 김
Convolutional neural network in practiceConvolutional neural network in practice
Convolutional neural network in practice
남주 김10K visualizações
Applied Deep Learning 11/03 Convolutional Neural Networks por Mark Chang
Applied Deep Learning 11/03 Convolutional Neural NetworksApplied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural Networks
Mark Chang13K visualizações
Deep Learning for Computer Vision: A comparision between Convolutional Neural... por Vincenzo Lomonaco
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Vincenzo Lomonaco5.3K visualizações
Deep learning por Pratap Dangeti
Deep learningDeep learning
Deep learning
Pratap Dangeti8.8K visualizações

Similar a Understanding Convolutional Neural Networks

Deep Neural Network Regression at Scale in Spark MLlib por
Deep Neural Network Regression at Scale in Spark MLlibDeep Neural Network Regression at Scale in Spark MLlib
Deep Neural Network Regression at Scale in Spark MLlibJeremy Nixon
441 visualizações25 slides
Resnet.pptx por
Resnet.pptxResnet.pptx
Resnet.pptxYanhuaSi
159 visualizações36 slides
Resnet.pdf por
Resnet.pdfResnet.pdf
Resnet.pdfYanhuaSi
41 visualizações36 slides
Transfer Learning and Domain Adaptation - Ramon Morros - UPC Barcelona 2018 por
Transfer Learning and Domain Adaptation - Ramon Morros - UPC Barcelona 2018Transfer Learning and Domain Adaptation - Ramon Morros - UPC Barcelona 2018
Transfer Learning and Domain Adaptation - Ramon Morros - UPC Barcelona 2018Universitat Politècnica de Catalunya
1.5K visualizações37 slides
Deep learning for molecules, introduction to chainer chemistry por
Deep learning for molecules, introduction to chainer chemistryDeep learning for molecules, introduction to chainer chemistry
Deep learning for molecules, introduction to chainer chemistryKenta Oono
4K visualizações61 slides
Transfer Learning and Domain Adaptation (DLAI D5L2 2017 UPC Deep Learning for... por
Transfer Learning and Domain Adaptation (DLAI D5L2 2017 UPC Deep Learning for...Transfer Learning and Domain Adaptation (DLAI D5L2 2017 UPC Deep Learning for...
Transfer Learning and Domain Adaptation (DLAI D5L2 2017 UPC Deep Learning for...Universitat Politècnica de Catalunya
2.5K visualizações37 slides

Similar a Understanding Convolutional Neural Networks(20)

Deep Neural Network Regression at Scale in Spark MLlib por Jeremy Nixon
Deep Neural Network Regression at Scale in Spark MLlibDeep Neural Network Regression at Scale in Spark MLlib
Deep Neural Network Regression at Scale in Spark MLlib
Jeremy Nixon441 visualizações
Resnet.pptx por YanhuaSi
Resnet.pptxResnet.pptx
Resnet.pptx
YanhuaSi159 visualizações
Resnet.pdf por YanhuaSi
Resnet.pdfResnet.pdf
Resnet.pdf
YanhuaSi41 visualizações
Deep learning for molecules, introduction to chainer chemistry por Kenta Oono
Deep learning for molecules, introduction to chainer chemistryDeep learning for molecules, introduction to chainer chemistry
Deep learning for molecules, introduction to chainer chemistry
Kenta Oono4K visualizações
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중 por datasciencekorea
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중
datasciencekorea8.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
Deep Learning por Pierre de Lacaze
Deep LearningDeep Learning
Deep Learning
Pierre de Lacaze1.3K visualizações
RunPool: A Dynamic Pooling Layer for Convolution Neural Network por Putra Wanda
RunPool: A Dynamic Pooling Layer for Convolution Neural NetworkRunPool: A Dynamic Pooling Layer for Convolution Neural Network
RunPool: A Dynamic Pooling Layer for Convolution Neural Network
Putra Wanda58 visualizações
Online learning, Vowpal Wabbit and Hadoop por Héloïse Nonne
Online learning, Vowpal Wabbit and HadoopOnline learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and Hadoop
Héloïse Nonne2.6K visualizações
Introduction to Convolutional Neural Networks por ParrotAI
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
ParrotAI514 visualizações
Mnist report por RaghunandanJairam
Mnist reportMnist report
Mnist report
RaghunandanJairam148 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
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
ssuser3aa46115 visualizações
cnn.pdf por Amnaalia
cnn.pdfcnn.pdf
cnn.pdf
Amnaalia19 visualizações
Mnist report ppt por RaghunandanJairam
Mnist report pptMnist report ppt
Mnist report ppt
RaghunandanJairam433 visualizações
Dssg talk CNN intro por Vincent Tatan
Dssg talk CNN introDssg talk CNN intro
Dssg talk CNN intro
Vincent Tatan96 visualizações

Último

State of the Union - Rohit Yadav - Apache CloudStack por
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
253 visualizações53 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows por
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
385 visualizações86 slides
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue por
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
222 visualizações23 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
50 visualizações69 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue por
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
179 visualizações7 slides
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericShapeBlue
88 visualizações9 slides

Último(20)

State of the Union - Rohit Yadav - Apache CloudStack por ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue253 visualizações
Igniting Next Level Productivity with AI-Infused Data Integration Workflows por Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software385 visualizações
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue por ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 visualizações
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 visualizações
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue por ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 visualizações
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue88 visualizações
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates por ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue210 visualizações
Kyo - Functional Scala 2023.pdf por Flavio W. Brasil
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdf
Flavio W. Brasil449 visualizações
Future of AR - Facebook Presentation por Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 visualizações
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 visualizações
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 visualizações
NTGapps NTG LowCode Platform por Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 visualizações
Business Analyst Series 2023 - Week 4 Session 7 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10126 visualizações
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 visualizações
"Surviving highload with Node.js", Andrii Shumada por Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays53 visualizações
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... por ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 visualizações
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue por ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue93 visualizações
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 visualizações
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 visualizações
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... por ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue98 visualizações

Understanding Convolutional Neural Networks

  • 1. Understanding Convolutional Neural Networks Jeremy Nixon
  • 2. Jeremy Nixon ● Machine Learning Engineer at the Spark Technology Center ● Contributor to MLlib, dedicated to scalable deep learning ○ Author of Deep Neural Network Regression ● Previously, Applied Mathematics to Computer Science & Economics at Harvard
  • 3. Structure 1. Introduction / About 2. Motivation a. Comparison with major machine learning algorithms b. Tasks achieving State of the Art c. Applications / Specific Concrete Use Cases 3. The Model / Forward Pass 4. Framing Deep Learning a. Automated Feature Engineering b. Non-local generalization c. Compositionality i. Hierarchical Learning ii. Exponentially Model Flexibility d. Learning Representation i. Transformation for Linear Separability ii. Input Space Contortion e. Extreme flexibility allowing benefits to large datasets 5. Optimization / Backward Pass 6. Conclusion
  • 4. Many Successes of Deep Learning 1. CNNs - State of the art a. Object Recognition b. Object Localization c. Image Segmentation d. Image Restoration e. Music Recommendation 2. RNNs (LSTM) - State of the Art a. Speech Recognition b. Question Answering c. Machine Translation d. Text Summarization e. Named Entity Recognition f. Natural Language Generation g. Word Sense Disambiguation h. Image / Video Captioning i. Sentiment Analysis
  • 5. Ever trained a Linear Regression Model?
  • 6. Linear Regression Models Major Downsides: Cannot discover non-linear structure in data. Manual feature engineering by the Data Scientist. This is time consuming and can be infeasible for high dimensional data.
  • 7. Decision Tree Based Model? (RF, GB)
  • 8. Decision Tree Models Upside: Capable of automatically picking up on non-linear structure. Downsides: Incapable of generalizing outside of the range of the input data. Restricted to cut points for relationships. Thankfully, there’s an algorithmic solution.
  • 9. Neural Networks Properties 1. Non-local generalization 2. Learning Non-linear structure 3. Automated feature generation
  • 11. Feedforward Neural Network X = Normalized Data, W1 , W2 = Weights, b = Bias Forward: 1. Multiply data by first layer weights | (X*W1 + b1 ) 2. Put output through non-linear activation | max(0, X*W1 + b1 ) 3. Multiply output by second layer weights | max(0, X*W1 + b) * W2 + b2 4. Return predicted outputs
  • 12. The Model / Forward Pass ● Forward ○ Convolutional layer ■ Procedure + Implementation ■ Parameter sharing ■ Sparse interactions ■ Priors & Assumptions ○ Nonlinearity ■ Relu ■ Tanh ○ Pooling Layer ■ Procedure + Implementation ■ Extremely strong prior on image, invariance to small translation. ○ Fully Connected + Output Layer ○ Putting it All Together
  • 13. Convolutional Layer Input Components: 1. Input Image / Feature Map 2. Convolutional Filter / Kernel / Parameters / Weights Output Component: 1. Computed Output Image / Feature Map
  • 17. 1. Every filter weight is used over the entire input. a. This differs strongly from a fully connected network where each weight corresponds to a single feature. 2. Rather than learning a separate set of parameters for each location, we learn a single set. 3. Dramatically reduces the number of parameters we need to store. Parameter Sharing
  • 18. Bold Assumptions 1. Convolution be thought of as a fully connected layer with an infinitely strong prior probability that a. The weights for one hidden unit must be identical to the weights of its neighbor. (Parameter Sharing) b. Weights must be zero except for in a small receptive field (Sparse Interactions) 2. Prior assumption of invariance to locality a. Assumptions overcome data augmentation with translational shifts i. Other useful transformations include rotations, flips, color perturbations, etc. b. Equivariant to translation as a result of parameter sharing, but not to rotation or scale (closer in / farther)
  • 19. Sparse Interactions Strong prior on the locality of information. Deep networks end up with greater connectivity.
  • 20. Non-Linearities ● Element-wise transformation (Applied individually over every element) Relu Tanh
  • 21. Max Pooling Downsampling. Takes the max value of regions of the input image or filter map. Imposes extremely strong prior of invariance to translation.
  • 23. Output Layer ● Output for classification is often a Softmax function + Cross Entropy loss. ● Output for regression is a single output from a linear (identity) layer with a Sum of Squared Error loss. ● Feature map can be flattened into a vector to transition to a fully connected layer / softmax.
  • 24. Putting it All Together We can construct architectures that combine convolution, pooling, and fully connected layers similar to the examples given here.
  • 25. Framing Deep Learning 1. Automated Feature Engineering 2. Non-local generalization 3. Compositionality a. Hierarchical Learning b. Exponential Model Flexibility 4. Extreme flexibility opens up benefits to large datasets 5. Learning Representation a. Input Space Contortion b. Transformation for Linear Separability
  • 26. Automated Feature Generation ● Pixel - Edges - Shapes - Parts - Objects : Prediction ● Learns features that are optimized for the data
  • 27. Non - Local Generalization
  • 28. Hierarchical Learning ● Pixel - Edges - Shapes - Parts - Objects : Prediction
  • 29. Hierarchical Learning ● Pixel - Edges - Shapes - Parts - Objects : Prediction
  • 30. Exponential Model Flexibility ● Deep Learning assumes data was generated by a composition of factors or features. ○ DL has been most successful when this assumption holds. ● Exponential gain in the number of relationships that can be efficiently models through composition.
  • 31. Model Flexibility and Dataset Size Large datasets allow the fitting of extremely wide & deep models, which would have overfit in the past. A combination of large datasets, large & flexible models, and regularization techniques (dropout, early stopping, weight decay) are responsible for success.
  • 32. Learning Representation: Transform for Linear Separability Hidden Layer + Nonlinearity Chris Olah: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
  • 33. The goal: Iteratively improve the filter weights so that they generate correct predictions. We receive an error signal from the difference between our predictions and the true outcome. Our weights are adjusted to reduce that difference. The process of computing the correct adjustment to our weights at each layer is called backpropagation. Backward Pass / Optimization
  • 34. Convolutional Neural Networks State of the Art in: ● Computer Vision Applications ○ Autonomous Cars ■ Navigation System ■ Pedestrian Detection / Localization ■ Car Detection / Localization ■ Traffic Sign Recognition ○ Facial Recognition Systems ○ Augmented Reality ■ Visual Language Translation ○ Character Recognition
  • 35. Convolutional Neural Networks State of the Art in: ● Computer Vision Applications ○ Video Content Analysis ○ Object Counting ○ Mobile Mapping ○ Gesture Recognition ○ Human Facial Emotion Recognition ○ Automatic Image Annotation ○ Mobile Robots ○ Many, many more
  • 36. References ● CS 231: http://cs231n.github.io/ ● Goodfellow, Bengio, Courville: http://www.deeplearningbook.org/ ● Detection as DNN Regression: http://papers.nips.cc/paper/5207-deep-neural-networks-for-object-detection.pdf ● Object Localization: http://arxiv.org/pdf/1312.6229v4.pdf ● Pose Regression: https://www.robots.ox.ac.uk/~vgg/publications/2014/Pfister14a/pfister14a.pdf ● Yuhao Yang CNN: (https://issues.apache.org/jira/browse/SPARK-9273) ● Neural Network Image: http://cs231n.github.io/assets/nn1/neural_net.jpeg ● Zeiler / Fergus: https://arxiv.org/pdf/1311.2901v3.pdf