SlideShare a Scribd company logo
2
Background
• 1988 – Invented by Yann Lecun at AT&T Bell Laboratories.
• Used for Image Classification.
• Acts as a pre-processing front-end to neural networks to
preprocess images efficiently.
• Consists of:
• Convolution
• Max Pooling
• Flattening
Most read
3
Convolutional Neural Network (CNN)
Convolution is a front-end to a Neural Network for Image Classification
Softmax
z1
z2
z3
zk
Output Layer
Hidden Layer
x1
x2
xn
Input Layer
Convoluti
onal
Front-End
Categorical
Outputs
(e.g., Cat, Dog)
and probabilities.
Preprocess Images
Into vector of real values
Image Input
Recognition of real value inputs
Into classification of image inputs
Squashes output into set of
Classification probabilities
Most read
13
Pooling
• Add Spatial Invariance to Feature Maps
• Be able to recognize feature regardless of angle, direction or
skew.
• Does not care where feature is, as long as it maintains its
relative position to other features.
Spatial Invariance
Most read
Machine Learning
Convolutional Neural Networks
Portland Data Science Group
Created by Andrew Ferlitsch
Community Outreach Officer
August, 2017
Background
• 1988 – Invented by Yann Lecun at AT&T Bell Laboratories.
• Used for Image Classification.
• Acts as a pre-processing front-end to neural networks to
preprocess images efficiently.
• Consists of:
• Convolution
• Max Pooling
• Flattening
Convolutional Neural Network (CNN)
Convolution is a front-end to a Neural Network for Image Classification
Softmax
z1
z2
z3
zk
Output Layer
Hidden Layer
x1
x2
xn
Input Layer
Convoluti
onal
Front-End
Categorical
Outputs
(e.g., Cat, Dog)
and probabilities.
Preprocess Images
Into vector of real values
Image Input
Recognition of real value inputs
Into classification of image inputs
Squashes output into set of
Classification probabilities
Image Data
• Consists of Pixel Values
• Pixel Values in a Grid Layout (2D array).
• One Layer (Grid) per color.
• BW is pixel values 0 (black) and 1 (white).
• Grayscale and color (RGB) is 0 .. 255.
0
1
BW Image 4 x 4 pixels
Pixel = 0 (black)
Pixel = 1 (white)
0
255
Grayscale Image 4 x 4 pixels
Pixel = 0 (black)
Pixel = 255 (white)
Color Image Data
0
255
Red Layer - Image 4 x 4 pixelsPixel = 0 (no red)
Pixel = 255 (max red)
Color (RGB) is made of 3 layers (grids or called planes or channels)
0
255
Blue Image 4 x4 pixels
Pixel = 0 (black)
Pixel = 255 (max blue)
0
255
Green Image 4x 4 pixels
Pixel = 0 (black)
Pixel = 255 (all green)
All Colors are made up of some combination of Red, Green and Blue.
This is the same as the
color spectrum of the three
types of cones in the retina.
Convolution - Feature Detectors
0
255
Image Data 5x5 pixels
Apply Feature Detector Filters
Output of application
of filters.
Feature
Detectors
Also known as [image] filters
…
Apply Feature Filters across
a layer of image data.
Collection of Feature Maps
Feature Maps
• Convolution preserves the spatial relationship between
pixels by learning image features using small squares of
data.
• (Image) Feature Detector Types
• Edges (Lines) - Detect edges (lines) in the image.
• Curves – Detect curves in the image.
• Sharpen - TBA
• Blur - TBA
• Typically 3x3 pixel shape, but can be 5x5 or 7x7.
Feature Maps – Stride
Move Feature Detector across Image as a sliding window.
Moving the feature Detector across the image (up and down) is called a stride. Moving one pixel at
a time is called a stride of 1.
Feature Maps – Stride - Example
0 1 1 0
1 0 0 0
1 1 0 0
0 1 1 1
BW Image Data 5x5 pixels
Apply Feature Detector Filters
1
1
0
0
0 0 1 0 1
1 0 0
0 1 0
0 1 0
Filter (Feature Detector)
Apply the 3x3 filter
as a matrix product operation
on first 3x3 grid in the image.
Pixel match
1
0 1 1 0
1 0 0 0
1 1 0 0
0 1 1 1
BW Image Data 5x5 pixels
1
1
0
0
0 0 1 0 1
1 0 0
0 1 0
0 1 0
Filter (Feature Detector)
Pixel match
1 1
First cell holds matching pixels
From first stride.
Second cell holds matching pixels
From first stride.
Feature Maps – Stride - Example
0 1 1 0
1 0 0 0
1 1 0 0
0 1 1 1
BW Image Data 5x5 pixels
Apply Feature Detector Filters
1
1
0
0
0 0 1 0 1
1 0 0
0 1 0
0 1 0
Filter (Feature Detector)
Pixel match
1
0 1 1 0
1 0 0 0
1 1 0 0
0 1 1 1
BW Image Data 5x5 pixels
1
1
0
0
0 0 1 0 1
1 0 0
0 1 0
0 1 0
Filter (Feature Detector)
Pixel match
1 1
Completed first horizontal stride1 1
1
3
Matched 3 pixels
1 1 1
3 1 1
2 3 1
Finished Feature Map
High Detection
Also known as convolved feature
or activation map.
Convolutional Layer
Assemble and Collect Complete Feature Maps, one per Feature Detector
Feature Map is substantially smaller In size
Complete Feature Map for Single Feature Detector
Stride
Map to corresponding placement in complete
feature map, preserving spatial relationship.
Convolutional Layer:
Collection of complete feature
maps, one per feature detector.
ReLU Step
The Feature Maps are processed by an ReLU function.
Convolution Layer Rectifier Linear Unit Step
All Negative
Values
Replaced with 0.
• The ReLU step increases non-linearity in feature Maps.
• Enhances features such as borders and elements.
Pooling
• Add Spatial Invariance to Feature Maps
• Be able to recognize feature regardless of angle, direction or
skew.
• Does not care where feature is, as long as it maintains its
relative position to other features.
Spatial Invariance
Pooling
• Uses a window (typically 2x2 pixels) that is slid across
the feature map.
• Finds the pixel with the highest value within the window.
• Places the highest value pixel into a pooled map at the same
relative position.
• Generally uses a stride of 2.
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
Feature Map
1
1
0
0
0 0 1 0 1
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
1
1
0
0
0 0 1 0 1
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
1
1
0
0
0 0 1 0 1
Pooling Example
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
1
1
0
0
0 0 1 0 1
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
1
1
0
0
0 0 1 0 1
0 1 2 0
1 0 0 4
1 2 0 0
0 1 1 3
1
1
0
0
0 0 1 0 1
1 4 1
2
0
3
1
0
1
Completed Pooled Feature Map
Highest value placed in
corresponding position
In pooled map.
Stride of 2
Window slides
off the edge.
Pooling Options
• Max Pooling
• Finds the pixel with the highest value within the window (also
known as downsampling).
4
• Mean Pooling
• Calculates the average value of all pixels within the window
(also known as subsampling).
2 0
0 4
2 0
0 4
3
Flattening
Convolution Layer Pooled Layer
1 4 0 2…Flatten Single Vector
• Flattening takes the pooled layer and flattens it in
sequential order into a single vector.
• Vector is used as the input to the Neural Network

More Related Content

What's hot (20)

Convolutional Neural Network
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural Network
Vignesh Suresh
 
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
UMBC
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
milad abbasi
 
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...
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...
Simplilearn
 
Introduction to CNN
Introduction to CNNIntroduction to CNN
Introduction to CNN
Shuai Zhang
 
Optimization in Deep Learning
Optimization in Deep LearningOptimization in Deep Learning
Optimization in Deep Learning
Yan Xu
 
CNN Tutorial
CNN TutorialCNN Tutorial
CNN Tutorial
Sungjoon Choi
 
Intro To Convolutional Neural Networks
Intro To Convolutional Neural NetworksIntro To Convolutional Neural Networks
Intro To Convolutional Neural Networks
Mark Scully
 
Convolutional neural network
Convolutional neural networkConvolutional neural network
Convolutional neural network
Ferdous ahmed
 
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Simplilearn
 
Adaptive Resonance Theory
Adaptive Resonance TheoryAdaptive Resonance Theory
Adaptive Resonance Theory
surat murthy
 
Batch normalization presentation
Batch normalization presentationBatch normalization presentation
Batch normalization presentation
Owin Will
 
Cnn
CnnCnn
Cnn
Nirthika Rajendran
 
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Simplilearn
 
Back propagation method
Back propagation methodBack propagation method
Back propagation method
Prof. Neeta Awasthy
 
Overview of Convolutional Neural Networks
Overview of Convolutional Neural NetworksOverview of Convolutional Neural Networks
Overview of Convolutional Neural Networks
ananth
 
cnn ppt.pptx
cnn ppt.pptxcnn ppt.pptx
cnn ppt.pptx
rohithprabhas1
 
Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural Network
Richard Kuo
 
Neural network in matlab
Neural network in matlab Neural network in matlab
Neural network in matlab
Fahim Khan
 
Activation function
Activation functionActivation function
Activation function
RakshithGowdakodihal
 
Convolutional Neural Network
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural Network
Vignesh Suresh
 
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
UMBC
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
milad abbasi
 
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...
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...
Simplilearn
 
Introduction to CNN
Introduction to CNNIntroduction to CNN
Introduction to CNN
Shuai Zhang
 
Optimization in Deep Learning
Optimization in Deep LearningOptimization in Deep Learning
Optimization in Deep Learning
Yan Xu
 
Intro To Convolutional Neural Networks
Intro To Convolutional Neural NetworksIntro To Convolutional Neural Networks
Intro To Convolutional Neural Networks
Mark Scully
 
Convolutional neural network
Convolutional neural networkConvolutional neural network
Convolutional neural network
Ferdous ahmed
 
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Simplilearn
 
Adaptive Resonance Theory
Adaptive Resonance TheoryAdaptive Resonance Theory
Adaptive Resonance Theory
surat murthy
 
Batch normalization presentation
Batch normalization presentationBatch normalization presentation
Batch normalization presentation
Owin Will
 
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Simplilearn
 
Overview of Convolutional Neural Networks
Overview of Convolutional Neural NetworksOverview of Convolutional Neural Networks
Overview of Convolutional Neural Networks
ananth
 
Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural Network
Richard Kuo
 
Neural network in matlab
Neural network in matlab Neural network in matlab
Neural network in matlab
Fahim Khan
 

Similar to Machine Learning - Introduction to Convolutional Neural Networks (20)

Introduction to convolutional networks .pptx
Introduction to convolutional networks .pptxIntroduction to convolutional networks .pptx
Introduction to convolutional networks .pptx
ArunNegi37
 
Computer Vision.pptx
Computer Vision.pptxComputer Vision.pptx
Computer Vision.pptx
GDSCIIITDHARWAD
 
CNN.pptx
CNN.pptxCNN.pptx
CNN.pptx
AbrarRana10
 
Introduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
ParrotAI
 
Mnist report ppt
Mnist report pptMnist report ppt
Mnist report ppt
RaghunandanJairam
 
Introduction to Applied Machine Learning
Introduction to Applied Machine LearningIntroduction to Applied Machine Learning
Introduction to Applied Machine Learning
SheilaJimenezMorejon
 
Deep Computer Vision - 1.pptx
Deep Computer Vision - 1.pptxDeep Computer Vision - 1.pptx
Deep Computer Vision - 1.pptx
JawadHaider36
 
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Jedha Bootcamp
 
Conventional Neural Networks and compute
Conventional Neural Networks and computeConventional Neural Networks and compute
Conventional Neural Networks and compute
YobuDJob1
 
Convolutional neural network complete guide
Convolutional neural network complete guideConvolutional neural network complete guide
Convolutional neural network complete guide
MLTUT
 
Introduction to Deep-Learning-CNN Arch.ppt
Introduction to Deep-Learning-CNN Arch.pptIntroduction to Deep-Learning-CNN Arch.ppt
Introduction to Deep-Learning-CNN Arch.ppt
khandarevaibhav
 
Mnist report
Mnist reportMnist report
Mnist report
RaghunandanJairam
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net
Ken'ichi Matsui
 
Deep-Learning-2017-Lecture5CNN.pptx
Deep-Learning-2017-Lecture5CNN.pptxDeep-Learning-2017-Lecture5CNN.pptx
Deep-Learning-2017-Lecture5CNN.pptx
Dr. Radhey Shyam
 
CNN_AH.pptx
CNN_AH.pptxCNN_AH.pptx
CNN_AH.pptx
ssuserc755f1
 
CNN_AH.pptx
CNN_AH.pptxCNN_AH.pptx
CNN_AH.pptx
ssuserc755f1
 
CNNs.pdf
CNNs.pdfCNNs.pdf
CNNs.pdf
Ben Wycliff Mugalu
 
OpenCV.pdf
OpenCV.pdfOpenCV.pdf
OpenCV.pdf
sagarawasthi5
 
Deep-LearningwithVisualExamplesExplaine.pptx
Deep-LearningwithVisualExamplesExplaine.pptxDeep-LearningwithVisualExamplesExplaine.pptx
Deep-LearningwithVisualExamplesExplaine.pptx
ansarinazish958
 
Deep-Learning-2017-Lecture5CNN.ppt
Deep-Learning-2017-Lecture5CNN.pptDeep-Learning-2017-Lecture5CNN.ppt
Deep-Learning-2017-Lecture5CNN.ppt
AminHa5
 
Introduction to convolutional networks .pptx
Introduction to convolutional networks .pptxIntroduction to convolutional networks .pptx
Introduction to convolutional networks .pptx
ArunNegi37
 
Introduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
ParrotAI
 
Introduction to Applied Machine Learning
Introduction to Applied Machine LearningIntroduction to Applied Machine Learning
Introduction to Applied Machine Learning
SheilaJimenezMorejon
 
Deep Computer Vision - 1.pptx
Deep Computer Vision - 1.pptxDeep Computer Vision - 1.pptx
Deep Computer Vision - 1.pptx
JawadHaider36
 
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
Jedha Bootcamp
 
Conventional Neural Networks and compute
Conventional Neural Networks and computeConventional Neural Networks and compute
Conventional Neural Networks and compute
YobuDJob1
 
Convolutional neural network complete guide
Convolutional neural network complete guideConvolutional neural network complete guide
Convolutional neural network complete guide
MLTUT
 
Introduction to Deep-Learning-CNN Arch.ppt
Introduction to Deep-Learning-CNN Arch.pptIntroduction to Deep-Learning-CNN Arch.ppt
Introduction to Deep-Learning-CNN Arch.ppt
khandarevaibhav
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net
Ken'ichi Matsui
 
Deep-Learning-2017-Lecture5CNN.pptx
Deep-Learning-2017-Lecture5CNN.pptxDeep-Learning-2017-Lecture5CNN.pptx
Deep-Learning-2017-Lecture5CNN.pptx
Dr. Radhey Shyam
 
Deep-LearningwithVisualExamplesExplaine.pptx
Deep-LearningwithVisualExamplesExplaine.pptxDeep-LearningwithVisualExamplesExplaine.pptx
Deep-LearningwithVisualExamplesExplaine.pptx
ansarinazish958
 
Deep-Learning-2017-Lecture5CNN.ppt
Deep-Learning-2017-Lecture5CNN.pptDeep-Learning-2017-Lecture5CNN.ppt
Deep-Learning-2017-Lecture5CNN.ppt
AminHa5
 
Ad

More from Andrew Ferlitsch (20)

AI - Intelligent Agents
AI - Intelligent AgentsAI - Intelligent Agents
AI - Intelligent Agents
Andrew Ferlitsch
 
Pareto Principle Applied to QA
Pareto Principle Applied to QAPareto Principle Applied to QA
Pareto Principle Applied to QA
Andrew Ferlitsch
 
Whiteboarding Coding Challenges in Python
Whiteboarding Coding Challenges in PythonWhiteboarding Coding Challenges in Python
Whiteboarding Coding Challenges in Python
Andrew Ferlitsch
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming Principles
Andrew Ferlitsch
 
Python - OOP Programming
Python - OOP ProgrammingPython - OOP Programming
Python - OOP Programming
Andrew Ferlitsch
 
Python - Installing and Using Python and Jupyter Notepad
Python - Installing and Using Python and Jupyter NotepadPython - Installing and Using Python and Jupyter Notepad
Python - Installing and Using Python and Jupyter Notepad
Andrew Ferlitsch
 
Natural Language Processing - Groupings (Associations) Generation
Natural Language Processing - Groupings (Associations) GenerationNatural Language Processing - Groupings (Associations) Generation
Natural Language Processing - Groupings (Associations) Generation
Andrew Ferlitsch
 
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Andrew Ferlitsch
 
Machine Learning - Introduction to Recurrent Neural Networks
Machine Learning - Introduction to Recurrent Neural NetworksMachine Learning - Introduction to Recurrent Neural Networks
Machine Learning - Introduction to Recurrent Neural Networks
Andrew Ferlitsch
 
Machine Learning - Introduction to Neural Networks
Machine Learning - Introduction to Neural NetworksMachine Learning - Introduction to Neural Networks
Machine Learning - Introduction to Neural Networks
Andrew Ferlitsch
 
Python - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning LibrariesPython - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning Libraries
Andrew Ferlitsch
 
Machine Learning - Accuracy and Confusion Matrix
Machine Learning - Accuracy and Confusion MatrixMachine Learning - Accuracy and Confusion Matrix
Machine Learning - Accuracy and Confusion Matrix
Andrew Ferlitsch
 
Machine Learning - Ensemble Methods
Machine Learning - Ensemble MethodsMachine Learning - Ensemble Methods
Machine Learning - Ensemble Methods
Andrew Ferlitsch
 
ML - Multiple Linear Regression
ML - Multiple Linear RegressionML - Multiple Linear Regression
ML - Multiple Linear Regression
Andrew Ferlitsch
 
ML - Simple Linear Regression
ML - Simple Linear RegressionML - Simple Linear Regression
ML - Simple Linear Regression
Andrew Ferlitsch
 
Machine Learning - Dummy Variable Conversion
Machine Learning - Dummy Variable ConversionMachine Learning - Dummy Variable Conversion
Machine Learning - Dummy Variable Conversion
Andrew Ferlitsch
 
Machine Learning - Splitting Datasets
Machine Learning - Splitting DatasetsMachine Learning - Splitting Datasets
Machine Learning - Splitting Datasets
Andrew Ferlitsch
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset Preparation
Andrew Ferlitsch
 
Machine Learning - Introduction to Tensorflow
Machine Learning - Introduction to TensorflowMachine Learning - Introduction to Tensorflow
Machine Learning - Introduction to Tensorflow
Andrew Ferlitsch
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Andrew Ferlitsch
 
Pareto Principle Applied to QA
Pareto Principle Applied to QAPareto Principle Applied to QA
Pareto Principle Applied to QA
Andrew Ferlitsch
 
Whiteboarding Coding Challenges in Python
Whiteboarding Coding Challenges in PythonWhiteboarding Coding Challenges in Python
Whiteboarding Coding Challenges in Python
Andrew Ferlitsch
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming Principles
Andrew Ferlitsch
 
Python - Installing and Using Python and Jupyter Notepad
Python - Installing and Using Python and Jupyter NotepadPython - Installing and Using Python and Jupyter Notepad
Python - Installing and Using Python and Jupyter Notepad
Andrew Ferlitsch
 
Natural Language Processing - Groupings (Associations) Generation
Natural Language Processing - Groupings (Associations) GenerationNatural Language Processing - Groupings (Associations) Generation
Natural Language Processing - Groupings (Associations) Generation
Andrew Ferlitsch
 
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...
Andrew Ferlitsch
 
Machine Learning - Introduction to Recurrent Neural Networks
Machine Learning - Introduction to Recurrent Neural NetworksMachine Learning - Introduction to Recurrent Neural Networks
Machine Learning - Introduction to Recurrent Neural Networks
Andrew Ferlitsch
 
Machine Learning - Introduction to Neural Networks
Machine Learning - Introduction to Neural NetworksMachine Learning - Introduction to Neural Networks
Machine Learning - Introduction to Neural Networks
Andrew Ferlitsch
 
Python - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning LibrariesPython - Numpy/Pandas/Matplot Machine Learning Libraries
Python - Numpy/Pandas/Matplot Machine Learning Libraries
Andrew Ferlitsch
 
Machine Learning - Accuracy and Confusion Matrix
Machine Learning - Accuracy and Confusion MatrixMachine Learning - Accuracy and Confusion Matrix
Machine Learning - Accuracy and Confusion Matrix
Andrew Ferlitsch
 
Machine Learning - Ensemble Methods
Machine Learning - Ensemble MethodsMachine Learning - Ensemble Methods
Machine Learning - Ensemble Methods
Andrew Ferlitsch
 
ML - Multiple Linear Regression
ML - Multiple Linear RegressionML - Multiple Linear Regression
ML - Multiple Linear Regression
Andrew Ferlitsch
 
ML - Simple Linear Regression
ML - Simple Linear RegressionML - Simple Linear Regression
ML - Simple Linear Regression
Andrew Ferlitsch
 
Machine Learning - Dummy Variable Conversion
Machine Learning - Dummy Variable ConversionMachine Learning - Dummy Variable Conversion
Machine Learning - Dummy Variable Conversion
Andrew Ferlitsch
 
Machine Learning - Splitting Datasets
Machine Learning - Splitting DatasetsMachine Learning - Splitting Datasets
Machine Learning - Splitting Datasets
Andrew Ferlitsch
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset Preparation
Andrew Ferlitsch
 
Machine Learning - Introduction to Tensorflow
Machine Learning - Introduction to TensorflowMachine Learning - Introduction to Tensorflow
Machine Learning - Introduction to Tensorflow
Andrew Ferlitsch
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Andrew Ferlitsch
 
Ad

Recently uploaded (20)

6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Maxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing placeMaxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing place
usersalmanrazdelhi
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Let’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack CommunityLet’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack Community
SanjeetMishra29
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 
STKI Israel Market Study 2025 final v1 version
STKI Israel Market Study 2025 final v1 versionSTKI Israel Market Study 2025 final v1 version
STKI Israel Market Study 2025 final v1 version
Dr. Jimmy Schwarzkopf
 
Supercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMsSupercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMs
Francesco Corti
 
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Aaryan Kansari
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Peter Bittner
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Maxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing placeMaxx nft market place new generation nft marketing place
Maxx nft market place new generation nft marketing place
usersalmanrazdelhi
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Let’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack CommunityLet’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack Community
SanjeetMishra29
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 
STKI Israel Market Study 2025 final v1 version
STKI Israel Market Study 2025 final v1 versionSTKI Israel Market Study 2025 final v1 version
STKI Israel Market Study 2025 final v1 version
Dr. Jimmy Schwarzkopf
 
Supercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMsSupercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMs
Francesco Corti
 
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Aaryan Kansari
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
Peter Bittner
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 

Machine Learning - Introduction to Convolutional Neural Networks

  • 1. Machine Learning Convolutional Neural Networks Portland Data Science Group Created by Andrew Ferlitsch Community Outreach Officer August, 2017
  • 2. Background • 1988 – Invented by Yann Lecun at AT&T Bell Laboratories. • Used for Image Classification. • Acts as a pre-processing front-end to neural networks to preprocess images efficiently. • Consists of: • Convolution • Max Pooling • Flattening
  • 3. Convolutional Neural Network (CNN) Convolution is a front-end to a Neural Network for Image Classification Softmax z1 z2 z3 zk Output Layer Hidden Layer x1 x2 xn Input Layer Convoluti onal Front-End Categorical Outputs (e.g., Cat, Dog) and probabilities. Preprocess Images Into vector of real values Image Input Recognition of real value inputs Into classification of image inputs Squashes output into set of Classification probabilities
  • 4. Image Data • Consists of Pixel Values • Pixel Values in a Grid Layout (2D array). • One Layer (Grid) per color. • BW is pixel values 0 (black) and 1 (white). • Grayscale and color (RGB) is 0 .. 255. 0 1 BW Image 4 x 4 pixels Pixel = 0 (black) Pixel = 1 (white) 0 255 Grayscale Image 4 x 4 pixels Pixel = 0 (black) Pixel = 255 (white)
  • 5. Color Image Data 0 255 Red Layer - Image 4 x 4 pixelsPixel = 0 (no red) Pixel = 255 (max red) Color (RGB) is made of 3 layers (grids or called planes or channels) 0 255 Blue Image 4 x4 pixels Pixel = 0 (black) Pixel = 255 (max blue) 0 255 Green Image 4x 4 pixels Pixel = 0 (black) Pixel = 255 (all green) All Colors are made up of some combination of Red, Green and Blue. This is the same as the color spectrum of the three types of cones in the retina.
  • 6. Convolution - Feature Detectors 0 255 Image Data 5x5 pixels Apply Feature Detector Filters Output of application of filters. Feature Detectors Also known as [image] filters … Apply Feature Filters across a layer of image data. Collection of Feature Maps
  • 7. Feature Maps • Convolution preserves the spatial relationship between pixels by learning image features using small squares of data. • (Image) Feature Detector Types • Edges (Lines) - Detect edges (lines) in the image. • Curves – Detect curves in the image. • Sharpen - TBA • Blur - TBA • Typically 3x3 pixel shape, but can be 5x5 or 7x7.
  • 8. Feature Maps – Stride Move Feature Detector across Image as a sliding window. Moving the feature Detector across the image (up and down) is called a stride. Moving one pixel at a time is called a stride of 1.
  • 9. Feature Maps – Stride - Example 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 BW Image Data 5x5 pixels Apply Feature Detector Filters 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 Filter (Feature Detector) Apply the 3x3 filter as a matrix product operation on first 3x3 grid in the image. Pixel match 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 BW Image Data 5x5 pixels 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 Filter (Feature Detector) Pixel match 1 1 First cell holds matching pixels From first stride. Second cell holds matching pixels From first stride.
  • 10. Feature Maps – Stride - Example 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 BW Image Data 5x5 pixels Apply Feature Detector Filters 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 Filter (Feature Detector) Pixel match 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 BW Image Data 5x5 pixels 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 Filter (Feature Detector) Pixel match 1 1 Completed first horizontal stride1 1 1 3 Matched 3 pixels 1 1 1 3 1 1 2 3 1 Finished Feature Map High Detection Also known as convolved feature or activation map.
  • 11. Convolutional Layer Assemble and Collect Complete Feature Maps, one per Feature Detector Feature Map is substantially smaller In size Complete Feature Map for Single Feature Detector Stride Map to corresponding placement in complete feature map, preserving spatial relationship. Convolutional Layer: Collection of complete feature maps, one per feature detector.
  • 12. ReLU Step The Feature Maps are processed by an ReLU function. Convolution Layer Rectifier Linear Unit Step All Negative Values Replaced with 0. • The ReLU step increases non-linearity in feature Maps. • Enhances features such as borders and elements.
  • 13. Pooling • Add Spatial Invariance to Feature Maps • Be able to recognize feature regardless of angle, direction or skew. • Does not care where feature is, as long as it maintains its relative position to other features. Spatial Invariance
  • 14. Pooling • Uses a window (typically 2x2 pixels) that is slid across the feature map. • Finds the pixel with the highest value within the window. • Places the highest value pixel into a pooled map at the same relative position. • Generally uses a stride of 2. 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 Feature Map 1 1 0 0 0 0 1 0 1 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 1 1 0 0 0 0 1 0 1 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 1 1 0 0 0 0 1 0 1
  • 15. Pooling Example 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 1 1 0 0 0 0 1 0 1 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 1 1 0 0 0 0 1 0 1 0 1 2 0 1 0 0 4 1 2 0 0 0 1 1 3 1 1 0 0 0 0 1 0 1 1 4 1 2 0 3 1 0 1 Completed Pooled Feature Map Highest value placed in corresponding position In pooled map. Stride of 2 Window slides off the edge.
  • 16. Pooling Options • Max Pooling • Finds the pixel with the highest value within the window (also known as downsampling). 4 • Mean Pooling • Calculates the average value of all pixels within the window (also known as subsampling). 2 0 0 4 2 0 0 4 3
  • 17. Flattening Convolution Layer Pooled Layer 1 4 0 2…Flatten Single Vector • Flattening takes the pooled layer and flattens it in sequential order into a single vector. • Vector is used as the input to the Neural Network