Deep Learning is the class of machine learning or a subset of machine learning in which approach of Computer Science to mimic the human brain by making the artificial neural network to perform the given task in different conditions and environment and learn itself by experiences and by giving some amount of data.
It uses multiple layers to process the data (Information) to extract the desired result or higher-level features from raw data.
The main architecture of Deep Learning Argorithm mainly based on four architectures which are as follows:
The Deep Neural Network (DNN) is an Artificial Neural Network (ANN) having multiple layers of filtrations to get the output of user inputs.
DNN finds the correct and most probable output by mathematical manipulations done by many layers between output and inputs. DNN can be used for modelling whether linear and non-linear relationships.
The name “Deep Neural Network” comes from the many numbers of neural networks layers used to interpret the certain threshold level probability of certain output.
The threshold probability of each layer and every output can be managed by the user or the data scientist and the input recognition results can be verified and cross-checked for each layer even for every node.
Today’s world it is easy to use deep neural networks with thousands or millions of layers containing million or billions of nodes because of big and faster GPUs and supermassive data mining.
The Deep Belief Network is an alternative class of DNN in which hidden layer presents but the main difference between DNN and DBN is DBN has only a connection between the layers not with each element of nodes of the layers.
The DBNs can be trained one by one layer of neural networks based on greedily algorithmic approach (A greedy algorithms is an algorithm that follows the problem-solving self-learning or enabling a program to discover or learn something for themselves of making the locally optimal choice at each stage) one layer learn or giving output at a time.
Recurrent Neural Network (RNN) is also a class of ANN in which nodes have temporary formation and changes its sequence time by time as in feedforward neural network.
The main phenomenon about RNN working is the creation of new sequences for new inputs and giving most probable outputs to the user, also RNN is a Long Short-Term Memory (LSTM) network invented by Hochreiter and Schmidhuber.
The main application of RNNs is Speech Recognition and Handwriting Recognition. The word recurrent defining the behaviour of this algorithm approach about its working phenomenon in which RNN having two broad classes named as a finite and infinite impulse, both the classes exhibit temporal dynamic behaviour. The finite impulse recurrent network directed toward acyclic graphs and that can be unrolled and replaced with a strictly feedforward neural network on the other hand infinite one is directed towards cyclic graph that cannot be unrolled.
RNNs are also had sub-classes: –
- Fully Recurrent Neural Networks
- Elman Networks and Jordan Networks
- Echo State
- Independently RNN (IndRNNs)
- Neural History Compressor
- Second-Order RNNs
- Long Short-term Memory (LSTM)
- Gated Recurrent Unit
- Continuous-Time RNNs
- Recurrent multilayer perceptron network
- Multiple timescales model
- Bi-directional RNNs
The Convolution Neural Network (CNN) is a type of DL algorithm in which the operation is not done by the network in a typical matrix-based operational manner while it is based on the mathematical operation called convolution.
The Convolution in mathematics can be defined as the integral of the product of two functions generate a new function (3rd Function) after the one is reversed and shifted for the desired time operation.
The CNNs are mainly inspired by biological animal linkages of the neuron that resembles the animal visual cortex. CNNs are also useful in Image or Real-time recognition of images or video classification and need small amounts of data to do so as compared to other algorithmic approaches.
The design of CNNs also have one output and input layer and in-between them there are a lot of hidden layers present to classify the input image.
The hidden layers of a CNN typically consist of a series of convolutional layers that convolve with multiplication or other Dot Product.
The activation function is commonly a ReLu function, fully connected layers and normalization layers also known as to as hidden layers because their inputs and outputs are fixed by the activation function and final Convolution.
- Image Classifier
- Object Detection
- Computer Vision
- Voice Recognition
- Handwriting Recognition etc.