Research on Artificial Neural Networks has been going on since the 1950s. The artificial neural network is the foundation of Artificial Intelligence (AI). ANNs solve problems, which will be difficult for a human or statistical standard. ANNs simulate the human brain, the way humans analyze and process information. ANN can learn by itself without the explicit program.
The artificial neural network consists of three layers: the input layer, the hidden layer, and the output layer. The first layer, as an input layer neuron, consists of input data and sends it to the second layer for further processing. After passing the hidden layer, the second layer, the active neurons output the result by applying the activation function. The hidden layer can have more layers if the problem is more complicated. The figure shows the architecture of the artificial neural network. It has an input layer and an output layer. The artificial neural network uses parameters defined:
The weight of neurons
The learning parameter to update the weight
The activation function to transform the activation level of a neuron
An artificial neural network is used to classify and recognize the character. The neural network has become a fast and reliable tool for classification and recognition for achieving high accuracy for Computer Vision. It can be classified into two types; feed-forward network and feedback (recurrent) network. Multilayer perceptron of the feedforward network is more common in the Artificial neural network for character recognition, and in the feedback network, Kohonen's self-organizing map (SOM) is used.
The feed-forward network
The feed-forward network consists of three layers, the hidden layer, the input layer, and the output layer. Each layer has a node; each node has one corresponding node in the next layer. The multi-layer feed-forward neural network uses backpropagation for rule learning for the training. The Convolutional Neural Network is one of the classes of feedforward networks.
What is Convolutional Neural Networks (CNNs)?
It is one of the types of neural networks which has been very popular in recognition and classification. They have successfully used object detection, face detection, and provoking vision in robots and driverless cars. With the variable input data, it has become a general solution for image recognition. It has outclassed other machine learning approaches in image recognition tasks on a large scale. If using another method for computer vision problems, it needs preprocessing steps to get more accuracy. Still, in the case of CNN, it is optional to do the preprocessing stage to get rid of variabilities. According to its design architecture, a multilayer mechanism effectively controls several sources of variation among the sample. The main disadvantage of using CNN character recognition is that it takes a lot of time and effort to reinforce its free parameters, including architecture. This has limited CNN's use of character recognition problems.
Convolutional Neural Networks (CNN) are very useful for solving many problems because of the local distortion of the input and invariance to translation. Image analysis, Object detection, and computer vision are some fields where it has been very successful. Input data topology and structure are crucial factors for extracting the feature in CNN. They depend on Input data. There are many layers in the convolution neural network, which include the Convolution layer, the Pooling layer, and the Fully connected layer (Classification layer). An activation layer is also part of the convolutional layer, which can be different for different problems. The figure shows the architecture of it.
There is some parameter by which the convolutional layer is parametrized. Some are the skipping factor, kernel size, number of maps, and connection table. And there are several steps the convolutional layer has to do, the first step is to line up the feature and the image patch, then multiply each image pixel by the corresponding feature pixels and add them up, then divide by the total number of pixels in the feature. Then create a map and put this (filter value) on that particular place. It moves the filter throughout the image for a particular filter and provides a matrix with some value for each feature. The figure below shows how the input layer of CNN converts into a convolutional layer.
The pooling layer shrinks the image into a smaller size. It takes window size and moves it across the entire matrix. It takes only the maximum value (for MaxPooling) from there so that it can shrink the image; it reduces the size of the image. It selects superior invariant features and improves generalization. The average pooling layer can also be applied, taking the average value from the window. The below figure shows how the max-pooling layer works, and it takes the highest value of the features.
Fully connected layer
In the Fully connected layers, neurons have a complete connection with activation in the previous layer. Actual classification happens in the fully connected layer only. It takes the shrunk image and puts it into a single list or a vector. It combines the output of the last convolutional layer into a 1D-feature vector. The top layer with the label unit per class label is always fully connected. The figure below shows the architecture of a fully connected layer. In this figure, x1, x2, x3, and x4 uses as a vector.
A Convolutional Neural Network (CNN) has two stages – one for learning the automatic function (and Feature learning) and another for classification. Both can be successfully trained through the gradient descent of the error surface. Convolutional layers are presented with a full connection in it with one or more convolutional layers. It also has tied weights and pooling layers.
The convolutional layer and pooling layer are used in feature learning. The dense layer is used for classification based on the learned feature, also known as the fully connected layer. The input and output layers contain image data and different classes (that have to predict). In this example, the task is simple, whether the image has a cat or not.
Training is the most crucial part of the classification. Otherwise, the network cannot predict. In training, the example inputs with the class label are provided. It is untrained, started with a random parameter. Then training example is given through the network and observer the activation of output neurons. Depending on the expected activation, it can get a cost function that suggests how much the network was wrong. Then to reduce the cost, it can adjust the parameters. It starts from the output layer neurons to the input layer and adjusts the parameter of each layer in between, and this process is a backpropagation. The cost function can have many variables. To reduce the cost, it also uses a gradient descent method. This method tells us, to get better classify training examples, how it should adjust the network parameter.
Convolution Neural network (CNNs) has left behind many traditional ML methods in the field of Computer vision. These are capable of surpassing human vision at visual recognition tasks. They have accomplished astonishing achievements across a variety of domains. Its works better with image and video data but is not limited to just modeling the image. Many improvised versions are based on its architectures like AlexNet, VGG, Yolo, and many more.