/    /  Machine Learning- Deep Learning: Convolutional neural networks

Deep Learning: Convolutional neural networks

 

Introduction

In deep learning convolutional neural networks is a special type of neural network that can imitate human vision to a great approximate. They have gained huge importance over the years as they are widely used in computer vision applications. Convolution is done by the convolutional layer. 

 

Convolution in computer vision

The idea of using convolution operation to image data is not a new concept. Initially, filters were designed manually by computer experts that were applied to the image to result in a feature map, which made the analysis of the image easier. 

In machine learning, learning to apply filters to an image is a useful tool, but still, convolution neural networks are used more, as they can learn multiple filters parallelly for one input. 

 

How does a convolutional neural network work?

In convolution, we firstly take a filter or kernel and then apply it to an input image to get the convolved feature, then the convolved feature is passed onto the next layer. This is the case of a grey image, for RGB images it is a bit more complex. 

 

The convolutional neural network is made out of several layers of artificial neurons. They are basically mathematical functions that calculate the weighted sum of multiple inputs and outputs. When an image is put through the convolutional neural network each layer generates several activation functions which get passed to the next layer. 

 

The first layer in a convolutional network, extracts basic features, these features or the output is then passed to the next layer. The next layer then detects more complex features, such as combinational edges, etc. And as it keeps moving further the network identifies more and more complex features. 

  • There is also a layer used to reduce the computational power needed to process the data, known as the pooling layer
  • The fully connected layer is used to connect every neuron to another layer. 
  • The receptive field is the restricted area that receives input from the neurons. 

 

Disadvantages

There are certain limitations to convolutional neural networks. The first is that though they are able to identify the images, they still cannot comprehend the contents of the image. 

This may not seem a big problem in theory, but in practical use, it can be a hindrance. 

For say, if the lighting and angle of an image are changed, the CNN may not be able to detect and judge it, the same as it would have done in a different setting. 

 

In the past convolutional neural network required a lot of computing resources and therefore failed to enter the world of machine learning, staying only in use for the postal sector. It was mainly used for reading zip codes, pin codes, and similar things. 

 

Various hyperparameter

Convolution neural networks use various hyperparameters to control the learning, they are as follows:

  1. Padding

It is the addition of pixels in the borderline.

  1. Kernel size

It is the number of pixels processed together.

  1. Stride

It is the number of pixels that the analysis window moves on each iteration.

  1. Filter size
  2. Pooling size. 

 

Reference

Deep Learning: Convolutional neural networks