0% found this document useful (0 votes)
31 views10 pages

CNN

Cnn artificial Intelligence

Uploaded by

Dev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
31 views10 pages

CNN

Cnn artificial Intelligence

Uploaded by

Dev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 10
419/24, 14 am Understancing of Convolutional Neural Networx (CNN) — Deep Learning | by Prabhu Raghav | Mediums + Get unlimited access to the best of Medium for less than $1/week. Become a member x Understanding of Convolutional Neural Network (CNN) — Deep Learning 9 Prabhu Raghav - Follow Sminread - Mar 4, 2018 Sek Qa KB © 8 In neural networks, Convolutional neural network (ConvNets or CNNs) is one of the main categories to do images recognition, images classifications. Objects detections, recognition faces etc., are some of the areas where CNNs are widely used. CNN image classifications takes an input image, process it and classify it under certain categories (Eg., Dog, Cat, Tiger, Lion). Computers sees an input image as array of pixels and it depends on the image resolution. Based on the image resolution, it will see h x wx d(h = Height, w = Width, d= Dimension ). Eg., An image of 6 x 6 x 3 array of matrix of RGB (3 refers to RGB values) and an image of 4x 4x 1 array of matrix of grayscale image. hitpssimedlum,com/@RaghavPrabhulunderstanding-f-convolutonal- neural network-cnn-eep learning 987608351148, ana 419/24, 14 am Understancing of Convolutional Neural Networx (CNN) — Deep Learning | by Prabhu Raghav | Mediums 6x6x3 Figure 1: Array of RGB Matrix hips medium, comi@RaghavPrabulunderstanding-f-convolutiona-neural-network-cnn-deepearning- 297608350148 419/24, 14 AM LUnderstancing of Convolutional Neural Network (CNN) — Deep Learning by Prabhu Raghav | Medium Technically, deep learning CNN models to train and test, each input image will pass it through a series of convolution layers with filters (Kernals), Pooling, fully connected layers (FC) and apply Softmax function to classify an object with probabilistic values between 0 and 1. The below figure is a complete flow of CNN to process an input image and classifies the objects based on values. - O | G—aerce < a z coltttereo ~ — FEATURE LEARNING CLASSIFICATION, Figure 2: Neural network with many convolutional layers Convolution Layer Convolution is the first layer to extract features from an input image. Convolution preserves the relationship between pixels by learning image features using small squares of input data. It is a mathematical operation that takes two inputs such as image matrix and a filter or kernel. ntps:Imecium.com/@RaghavPrabhuluncerstanding-of- convolutional neural-network-cnn-deop leaming-98760835/148 ana 419/24, 14 AM LUnderstancing of Convolutional Neural Network (CNN) — Deep Learning | by Prabhu Raghav | Medium + An image matrix (volume) of dimension (h x w x d) + Afilter (fnx fw xd) + Outputs a volume dimension (h = f+ 1) x (w= fwt 1) 4 Figure 3: Image matrix multiplies kernel or filter matrix Consider a 5 x 5 whose image pixel values are 0, 1 and filter matrix 3x 3 as shown in below * 5 x 5— Image Matrix 3x3 - Filter Matrix Figure 4: Image matrix multiplies kernel or filter matrix Then the convolution of 5 x 5 image matrix multiplies with 3 x 3 filter matrix which is called “Feature Map” as output shown in below Convalved Feature Image ‘ntps:Imecium.com/(@RaghavPrabhuluncerstanding-of- convolutional neural-network-cnn-deop leaming- 98760835148 ana 419/24, 14 am Figure 5: 3 x 3 Output matrix Understancing of Convolutional Neural Networx (CNN) — Deep Learning | by Prabhu Raghav | Mediums Convolution of an image with different filters can perform operations such as edge detection, blur and sharpen by applying filters. The below example shows various convolution image after applying different types of filters (Kernels). Strides Operation Edge deaction ‘Sharpen ox blur (eomalios) Gaussian blue (aworxmaon) Figure’7: Some common filters Convohed Image hitpssimedlum,com/@RaghavPrabhulunderstanding-f-convolutonal- neural network-cnn deep learning 987608351148 sia 419724, 8:14 aM Understanding of Convokitonal Neural Network (CNN) —Dsep Learning |by Prabhu Raghav | Medium Stride is the number of pixels shifts over the input matrix. When the stride is 1 then we move the filters to 1 pixel at a time. When the stride is 2 then we move the filters to 2 pixels at a time and so on. The below figure shows convolution would work with a stride of 2. Convolve with 3x3 21} 22 23 24] 25 26 | 27 filters filled with ones = 108 | 126 nla as as| as a6| 37 ale a alas as| a7 > 288 | 306 st] sz] 53] 54] 55 | 56] 57 61 | 62 | 63 | 64 | 65 | 66 | 67 mn | 7z| 73} 74] 75 | 76] 77 Figure 6 : Stride of 2 pixels Padding Sometimes filter does not fit perfectly fit the input image. We have two options: + Pad the picture with zeros (zero-padding) so that it fits * Drop the part of the image where the filter did not fit. This is called valid padding which keeps only valid part of the image. Non Linearity (ReLU) ‘ntps:Imecium.com/(@RaghavPrabhuluncerstanding-of- convolutional neural-network-cnn-deop leaming- 98760835148 ena 419724, 8:14 aM Understanding of Convokitonal Neural Network (CNN) —Dsep Learning |by Prabhu Raghav | Medium ReLU stands for Rectified Linear Unit for a non-linear operation. The output is f(x) = max(0,x). Why ReLU is important : ReL.U’s purpose is to introduce non-linearity in our ConvNet. Since, the real world data would want our ConvNet to learn would be non-negative linear values. — 15 | 20 |-10 | 35 15) 20) 0 | 35 + a 18 |-110 | 25 | 100 0 18 | 0 | 25 | 100 20 |-15 | 25 |-10| ue, | 20) 0 | 25 | 0 101 | 75 | 18 23 101 | 7 | 8 23 Figure 7: ReLU operation There are other non linear functions such as tanh or sigmoid that can also be used instead of ReLU. Most of the data scientists use ReLU since performance wise ReLU is better than the other two. Pooling Layer Pooling layers section would reduce the number of parameters when the images are too large. Spatial pooling also called subsampling or downsampling which reduces the dimensionality of each map but retains important information. Spatial pooling can be of different types: * Max Pooling « Average Pooling ‘ntps:Imecium.com/(@RaghavPrabhuluncerstanding-of- convolutional neural-network-cnn-deop leaming- 98760835148 ma 419/24, 14 am Understancing of Convolutional Neural Networx (CNN) — Deep Learning | by Prabhu Raghav | Mediums * Sum Pooling Max pooling takes the largest element from the rectified feature map. Taking the largest element could also take the average pooling. Sum of all elements in the feature map call as sum pooling. Single depth slice * 1}1/2)4 max pool with 2x2 filters ial, OG) 7 | 8 and stride 2 6 3 | 2 ineg 3) 4 1}2/3)4 y Figure 8: Max Pooling Fully Connected Layer The layer we call as FC layer, we flattened our matrix into vector and feed it into a fully connected layer like a neural network. hitpssimedlum,com/@RaghavPrabhulunderstanding-f-convolutional- neural network-cnn deep earning 987608351148, ana 419/24, 14 AM Understanding of Convolutional Neural Network (CNN) — Deep Learning | by Prabhu Raghav | Medium f * 0 -e 2 -@AS ei WD ec( ’ RC SOL MC OCHO. v2 \\e/ Figure 9 : After pooling layer, flattened as FC layer In the above diagram, the feature map matrix will be converted as vector (x1, x2, x3, ...). With the fully connected layers, we combined these features together to create a model. Finally, we have an activation function such as softmax or sigmoid to classify the outputs as cat, dog, car, truck etc., Eee ONE Figure 10 : Complete CNN architecture Summary * Provide input image into convolution layer * Choose parameters, apply filters with strides, padding if requires. Perform convolution on the image and apply ReLU activation to the ‘ntps:Imecium.com/(@RaghavPrabhulunderstanding-o- convolutional neural network-cnn-leop leaming-98760835/148 ona 419/24, 14 am Understancing of Convolutional Neural Networx (CNN) — Deep Learning | by Prabhu Raghav | Mediums matrix. Perform pooling to reduce dimensionality size Add as many convolutional layers until satisfied Flatten the output and feed into a fully connected layer (FC Layer) Output the class using an activation function (Logistic Regression with cost functions) and classifies images. In the next post, I would like to talk about some popular CNN architectures such as AlexNet, VGGNet, GoogLeNet, and ResNet. References : https://www.mathworks.com/discovery/convolutional-neural- network. html https:/adeshpande3.github.io/adeshpande3.github.io/A-Beginner's- Guide-To-Understanding-Convolutional-Neural-Networks/ https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/ + https://blog.datawow.io/interns-explain-cnn-8a669d053f8b. Open inapp 7 OQ scorer Awe OO Neural Networks hitpssimedlum,com/@RaghavPrabhulunderstanding-f-convolutional- neural network-cnn deep earning 987608351148, roe

You might also like