1.3.2 Convolution neural network(CNN)
in mathematics convolution is the operation of two
function to produce a third function, in CONV we multiply each pixel in the
image with the corresponding weight in the conv matrix illustrated in figure
1.9 :
weighted - sum = X1W1 + X2W2 + X3W3
+ ....XnWn + b (1.13)
Theorem 1.1
?
Definition 1.7
an architecture in deep learning composed offour parts:
Input layer
Convolution layer
1.3 Computer Vision
|
Figure 1.9: convolution operation / Source
[15]
|
Fully connected layer Output layer
illustrated in figure1.9 [8] 4
|
|
Definition 1.8
a Convolution layer(Conv) is a group of matrix that slide
over the image to extract features using convolution. [8]
4
11
the task of classification with CNN runs through a pipeline of
two main steps:
Feature extraction: it is done by the convolutional layer ,in
this phase the network takes all the necessary information out of the image
,and removing the unnecessary complexities. Classification: this phase is
usually done by MLP with a sigmoid function at the output layer,it takes the
extracted features out of the convolutional layer and output a probability.
· Note CNN architecture is very useful
when it comes to conserving the spatial features,also getting rid of the
unnecessary informations.
1.4 Knowledge Representation
1.3.2.1 CNN's concepts:
Index Concept Explanation
1 stride Stride is a component of convolutional neural networks,
or neural
networks tuned for the compression of images and video data.
Stride is a parameter of the neural network's filter that modifies the amount
of movement over the image or video. For example, if a neural network's stride
is set to 1, the filter will move one pixel, or unit, at a time. The size of
the filter affects the encoded output volume, so stride is often set to a whole
integer, rather than a fraction or decimal.[13]
2 pooling Pooling layers provide an approach to down sampling
feature maps by
summarizing the presence of features in patches of the
feature map. Two common pooling methods are average pooling and max pooling
that summarize the average presence of a feature and the most activated
presence of a feature respectively.[13]
3 kernel as mentioned before ,convolutional operation is done by
a group of
matrix ,kernel is just a fancy name for matrix ,the values of
the kernel are initialized randomly than we adjust them with
back-propagation.[13]
4 Batch Batch normalization is a technique for training very
deep neural
Normalization networks that standardizes the inputs to a
layer for each mini- batch. This has the effect of stabilizing the learning
process and dramatically reducing the number of training epochs required to
train deep networks.[13]
5 Dropout Dropout is a technique that drops neurons from the
neural network or
`ignores' them during training, in other words, different
neurons are removed from the network on a temporary basis.[13]
Table 1.6: Deep Learning Concepts
|