CNN
A Convolution Neural Network (CNN) is a feed-forward neural
network (FNN). So far CNNs have established extraordinary
performance in image search services, voice recognition and
natural language processing (NLP).
In addition, CNN can detect any particular feature anywhere on the
image, but a DNN can detect it only in that particular location.
Since images have generally repetitive features, CNNs can
generalise much better than DNNs for image processing tasks such
as classification.
A CNNs architecture has prior knowledge of how pixels are
organised.
Thus, in short, CNN is a class of neural networks that specialises in
processing data that has a grid-like topology, such as an image.
Each neuron works in it’s own receptive field and is connected to
other neurons in a way that they cover entire visual field.
A CNN design begins with feature extraction and finishes with
classification.
Layers used :
1. The first hidden layer performs convolution. Each feature map in
the hidden layer consists of neurons and each neuron is assigned a
receptive field.
2. The second hidden layer performs averaging and subsampling.
Each layer consists of feature maps and the neurons of each
feature map has a receptive field. It has a trainable bias, trainable
coefficient and sigmoid function. They control the operating point
of the neuron.
3. The next hidden layer performs a second convolution. Again each
feature map in this hidden layer consists of neurons. And each
neuron has connections with the previous hidden layer.
, 4. The next hidden layer performs averaging and subsampling.
5. The output layer performs final stage of convolution. Each neuron
is assigned a receptive field and is assigned the possible
characters.
The layers in the network alternate between convolution and
subsampling, and we get a “bipyramidal” effect. Thus at each layer i.e.
either subsampling or convolutional layer, the number of feature
maps is increased while the space-resolution is reduced. The weight
sharing reduces the number of free parameters in the network
compared to the synaptic connections in multilayer perceptron. Also
by the use of weight sharing, implementation of convolutional
network in parallel form is possible.
Pooling layer
Pooling layers are used to reduce the dimensions of the feature
maps. It reduces the number of parameters to learn and the
amount of computation performed in the network.
The pooling layer summarises the features present in a region of
the feature map generated by a convolutional layer.
A pooling layers is another building block of a CNN, when
processing multichannel input-data, the pooling layer pools each
input channel separately.
Pooling layer reduce the dimensions of the data by combining the
output of neuron-clusters. The pooling layer is used to reduce
spatial dimensions, but not depth, on a convolutional neural
network.
Pooling layer operates on each feature map independently.
Pooling is basically ‘downscaling’ the image obtained from the
previous layers. It can be compared to shrinking an image to
reduce the pixel density.
Types of Pooling