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 von 36

Recomendados

Convolutional Neural Network (CNN) - image recognition von
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognitionYUNG-KUEI CHEN
4.3K views64 Folien
Convolutional Neural Network (CNN) von
Convolutional Neural Network (CNN)Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN)Muhammad Haroon
829 views16 Folien
CONVOLUTIONAL NEURAL NETWORK von
CONVOLUTIONAL NEURAL NETWORKCONVOLUTIONAL NEURAL NETWORK
CONVOLUTIONAL NEURAL NETWORKMd Rajib Bhuiyan
711 views11 Folien
Convolutional neural network von
Convolutional neural networkConvolutional neural network
Convolutional neural networkMojammilHusain
1.1K views11 Folien
Convolutional Neural Network von
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural NetworkVignesh Suresh
263 views10 Folien
Machine Learning - Convolutional Neural Network von
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkRichard Kuo
1K views36 Folien

Más contenido relacionado

Was ist angesagt?

Image Classification using deep learning von
Image Classification using deep learning Image Classification using deep learning
Image Classification using deep learning Asma-AH
575 views36 Folien
CNN Tutorial von
CNN TutorialCNN Tutorial
CNN TutorialSungjoon Choi
5.6K views37 Folien
cnn ppt.pptx von
cnn ppt.pptxcnn ppt.pptx
cnn ppt.pptxrohithprabhas1
292 views30 Folien
Deep Learning - Convolutional Neural Networks von
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural NetworksChristian Perone
71.4K views86 Folien
Convolutional Neural Network and Its Applications von
Convolutional Neural Network and Its ApplicationsConvolutional Neural Network and Its Applications
Convolutional Neural Network and Its ApplicationsKasun Chinthaka Piyarathna
4.6K views23 Folien
Convolutional neural network from VGG to DenseNet von
Convolutional neural network from VGG to DenseNetConvolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNetSungminYou
992 views24 Folien

Was ist angesagt?(20)

Image Classification using deep learning von Asma-AH
Image Classification using deep learning Image Classification using deep learning
Image Classification using deep learning
Asma-AH575 views
Deep Learning - Convolutional Neural Networks von Christian Perone
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural Networks
Christian Perone71.4K views
Convolutional neural network from VGG to DenseNet von SungminYou
Convolutional neural network from VGG to DenseNetConvolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNet
SungminYou992 views
Overview of Convolutional Neural Networks von ananth
Overview of Convolutional Neural NetworksOverview of Convolutional Neural Networks
Overview of Convolutional Neural Networks
ananth7.7K views
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S... von Simplilearn
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...
Simplilearn13.6K views
Image classification using cnn von SumeraHangi
Image classification using cnnImage classification using cnn
Image classification using cnn
SumeraHangi720 views
Introduction to Convolutional Neural Networks von ParrotAI
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
ParrotAI513 views
Convolutional Neural Network Models - Deep Learning von Benha University
Convolutional Neural Network Models - Deep LearningConvolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep Learning
Benha University12.6K views
CNN and its applications by ketaki von Ketaki Patwari
CNN and its applications by ketakiCNN and its applications by ketaki
CNN and its applications by ketaki
Ketaki Patwari1.7K views
Convolutional neural network von Itachi SK
Convolutional neural networkConvolutional neural network
Convolutional neural network
Itachi SK223 views
Convolutional Neural Networks von Ashray Bhandare
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
Ashray Bhandare16.2K views
Convolution Neural Network (CNN) von Suraj Aavula
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)
Suraj Aavula13.7K views
Convolutional neural network von Ferdous ahmed
Convolutional neural networkConvolutional neural network
Convolutional neural network
Ferdous ahmed554 views
Convolutional Neural Networks : Popular Architectures von ananth
Convolutional Neural Networks : Popular ArchitecturesConvolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular Architectures
ananth1.6K views

Destacado

101: Convolutional Neural Networks von
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks Mad Scientists
4K views55 Folien
Convolutional Neural Networks (CNN) von
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)Gaurav Mittal
58.5K views70 Folien
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015 von
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 views76 Folien
Deep Learning - Convolutional Neural Networks - Architectural Zoo von
Deep Learning - Convolutional Neural Networks - Architectural ZooDeep Learning - Convolutional Neural Networks - Architectural Zoo
Deep Learning - Convolutional Neural Networks - Architectural ZooChristian Perone
26.2K views40 Folien
Convolutional Neural NetworkとRankNetを用いた画像の順序予測 von
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Shogo Suzuki
784 views15 Folien
Learning Convolutional Neural Networks for Graphs von
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsMathias Niepert
1.3K views38 Folien

Destacado(20)

101: Convolutional Neural Networks von Mad Scientists
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks
Mad Scientists4K views
Convolutional Neural Networks (CNN) von Gaurav Mittal
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)
Gaurav Mittal58.5K views
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015 von 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 views
Deep Learning - Convolutional Neural Networks - Architectural Zoo von 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 views
Convolutional Neural NetworkとRankNetを用いた画像の順序予測 von Shogo Suzuki
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Shogo Suzuki784 views
Learning Convolutional Neural Networks for Graphs von Mathias Niepert
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
Mathias Niepert1.3K views
Jeff Johnson, Research Engineer, Facebook at MLconf NYC von 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 views
CNN(Convolutional Neural Nets) backpropagation von Jooyoul Lee
CNN(Convolutional Neural Nets) backpropagationCNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagation
Jooyoul Lee2.2K views
Convolutional neural networks for sentiment classification von Yunchao He
Convolutional neural networks for sentiment classificationConvolutional neural networks for sentiment classification
Convolutional neural networks for sentiment classification
Yunchao He1.2K views
Scene classification using Convolutional Neural Networks - Jayani Withanawasam von 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 views
Automatic Tagging using Deep Convolutional Neural Networks - ISMIR 2016 von 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 views
Introduction to CNN von Shuai Zhang
Introduction to CNNIntroduction to CNN
Introduction to CNN
Shuai Zhang8.8K views
Deep Convolutional Neural Networks - Overview von Keunwoo Choi
Deep Convolutional Neural Networks - OverviewDeep Convolutional Neural Networks - Overview
Deep Convolutional Neural Networks - Overview
Keunwoo Choi3.7K views
Convolution Neural Networks von AhmedMahany
Convolution Neural NetworksConvolution Neural Networks
Convolution Neural Networks
AhmedMahany14.2K views
"Deep Learning" Chap.6 Convolutional Neural Net von 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 views
Case Study of Convolutional Neural Network von NamHyuk Ahn
Case Study of Convolutional Neural NetworkCase Study of Convolutional Neural Network
Case Study of Convolutional Neural Network
NamHyuk Ahn6.8K views
Convolutional neural network in practice von 남주 김
Convolutional neural network in practiceConvolutional neural network in practice
Convolutional neural network in practice
남주 김10K views
Applied Deep Learning 11/03 Convolutional Neural Networks von 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 views

Similar a Understanding Convolutional Neural Networks

Deep Neural Network Regression at Scale in Spark MLlib von
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 views25 Folien
Resnet.pptx von
Resnet.pptxResnet.pptx
Resnet.pptxYanhuaSi
147 views36 Folien
Resnet.pdf von
Resnet.pdfResnet.pdf
Resnet.pdfYanhuaSi
40 views36 Folien
Transfer Learning and Domain Adaptation - Ramon Morros - UPC Barcelona 2018 von
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.4K views37 Folien
Deep learning for molecules, introduction to chainer chemistry von
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 views61 Folien
Transfer Learning and Domain Adaptation (DLAI D5L2 2017 UPC Deep Learning for... von
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 views37 Folien

Similar a Understanding Convolutional Neural Networks(20)

Deep Neural Network Regression at Scale in Spark MLlib von 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 views
Resnet.pptx von YanhuaSi
Resnet.pptxResnet.pptx
Resnet.pptx
YanhuaSi147 views
Resnet.pdf von YanhuaSi
Resnet.pdfResnet.pdf
Resnet.pdf
YanhuaSi40 views
Deep learning for molecules, introduction to chainer chemistry von 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 views
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중 von datasciencekorea
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중
Deep Learning - 인공지능 기계학습의 새로운 트랜드 :김인중
datasciencekorea8.6K views
Fundamental of deep learning von Stanley Wang
Fundamental of deep learningFundamental of deep learning
Fundamental of deep learning
Stanley Wang1.3K views
RunPool: A Dynamic Pooling Layer for Convolution Neural Network von 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 views
Online learning, Vowpal Wabbit and Hadoop von 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 views
Deep learning for 3-D Scene Reconstruction and Modeling von 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 views
intro-to-cnn-April_2020.pptx von ssuser3aa461
intro-to-cnn-April_2020.pptxintro-to-cnn-April_2020.pptx
intro-to-cnn-April_2020.pptx
ssuser3aa46114 views
Batch normalization presentation von Owin Will
Batch normalization presentationBatch normalization presentation
Batch normalization presentation
Owin Will683 views

Último

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
92 views32 Folien
Democratising digital commerce in India-Report von
Democratising digital commerce in India-ReportDemocratising digital commerce in India-Report
Democratising digital commerce in India-ReportKapil Khandelwal (KK)
18 views161 Folien
Mini-Track: Challenges to Network Automation Adoption von
Mini-Track: Challenges to Network Automation AdoptionMini-Track: Challenges to Network Automation Adoption
Mini-Track: Challenges to Network Automation AdoptionNetwork Automation Forum
13 views27 Folien
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... von
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
40 views69 Folien
Special_edition_innovator_2023.pdf von
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
18 views6 Folien
Powerful Google developer tools for immediate impact! (2023-24) von
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)wesley chun
10 views38 Folien

Último(20)

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson92 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... von 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 Ruecker40 views
Special_edition_innovator_2023.pdf von WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
Powerful Google developer tools for immediate impact! (2023-24) von wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views
Future of AR - Facebook Presentation von ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... von Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
"Running students' code in isolation. The hard way", Yurii Holiuk von Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays17 views
Voice Logger - Telephony Integration Solution at Aegis von Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
6g - REPORT.pdf von Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views

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