intro-to-cnn-April_2020.pptx

An Introduction to
Convolutional Neural Networks:
Overview, Implementation, and Example
Shuo Yu and Hsinchun Chen, AI Lab
University of Arizona
Updated April, 2020
1
8/1/2023
Acknowledgments
• Many of the images, results, and other materials are from:
• Deep Learning (2016), Ian Goodfellow, Yoshua Bengio, and Aaron Courville
• Lee Giles and Alex Ororbia, Penn State University
• Y. LeCun, Y. Bengio, and G. Hinton, “Deep Learning,” Nature, May 28, 2015.
2
8/1/2023
Outline
• Introduction
• Academic Basis
• Building Blocks
• Convolutional Layer
• Non-linear Layer
• Pooling Layer
• Implementation
• Build a CNN with Keras in Python
• Research Example: 2D-hetero CNN for Mobile Health Analytics
• Research Design
• Evaluation and Results
3
8/1/2023
Introduction
Convolutional Neural Networks
4
8/1/2023
Representation Learning & Deep Learning
• Representation Learning is a set of methods that allows a machine to
be fed with raw data and to automatically discover the
representations needed for detection or classification.
• Deep Learning methods are representation learning methods with
multiple levels of representation, obtained by composing simple but
non-linear modules that each transform the representation at one
level (starting with the raw input) into a representation at a higher,
slightly more abstract level. With the composition of enough such
transformations, very complex functions can be learned.
• E.g., in image recognition, pixels  edges  motifs  parts 
objects; in speech recognition, sounds  phones  phonemes 
syllables  words  phrases  sentences
• Many DL methods build upon Deep Neural Networks (e.g., CNN).
5
Convolutional Neural Network (CNN)
6
8/1/2023
• Convolutional Neural Networks (CNN) is the most successful Deep
Learning method used to process multiple arrays, e.g., 1D for signals,
2D for images, 3D for video.
• CNN consists of a list of Neural Network layers that transform the
input data into an output (class/prediction).
• Great success in ImageNet competition in 2012 and later.
• Efficient use of GPUs (NVIDIA), ReLUs (10-20 layers, billions of
connections), and dropout for regularization.
• Development of specialized CNN chips (by NVIDIA, Intel, Samsung,
etc.) for real-time applications in smartphones, cameras, robots, self-
driving cars, etc.
Convolutional Neural Network (CNN)
• Convolutional Neural Networks, or Convolutional Networks, or CNNs, or
ConvNets
• For processing data with a grid-like or array topology
• 1-D grid: time-series data, sensor signal data
• 2-D grid: image data
• 3-D grid: video data
• CNNs include four key ideas
related to natural signals:
• Local connections
• Shared weights
• Pooling
• Use of many layers
7
8/1/2023
Convolutional Neural Network (CNN)
• Convolutional Neural Networks are inspired by mammalian visual
cortex.
• The visual cortex contains a complex arrangement of cells, which are sensitive
to small sub-regions of the visual field, called a receptive field.
• These cells act as local filters over the input space and are well-suited to
exploit the strong spatially local correlation present in natural images.
• Two basic cell types:
• Simple cells respond maximally to specific edge-like patterns within their receptive field.
• Complex cells have larger receptive fields and are locally invariant to the exact position
of the pattern.
8
The Mammalian Visual Cortex Inspires CNN
9
input
output
Convolutional
Neural Net
A Deep Classification Network
10
8/1/2023
CNN Architecture
• Intuition: Neural network with specialized connectivity structure
• Stacking multiple layers of feature extractors, low-level layers extract local features,
and high-level layers extract learn global patterns.
• There are a few distinct types of layers:
• Convolutional Layer: detecting local features through filters (discrete convolution)
• Non-linear Layer: normalization via Rectified Linear Unit (ReLU)
• Pooling Layer: merging similar features
11
Building-blocks for CNNs
12
Each sub-region yields a
feature map, representing
its feature.
Images are segmented into
sub-regions.
Feature maps are trained
with neurons and
weights.
Feature maps of a larger
region are combined.
Shared weights
(1) Convolutional Layer
• The core layer of CNNs
• Convolutional layer consists of a set of filters, wk,l
• Each filter covers a spatially small portion of the input data, Zi,j
• Each filter is convolved across the dimensions of the input data, producing a
multidimensional feature map.
• As we convolve the filter, we are computing the dot product between the parameters of the
filter and the input.
• Deep Learning algorithm: During training, the network corrects errors and filters
are learned, e.g., in Keras, by adjusting weights based on Stochastic Gradient
Descent, SGD (stochastic approximation of GD using a randomly selected subset
of the data).
• The key architectural characteristics of the convolutional layer is local
connectivity and shared weights.
13
Convolutional Layer: Local Connectivity
• Neurons in layer m are only connected to 3 adjacent
neurons in the m-1 layer.
• Neurons in layer m+1 have a similar connectivity
with the layer below.
• Each neuron is unresponsive to variations outside of
its receptive field with respect to the input.
• Receptive field: small neuron collections which process
portions of the input data
• The architecture thus ensures that the learnt feature
extractors produce the strongest response to a
spatially local input pattern.
14
Convolutional Layer: Shared Weights
• We show 3 hidden neurons belonging to the same feature
map (the layer right above the input layer).
• Weights of the same color are shared—constrained to be
identical.
• Replicating neurons in this way allows for features to be
detected regardless of their position in the input.
• Additionally, weight sharing increases learning efficiency
by greatly reducing the number of free parameters being
learnt.
15
(2) Non-linear Layer
• Intuition: Increase the nonlinearity of the entire architecture without
affecting the receptive fields of the convolution layer
• A layer of neurons that applies the non-linear activation function,
such as,
• 𝒇 𝒙 = 𝐦𝐚𝐱(𝟎, 𝒙) - Rectified Linear Unit (ReLU);
fast and most widely used in CNN
• 𝑓 𝑥 = tanh 𝑥
• 𝑓 𝑥 = | tanh 𝑥 |
• 𝑓 𝑥 = (1 + 𝑒−𝑥
)−1
- sigmoid
16
(3) Pooling Layer
• Intuition: to progressively reduce the spatial size of the representation to reduce
the amount of parameters and computation in the network, and hence to also
control overfitting
• Pooling partitions the input image into a set of non-overlapping rectangles and,
for each such sub-region, outputs the maximum value of the features in that
region.
17
Input
Building-blocks for CNNs
18
Each sub-region yields a
feature map, representing
its feature.
Images are segmented into
sub-regions.
Feature maps are trained
with neurons and
weights.
Feature maps of a larger
region are combined.
Shared weights
Other Layers
• The convolution, non-linear, and pooling layers are typically used as a
set. Multiple sets of the above three layers can appear in a CNN design.
• Input -> Conv. -> Non-linear -> Pooling -> Conv. -> Non-linear -> Pooling -> …->
Output
• Recent CNN architectures have 10-20 such layers.
• After a few sets, the output is typically sent to one or two fully
connected layers.
• A fully connected layer is a ordinary
neural network layer as in other neural networks.
• Typical activation function is the sigmoid function.
• Output is typically class (classification)
or real number (regression).
19
8/1/2023
Other Layers
• The final layer of a CNN is determined by the research task.
• Classification: Softmax Layer
𝑃 𝑦 = 𝑗 𝒙 =
𝑒𝒘𝑗⋅𝒙
𝑘=1
𝐾
𝑒𝒘𝑘⋅𝒙
• The outputs are the probabilities of belonging to each class.
• Regression: Linear Layer
𝑓 𝒙 = 𝒘 ⋅ 𝒙
• The output is a real number.
20
8/1/2023
Full CNN: from Input to Output
21
pooling
pooling
Implementation
Python, TensorFlow, Keras
22
8/1/2023
Python CNN Implementation
• Prerequisites:
• Python 3.5+ (https://www.python.org/)
• TensorFlow (https://www.tensorflow.org/)
• Keras (https://keras.io/)
• Keras is a high-level neural networks API, written in
Python and capable of running on top of
TensorFlow, CNTK, or Theano.
• Recommended:
• NumPy
• Scikit-Learn
• NLTK
• SciPy
23
8/1/2023
Build a CNN in Keras
• The Sequential model is used to build a linear stack of layers.
• The following code shows how a typical CNN is built in Keras.
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.layers import Conv2D,
MaxPooling2D
from keras.optimizers import SGD
Note:
Dense is the fully connected layer;
Flatten is used after all CNN layers and
before a fully connected layer;
Conv2D is the 2D convolution layer;
MaxPooling2D is the 2D max pooling layer;
SGD is stochastic gradient descent algorithm.
24
8/1/2023
Build a CNN in Keras
(continued)
model = Sequential()
# We create an empty Sequential model and add layers onto it.
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(100,
100)))
# We add a Conv2D layer with 32 filters, 3x3 each, followed by a detector layer ReLU.
# This is the first layer we add to the model, so we need to specify the shape of the input. In this
case we assume our input is a 100x100 matrix.
model.add(MaxPooling2D(pool_size=(2, 2)))
# We add a MaxPooling2D layer with a 2x2 pooling size.
25
8/1/2023
Build a CNN in Keras
(continued)
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
# We can add more Conv2D and MaxPooling2D layers onto the model.
model.add(Flatten())
# After all the desired CNN layers are added, add a Flatten layer.
model.add(Dense(256, activation='sigmoid'))
# Add a fully connected layer followed by a detector layer with the sigmoid function.
model.add(Dense(10, activation='softmax')
# A softmax layer is added to achieve multiclass classification. In this example we have 10
classes.
26
8/1/2023
Build a CNN in Keras
(continued)
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
# Default SGD training parameters for correcting errors for filters
model.compile(loss='categorical_crossentropy', optimizer=sgd)
# Compile the model and use categorical crossentropy as the loss function, sgd as the optimizer
model.fit(x_train, y_train, batch_size=32, epochs=10)
# Fit the model with x_train and y_train, batch_size and epochs can be set to other
values
score = model.evaluate(x_test, y_test, batch_size=32)
# Evaluate model performance using x_test and y_test
27
8/1/2023
Research Example
Two-Dimensional Heterogeneous Convolutional Neural Network (2D-hetero CNN)
for Mobile Health Analytics
28
8/1/2023
Introduction
• We developed two-dimensional heterogeneous convolutional neural networks
(2D-hetero CNN), a motion sensor-based system for fall risk assessment using
convolutional neural networks (CNN).
• Five sensor systems (chest, left/right thigh, left/right foot) for clinical tests
• Comprehensive assessment for gait and balance features
• CNNs are powerful in extracting low-level local features as well as integrating
them into high-level global features.
• Feature-less; avoid feature engineering that is labor intensive, ad hoc,
and inconclusive.
29
8/1/2023
Research Design: 2D-hetero CNN for Fall Risk
Assessment
30
Data Collection
Sensor Attachment
Data Preprocessing
Signal Segmentation
Model Design
2D-hetero CNN
Data Augmentation
Walking Test Evaluation
8/1/2023
Research Design – Data Collection
• Twenty-two (22) subjects were recruited at a Neurology Clinic.
• 12 with high fall risks, 10 with low fall risks
• 5 tri-axial accelerometers attached to each subject
• Sampling rate: 25 Hz
• 25 sampling points per second; sufficient for capturing gait
cycles
• Chest, left/right thigh, left/right foot (as shown in Fig. 4)
• To capture body and lower extremity movement (left/right)
• 10-meter ground walking tests were conducted to collect data for
gait and balance.
31
Fig. 4. Sensor Locations
Fig. 3. Shape and Size of
SilverLink Sensors
8/1/2023
Research Design – 2D-hetero CNN
32
Left/right thigh
6 x 100
Chest
3 x 100
Left/right foot
6 x 100
10 @ 2 x 96
3 x 5 conv.
stride (3, 1)
10 @ 2 x 96
3 x 5 conv.
stride (3, 1)
3 x 5 conv.
10 @ 1 x 96
10 @ 2 x 24
1 x 4 pool.
10 @ 2 x 24
1 x 4 pool.
1 x 4 pool.
10 @ 1 x 24
20 @ 1 x 20
2 x 5 conv.
20 @ 1 x 20
2 x 5 conv.
1 x 5 conv.
20 @ 1 x 20
20 @ 1 x 5
1 x 4 pool.
20 @ 1 x 5
1 x 4 pool.
1 x 4 pool.
20 @ 1 x 5 20 @ 3 x 5
Flatten
⋮
300
Fully
connected Softmax
classifier
2
Stage 1: Cross-Axial Convolution Stage 2: Cross-Locational Convolution Stage 3: Integration
Note: The notation “x @ y x z” denotes x feature maps with height y and width z.
8/1/2023
Research Design – 2D-hetero CNN
• We partitioned the data into three parts based on sensor locations.
• Chest, left/right thigh, left/right foot
• Stage 1: Cross-Axial Convolution
• Convolve among the three axes of a single sensor
• Extract features among axes within a sensor
• Stage 2: Cross-Locational Convolution
• Convolve between sensors on left/right thighs and left/right feet
• Extract balance features between the left and the right
• Stage 3: Integration
• Integrate extracted features to provide final inference on fall risk assessment
33
8/1/2023
Research Design – 2D-hetero CNN
Some Technical Details:
• A Rectified Linear Unit (ReLU) layer is added after each convolutional layer for
model non-linearity.
• A dropping layer is added after each pooling layer and the densely connected
layer to avoid over-fitting.
• Dataset split:
• Training (60%), validation (20%), test (20%)
• The validation set is used for model selection.
• The test set is used for reporting performance.
• As the model training process can get into local maxima, we train the model
for five times and report the average performance.
34
8/1/2023
Evaluation
• Benchmark 1: Feature-based fall risk assessment
• Most widely used approach for fall risk assessment
• Stride variability (SVAR), acceleration root mean square (ARMS), walking speed (SPD)
• Benchmark 2: CNN models with alternative architectures
• 2D homogeneous CNN (2D-homo CNN) as applied in image recognition tasks
• 1D CNN (1D-CNN) as applied in activity recognition and ECG classification tasks
• Benchmark 3: Ablation analysis
• 2D heterogeneous CNN with cross-axial convolutions only (2D-axis CNN)
• 2D heterogeneous CNN with cross-locational convolutions only (2D-loc CNN)
35
8/1/2023
Results
• Our proposed 2D-hetero CNN significantly outperformed all three
sets of benchmark systems.
• Showing the advantage of 2D-hetero CNN over traditional feature-based and
1D/2D CNN methods.
8/1/2023 36
0.00
0.20
0.40
0.60
0.80
1.00
Precision Recall Specificity F-measure
2D-hetero CNN SVAR ARMS SPD
0.00
0.20
0.40
0.60
0.80
1.00
Precision Recall Specificity F-measure
2D-hetero CNN 2D-homo CNN 1D CNN
0.00
0.20
0.40
0.60
0.80
1.00
Precision Recall Specificity F-measure
2D-hetero CNN 2D-axial CNN 2D-loc CNN
Conclusions
• We developed a 2D-hetero CNN to support fall risk assessment
based on motion sensor data, collected at a Parkinson Clinic.
• A novel CNN architecture with cross-axial and cross-locational
convolutions was proposed to optimize in our application context
of fall risk assessment.
• Our model achieved F-measure of 0.962, significantly
outperforming the benchmarks.
37
8/1/2023
1 de 37

Recomendados

Cnn por
CnnCnn
CnnMehrnaz Faraz
630 visualizações34 slides
Convolutional Neural Networks por
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networksmilad abbasi
317 visualizações34 slides
Deep Learning por
Deep LearningDeep Learning
Deep LearningPierre de Lacaze
1.3K visualizações62 slides
cnn.pdf por
cnn.pdfcnn.pdf
cnn.pdfAmnaalia
19 visualizações31 slides
Cnn por
CnnCnn
CnnNirthika Rajendran
13.9K visualizações31 slides
DL.pdf por
DL.pdfDL.pdf
DL.pdfssuserd23711
17 visualizações23 slides

Mais conteúdo relacionado

Similar a intro-to-cnn-April_2020.pptx

04 Deep CNN (Ch_01 to Ch_3).pptx por
04 Deep CNN (Ch_01 to Ch_3).pptx04 Deep CNN (Ch_01 to Ch_3).pptx
04 Deep CNN (Ch_01 to Ch_3).pptxZainULABIDIN496386
1 visão30 slides
B.tech_project_ppt.pptx por
B.tech_project_ppt.pptxB.tech_project_ppt.pptx
B.tech_project_ppt.pptxsupratikmondal6
9 visualizações40 slides
Wits presentation 6_28072015 por
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015Beatrice van Eden
848 visualizações33 slides
A Survey of Convolutional Neural Networks por
A Survey of Convolutional Neural NetworksA Survey of Convolutional Neural Networks
A Survey of Convolutional Neural NetworksRimzim Thube
113 visualizações27 slides
Convolutional Neural Networks (CNN) por
Convolutional Neural Networks (CNN)Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)Gaurav Mittal
58.5K visualizações70 slides
Cvpr 2018 papers review (efficient computing) por
Cvpr 2018 papers review (efficient computing)Cvpr 2018 papers review (efficient computing)
Cvpr 2018 papers review (efficient computing)DonghyunKang12
400 visualizações61 slides

Similar a intro-to-cnn-April_2020.pptx(20)

B.tech_project_ppt.pptx por supratikmondal6
B.tech_project_ppt.pptxB.tech_project_ppt.pptx
B.tech_project_ppt.pptx
supratikmondal69 visualizações
Wits presentation 6_28072015 por Beatrice van Eden
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015
Beatrice van Eden848 visualizações
A Survey of Convolutional Neural Networks por Rimzim Thube
A Survey of Convolutional Neural NetworksA Survey of Convolutional Neural Networks
A Survey of Convolutional Neural Networks
Rimzim Thube113 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
Cvpr 2018 papers review (efficient computing) por DonghyunKang12
Cvpr 2018 papers review (efficient computing)Cvpr 2018 papers review (efficient computing)
Cvpr 2018 papers review (efficient computing)
DonghyunKang12400 visualizações
Deep learning por Rajgupta258
Deep learning Deep learning
Deep learning
Rajgupta2581.6K visualizações
Artificial neural network por IshaneeSharma
Artificial neural networkArtificial neural network
Artificial neural network
IshaneeSharma195 visualizações
Introduction to computer vision por Marcin Jedyk
Introduction to computer visionIntroduction to computer vision
Introduction to computer vision
Marcin Jedyk56 visualizações
Once-for-All: Train One Network and Specialize it for Efficient Deployment por taeseon ryu
 Once-for-All: Train One Network and Specialize it for Efficient Deployment Once-for-All: Train One Network and Specialize it for Efficient Deployment
Once-for-All: Train One Network and Specialize it for Efficient Deployment
taeseon ryu360 visualizações
Towards better analysis of deep convolutional neural networks por 曾 子芸
Towards better analysis of deep convolutional neural networksTowards better analysis of deep convolutional neural networks
Towards better analysis of deep convolutional neural networks
曾 子芸350 visualizações
Introduction to computer vision with Convoluted Neural Networks por MarcinJedyk
Introduction to computer vision with Convoluted Neural NetworksIntroduction to computer vision with Convoluted Neural Networks
Introduction to computer vision with Convoluted Neural Networks
MarcinJedyk60 visualizações
Convolutional Neural Networks : Popular Architectures por ananth
Convolutional Neural Networks : Popular ArchitecturesConvolutional Neural Networks : Popular Architectures
Convolutional Neural Networks : Popular Architectures
ananth1.6K visualizações
FINAL_Team_4.pptx por nitin571047
FINAL_Team_4.pptxFINAL_Team_4.pptx
FINAL_Team_4.pptx
nitin5710473 visualizações
Introduction to Convolutional Neural Networks por ParrotAI
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
ParrotAI512 visualizações
Image Segmentation Using Deep Learning : A survey por NUPUR YADAV
Image Segmentation Using Deep Learning : A surveyImage Segmentation Using Deep Learning : A survey
Image Segmentation Using Deep Learning : A survey
NUPUR YADAV372 visualizações
Handwritten Digit Recognition(Convolutional Neural Network) PPT por RishabhTyagi48
Handwritten Digit Recognition(Convolutional Neural Network) PPTHandwritten Digit Recognition(Convolutional Neural Network) PPT
Handwritten Digit Recognition(Convolutional Neural Network) PPT
RishabhTyagi4818.8K visualizações
Introduction to deep learning por Junaid Bhat
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
Junaid Bhat1.4K visualizações

Mais de ssuser3aa461

Embedded system timing analysis.pptx por
Embedded system timing analysis.pptxEmbedded system timing analysis.pptx
Embedded system timing analysis.pptxssuser3aa461
2 visualizações2 slides
Border Gateway Protocol & IPV6.pptx por
Border Gateway Protocol & IPV6.pptxBorder Gateway Protocol & IPV6.pptx
Border Gateway Protocol & IPV6.pptxssuser3aa461
1 visão6 slides
unit2-210710110327.pdf por
unit2-210710110327.pdfunit2-210710110327.pdf
unit2-210710110327.pdfssuser3aa461
3 visualizações201 slides
5. Recursive.ppt por
5. Recursive.ppt5. Recursive.ppt
5. Recursive.pptssuser3aa461
15 visualizações28 slides
COMPONENT INTERFACING.pptx por
COMPONENT INTERFACING.pptxCOMPONENT INTERFACING.pptx
COMPONENT INTERFACING.pptxssuser3aa461
69 visualizações12 slides
Simple CPU Instruction Set Design.pptx por
Simple CPU Instruction Set Design.pptxSimple CPU Instruction Set Design.pptx
Simple CPU Instruction Set Design.pptxssuser3aa461
9 visualizações16 slides

Mais de ssuser3aa461(7)

Embedded system timing analysis.pptx por ssuser3aa461
Embedded system timing analysis.pptxEmbedded system timing analysis.pptx
Embedded system timing analysis.pptx
ssuser3aa4612 visualizações
Border Gateway Protocol & IPV6.pptx por ssuser3aa461
Border Gateway Protocol & IPV6.pptxBorder Gateway Protocol & IPV6.pptx
Border Gateway Protocol & IPV6.pptx
ssuser3aa4611 visão
unit2-210710110327.pdf por ssuser3aa461
unit2-210710110327.pdfunit2-210710110327.pdf
unit2-210710110327.pdf
ssuser3aa4613 visualizações
5. Recursive.ppt por ssuser3aa461
5. Recursive.ppt5. Recursive.ppt
5. Recursive.ppt
ssuser3aa46115 visualizações
COMPONENT INTERFACING.pptx por ssuser3aa461
COMPONENT INTERFACING.pptxCOMPONENT INTERFACING.pptx
COMPONENT INTERFACING.pptx
ssuser3aa46169 visualizações
Simple CPU Instruction Set Design.pptx por ssuser3aa461
Simple CPU Instruction Set Design.pptxSimple CPU Instruction Set Design.pptx
Simple CPU Instruction Set Design.pptx
ssuser3aa4619 visualizações
vdocument.in_autonomous-vehicles-56a051da913ac.ppt por ssuser3aa461
vdocument.in_autonomous-vehicles-56a051da913ac.pptvdocument.in_autonomous-vehicles-56a051da913ac.ppt
vdocument.in_autonomous-vehicles-56a051da913ac.ppt
ssuser3aa4612 visualizações

Último

Psychology KS4 por
Psychology KS4Psychology KS4
Psychology KS4WestHatch
84 visualizações4 slides
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxISSIP
369 visualizações50 slides
The Accursed House by Émile Gaboriau por
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile GaboriauDivyaSheta
201 visualizações15 slides
Education and Diversity.pptx por
Education and Diversity.pptxEducation and Diversity.pptx
Education and Diversity.pptxDrHafizKosar
173 visualizações16 slides
Drama KS5 Breakdown por
Drama KS5 BreakdownDrama KS5 Breakdown
Drama KS5 BreakdownWestHatch
79 visualizações2 slides
Computer Introduction-Lecture06 por
Computer Introduction-Lecture06Computer Introduction-Lecture06
Computer Introduction-Lecture06Dr. Mazin Mohamed alkathiri
89 visualizações12 slides

Último(20)

Psychology KS4 por WestHatch
Psychology KS4Psychology KS4
Psychology KS4
WestHatch84 visualizações
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP369 visualizações
The Accursed House by Émile Gaboriau por DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta201 visualizações
Education and Diversity.pptx por DrHafizKosar
Education and Diversity.pptxEducation and Diversity.pptx
Education and Diversity.pptx
DrHafizKosar173 visualizações
Drama KS5 Breakdown por WestHatch
Drama KS5 BreakdownDrama KS5 Breakdown
Drama KS5 Breakdown
WestHatch79 visualizações
Use of Probiotics in Aquaculture.pptx por AKSHAY MANDAL
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL100 visualizações
Narration lesson plan por TARIQ KHAN
Narration lesson planNarration lesson plan
Narration lesson plan
TARIQ KHAN58 visualizações
Ch. 8 Political Party and Party System.pptx por Rommel Regala
Ch. 8 Political Party and Party System.pptxCh. 8 Political Party and Party System.pptx
Ch. 8 Political Party and Party System.pptx
Rommel Regala49 visualizações
AI Tools for Business and Startups por Svetlin Nakov
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
Svetlin Nakov107 visualizações
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB... por Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
Nguyen Thanh Tu Collection65 visualizações
Ch. 7 Political Participation and Elections.pptx por Rommel Regala
Ch. 7 Political Participation and Elections.pptxCh. 7 Political Participation and Elections.pptx
Ch. 7 Political Participation and Elections.pptx
Rommel Regala97 visualizações
Structure and Functions of Cell.pdf por Nithya Murugan
Structure and Functions of Cell.pdfStructure and Functions of Cell.pdf
Structure and Functions of Cell.pdf
Nithya Murugan545 visualizações
CONTENTS.pptx por iguerendiain
CONTENTS.pptxCONTENTS.pptx
CONTENTS.pptx
iguerendiain57 visualizações
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx por Ms. Pooja Bhandare
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptxPharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Ms. Pooja Bhandare77 visualizações
ICS3211_lecture 08_2023.pdf por Vanessa Camilleri
ICS3211_lecture 08_2023.pdfICS3211_lecture 08_2023.pdf
ICS3211_lecture 08_2023.pdf
Vanessa Camilleri149 visualizações
Sociology KS5 por WestHatch
Sociology KS5Sociology KS5
Sociology KS5
WestHatch70 visualizações
Psychology KS5 por WestHatch
Psychology KS5Psychology KS5
Psychology KS5
WestHatch93 visualizações
AUDIENCE - BANDURA.pptx por iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood84 visualizações
MIXING OF PHARMACEUTICALS.pptx por Anupkumar Sharma
MIXING OF PHARMACEUTICALS.pptxMIXING OF PHARMACEUTICALS.pptx
MIXING OF PHARMACEUTICALS.pptx
Anupkumar Sharma77 visualizações

intro-to-cnn-April_2020.pptx

  • 1. An Introduction to Convolutional Neural Networks: Overview, Implementation, and Example Shuo Yu and Hsinchun Chen, AI Lab University of Arizona Updated April, 2020 1 8/1/2023
  • 2. Acknowledgments • Many of the images, results, and other materials are from: • Deep Learning (2016), Ian Goodfellow, Yoshua Bengio, and Aaron Courville • Lee Giles and Alex Ororbia, Penn State University • Y. LeCun, Y. Bengio, and G. Hinton, “Deep Learning,” Nature, May 28, 2015. 2 8/1/2023
  • 3. Outline • Introduction • Academic Basis • Building Blocks • Convolutional Layer • Non-linear Layer • Pooling Layer • Implementation • Build a CNN with Keras in Python • Research Example: 2D-hetero CNN for Mobile Health Analytics • Research Design • Evaluation and Results 3 8/1/2023
  • 5. Representation Learning & Deep Learning • Representation Learning is a set of methods that allows a machine to be fed with raw data and to automatically discover the representations needed for detection or classification. • Deep Learning methods are representation learning methods with multiple levels of representation, obtained by composing simple but non-linear modules that each transform the representation at one level (starting with the raw input) into a representation at a higher, slightly more abstract level. With the composition of enough such transformations, very complex functions can be learned. • E.g., in image recognition, pixels  edges  motifs  parts  objects; in speech recognition, sounds  phones  phonemes  syllables  words  phrases  sentences • Many DL methods build upon Deep Neural Networks (e.g., CNN). 5
  • 6. Convolutional Neural Network (CNN) 6 8/1/2023 • Convolutional Neural Networks (CNN) is the most successful Deep Learning method used to process multiple arrays, e.g., 1D for signals, 2D for images, 3D for video. • CNN consists of a list of Neural Network layers that transform the input data into an output (class/prediction). • Great success in ImageNet competition in 2012 and later. • Efficient use of GPUs (NVIDIA), ReLUs (10-20 layers, billions of connections), and dropout for regularization. • Development of specialized CNN chips (by NVIDIA, Intel, Samsung, etc.) for real-time applications in smartphones, cameras, robots, self- driving cars, etc.
  • 7. Convolutional Neural Network (CNN) • Convolutional Neural Networks, or Convolutional Networks, or CNNs, or ConvNets • For processing data with a grid-like or array topology • 1-D grid: time-series data, sensor signal data • 2-D grid: image data • 3-D grid: video data • CNNs include four key ideas related to natural signals: • Local connections • Shared weights • Pooling • Use of many layers 7 8/1/2023
  • 8. Convolutional Neural Network (CNN) • Convolutional Neural Networks are inspired by mammalian visual cortex. • The visual cortex contains a complex arrangement of cells, which are sensitive to small sub-regions of the visual field, called a receptive field. • These cells act as local filters over the input space and are well-suited to exploit the strong spatially local correlation present in natural images. • Two basic cell types: • Simple cells respond maximally to specific edge-like patterns within their receptive field. • Complex cells have larger receptive fields and are locally invariant to the exact position of the pattern. 8
  • 9. The Mammalian Visual Cortex Inspires CNN 9 input output Convolutional Neural Net
  • 10. A Deep Classification Network 10 8/1/2023
  • 11. CNN Architecture • Intuition: Neural network with specialized connectivity structure • Stacking multiple layers of feature extractors, low-level layers extract local features, and high-level layers extract learn global patterns. • There are a few distinct types of layers: • Convolutional Layer: detecting local features through filters (discrete convolution) • Non-linear Layer: normalization via Rectified Linear Unit (ReLU) • Pooling Layer: merging similar features 11
  • 12. Building-blocks for CNNs 12 Each sub-region yields a feature map, representing its feature. Images are segmented into sub-regions. Feature maps are trained with neurons and weights. Feature maps of a larger region are combined. Shared weights
  • 13. (1) Convolutional Layer • The core layer of CNNs • Convolutional layer consists of a set of filters, wk,l • Each filter covers a spatially small portion of the input data, Zi,j • Each filter is convolved across the dimensions of the input data, producing a multidimensional feature map. • As we convolve the filter, we are computing the dot product between the parameters of the filter and the input. • Deep Learning algorithm: During training, the network corrects errors and filters are learned, e.g., in Keras, by adjusting weights based on Stochastic Gradient Descent, SGD (stochastic approximation of GD using a randomly selected subset of the data). • The key architectural characteristics of the convolutional layer is local connectivity and shared weights. 13
  • 14. Convolutional Layer: Local Connectivity • Neurons in layer m are only connected to 3 adjacent neurons in the m-1 layer. • Neurons in layer m+1 have a similar connectivity with the layer below. • Each neuron is unresponsive to variations outside of its receptive field with respect to the input. • Receptive field: small neuron collections which process portions of the input data • The architecture thus ensures that the learnt feature extractors produce the strongest response to a spatially local input pattern. 14
  • 15. Convolutional Layer: Shared Weights • We show 3 hidden neurons belonging to the same feature map (the layer right above the input layer). • Weights of the same color are shared—constrained to be identical. • Replicating neurons in this way allows for features to be detected regardless of their position in the input. • Additionally, weight sharing increases learning efficiency by greatly reducing the number of free parameters being learnt. 15
  • 16. (2) Non-linear Layer • Intuition: Increase the nonlinearity of the entire architecture without affecting the receptive fields of the convolution layer • A layer of neurons that applies the non-linear activation function, such as, • 𝒇 𝒙 = 𝐦𝐚𝐱(𝟎, 𝒙) - Rectified Linear Unit (ReLU); fast and most widely used in CNN • 𝑓 𝑥 = tanh 𝑥 • 𝑓 𝑥 = | tanh 𝑥 | • 𝑓 𝑥 = (1 + 𝑒−𝑥 )−1 - sigmoid 16
  • 17. (3) Pooling Layer • Intuition: to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network, and hence to also control overfitting • Pooling partitions the input image into a set of non-overlapping rectangles and, for each such sub-region, outputs the maximum value of the features in that region. 17 Input
  • 18. Building-blocks for CNNs 18 Each sub-region yields a feature map, representing its feature. Images are segmented into sub-regions. Feature maps are trained with neurons and weights. Feature maps of a larger region are combined. Shared weights
  • 19. Other Layers • The convolution, non-linear, and pooling layers are typically used as a set. Multiple sets of the above three layers can appear in a CNN design. • Input -> Conv. -> Non-linear -> Pooling -> Conv. -> Non-linear -> Pooling -> …-> Output • Recent CNN architectures have 10-20 such layers. • After a few sets, the output is typically sent to one or two fully connected layers. • A fully connected layer is a ordinary neural network layer as in other neural networks. • Typical activation function is the sigmoid function. • Output is typically class (classification) or real number (regression). 19 8/1/2023
  • 20. Other Layers • The final layer of a CNN is determined by the research task. • Classification: Softmax Layer 𝑃 𝑦 = 𝑗 𝒙 = 𝑒𝒘𝑗⋅𝒙 𝑘=1 𝐾 𝑒𝒘𝑘⋅𝒙 • The outputs are the probabilities of belonging to each class. • Regression: Linear Layer 𝑓 𝒙 = 𝒘 ⋅ 𝒙 • The output is a real number. 20 8/1/2023
  • 21. Full CNN: from Input to Output 21 pooling pooling
  • 23. Python CNN Implementation • Prerequisites: • Python 3.5+ (https://www.python.org/) • TensorFlow (https://www.tensorflow.org/) • Keras (https://keras.io/) • Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. • Recommended: • NumPy • Scikit-Learn • NLTK • SciPy 23 8/1/2023
  • 24. Build a CNN in Keras • The Sequential model is used to build a linear stack of layers. • The following code shows how a typical CNN is built in Keras. import numpy as np import keras from keras.models import Sequential from keras.layers import Dense, Flatten from keras.layers import Conv2D, MaxPooling2D from keras.optimizers import SGD Note: Dense is the fully connected layer; Flatten is used after all CNN layers and before a fully connected layer; Conv2D is the 2D convolution layer; MaxPooling2D is the 2D max pooling layer; SGD is stochastic gradient descent algorithm. 24 8/1/2023
  • 25. Build a CNN in Keras (continued) model = Sequential() # We create an empty Sequential model and add layers onto it. model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(100, 100))) # We add a Conv2D layer with 32 filters, 3x3 each, followed by a detector layer ReLU. # This is the first layer we add to the model, so we need to specify the shape of the input. In this case we assume our input is a 100x100 matrix. model.add(MaxPooling2D(pool_size=(2, 2))) # We add a MaxPooling2D layer with a 2x2 pooling size. 25 8/1/2023
  • 26. Build a CNN in Keras (continued) model.add(Conv2D(32, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) # We can add more Conv2D and MaxPooling2D layers onto the model. model.add(Flatten()) # After all the desired CNN layers are added, add a Flatten layer. model.add(Dense(256, activation='sigmoid')) # Add a fully connected layer followed by a detector layer with the sigmoid function. model.add(Dense(10, activation='softmax') # A softmax layer is added to achieve multiclass classification. In this example we have 10 classes. 26 8/1/2023
  • 27. Build a CNN in Keras (continued) sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) # Default SGD training parameters for correcting errors for filters model.compile(loss='categorical_crossentropy', optimizer=sgd) # Compile the model and use categorical crossentropy as the loss function, sgd as the optimizer model.fit(x_train, y_train, batch_size=32, epochs=10) # Fit the model with x_train and y_train, batch_size and epochs can be set to other values score = model.evaluate(x_test, y_test, batch_size=32) # Evaluate model performance using x_test and y_test 27 8/1/2023
  • 28. Research Example Two-Dimensional Heterogeneous Convolutional Neural Network (2D-hetero CNN) for Mobile Health Analytics 28 8/1/2023
  • 29. Introduction • We developed two-dimensional heterogeneous convolutional neural networks (2D-hetero CNN), a motion sensor-based system for fall risk assessment using convolutional neural networks (CNN). • Five sensor systems (chest, left/right thigh, left/right foot) for clinical tests • Comprehensive assessment for gait and balance features • CNNs are powerful in extracting low-level local features as well as integrating them into high-level global features. • Feature-less; avoid feature engineering that is labor intensive, ad hoc, and inconclusive. 29 8/1/2023
  • 30. Research Design: 2D-hetero CNN for Fall Risk Assessment 30 Data Collection Sensor Attachment Data Preprocessing Signal Segmentation Model Design 2D-hetero CNN Data Augmentation Walking Test Evaluation 8/1/2023
  • 31. Research Design – Data Collection • Twenty-two (22) subjects were recruited at a Neurology Clinic. • 12 with high fall risks, 10 with low fall risks • 5 tri-axial accelerometers attached to each subject • Sampling rate: 25 Hz • 25 sampling points per second; sufficient for capturing gait cycles • Chest, left/right thigh, left/right foot (as shown in Fig. 4) • To capture body and lower extremity movement (left/right) • 10-meter ground walking tests were conducted to collect data for gait and balance. 31 Fig. 4. Sensor Locations Fig. 3. Shape and Size of SilverLink Sensors 8/1/2023
  • 32. Research Design – 2D-hetero CNN 32 Left/right thigh 6 x 100 Chest 3 x 100 Left/right foot 6 x 100 10 @ 2 x 96 3 x 5 conv. stride (3, 1) 10 @ 2 x 96 3 x 5 conv. stride (3, 1) 3 x 5 conv. 10 @ 1 x 96 10 @ 2 x 24 1 x 4 pool. 10 @ 2 x 24 1 x 4 pool. 1 x 4 pool. 10 @ 1 x 24 20 @ 1 x 20 2 x 5 conv. 20 @ 1 x 20 2 x 5 conv. 1 x 5 conv. 20 @ 1 x 20 20 @ 1 x 5 1 x 4 pool. 20 @ 1 x 5 1 x 4 pool. 1 x 4 pool. 20 @ 1 x 5 20 @ 3 x 5 Flatten ⋮ 300 Fully connected Softmax classifier 2 Stage 1: Cross-Axial Convolution Stage 2: Cross-Locational Convolution Stage 3: Integration Note: The notation “x @ y x z” denotes x feature maps with height y and width z. 8/1/2023
  • 33. Research Design – 2D-hetero CNN • We partitioned the data into three parts based on sensor locations. • Chest, left/right thigh, left/right foot • Stage 1: Cross-Axial Convolution • Convolve among the three axes of a single sensor • Extract features among axes within a sensor • Stage 2: Cross-Locational Convolution • Convolve between sensors on left/right thighs and left/right feet • Extract balance features between the left and the right • Stage 3: Integration • Integrate extracted features to provide final inference on fall risk assessment 33 8/1/2023
  • 34. Research Design – 2D-hetero CNN Some Technical Details: • A Rectified Linear Unit (ReLU) layer is added after each convolutional layer for model non-linearity. • A dropping layer is added after each pooling layer and the densely connected layer to avoid over-fitting. • Dataset split: • Training (60%), validation (20%), test (20%) • The validation set is used for model selection. • The test set is used for reporting performance. • As the model training process can get into local maxima, we train the model for five times and report the average performance. 34 8/1/2023
  • 35. Evaluation • Benchmark 1: Feature-based fall risk assessment • Most widely used approach for fall risk assessment • Stride variability (SVAR), acceleration root mean square (ARMS), walking speed (SPD) • Benchmark 2: CNN models with alternative architectures • 2D homogeneous CNN (2D-homo CNN) as applied in image recognition tasks • 1D CNN (1D-CNN) as applied in activity recognition and ECG classification tasks • Benchmark 3: Ablation analysis • 2D heterogeneous CNN with cross-axial convolutions only (2D-axis CNN) • 2D heterogeneous CNN with cross-locational convolutions only (2D-loc CNN) 35 8/1/2023
  • 36. Results • Our proposed 2D-hetero CNN significantly outperformed all three sets of benchmark systems. • Showing the advantage of 2D-hetero CNN over traditional feature-based and 1D/2D CNN methods. 8/1/2023 36 0.00 0.20 0.40 0.60 0.80 1.00 Precision Recall Specificity F-measure 2D-hetero CNN SVAR ARMS SPD 0.00 0.20 0.40 0.60 0.80 1.00 Precision Recall Specificity F-measure 2D-hetero CNN 2D-homo CNN 1D CNN 0.00 0.20 0.40 0.60 0.80 1.00 Precision Recall Specificity F-measure 2D-hetero CNN 2D-axial CNN 2D-loc CNN
  • 37. Conclusions • We developed a 2D-hetero CNN to support fall risk assessment based on motion sensor data, collected at a Parkinson Clinic. • A novel CNN architecture with cross-axial and cross-locational convolutions was proposed to optimize in our application context of fall risk assessment. • Our model achieved F-measure of 0.962, significantly outperforming the benchmarks. 37 8/1/2023