Deep Learning and Neural Networks

Deep Learning and Neural Networks


Neural network is a kind of ML algorithm which has got developed, inspired by the functions of an actual human brain. Neural networks has the ability to learn from the inputs. With it's ability to learn by itself, Neural networks opens the gate of possibilities to get a solution to most of the complex problems. The significant progress of neural networks in recent days makes it inevitable towards achieving Artificial Intelligence.

A neural network uses the examples to automatically infer rules for recognizing the patterns. By increasing the number of training examples, the network can learn more about the patterns and improve the accuracy. Neural networks truly have the potential to revolutionize the field of Artificial Intelligence.

Neural networks are used for classification tasks where an object can fall into one of atleast two different categories. A neural network is highly structured and comes in layers. The first layer is the input layer, the final layer is the output layer, and all layers in between are referred to as hidden layers.

The prediction accuracy of a neural network depends on its weights and biases. The process of improving a neural network's accuracy is called Training.

As the patterns gets more complex, neural networks with a small number of layers can become unusable. The reason is that the number of nodes required in each layer grows exponentially with the number of possible patterns in the data. Eventually, training becomes a way too expensive and the accuracy starts to suffer. So, for an intricate pattern, Deep Neural Networks becomes the only practical choice.

Deep neural networks can able to break the complex patterns down into a series of simpler patterns and then combine the results together to produce the final result.

Let's have a look at some of the Neural Networks:

Artificial Neural Network (ANN)
Convolution Neural Network (CNN)
Restricted Boltzmann Machines (RBM)
Recurrent Neural Network (RNN)
Auto Encoders
Deep Belief Network (DBN) and so on.

Artificial Neural Network:

Artificial Neural Networks are neural networks in general. The computational model for an ANN is based on the biological neural networks. It's quite familiar that Neural network is a framework to implement ML algorithms, but it's been inferred that ANN is a kind of Neural Network. Let me make it very clear in the outset itself that an ANN simply refers to neural network. So, in a nutshell, it's either ANN or Neural Network both refers to the same.

Convolution Neural Network:

Convolution Neural Network is mainly used to perform image classification and recognition. In recent days CNN has emerged as a most popular and inevitable Neural Network through it's application in various fields. With it's ability to train more complex problems in minimal duration of time as compared with other Neural networks, CNN has become the most preferable choice to most
of the Data Scientists. To explain CNN, it requires a lot to discuss. As it goes beyond the scope of this article, I will discuss about CNN comprehensively in my upcoming articles.

Restricted Boltzmann Machine:

It can automatically find patterns in the data by reconstructing the input. RBM is a shallow two-layer network. The first layer is the Visible layer and the second layer is the hidden layer. Each node in the visible layer is connected to every node in the hidden layer. In RBM, no two nodes in the same layer is connected between each other.

Recurrent Neural Networks:

The most prominent feature which sets apart RNN from other Neural Networks is it's ability to store the result and loops it back into the network for the upcoming iterations. Therefore an RNN has two inputs, the present and the recent past. RNN is suitable for Sequential data (Ordered data - Ex: Time Series data).

Auto Encoders:

Autoencoders are used for Unsupervised Learning. The algorithm which is used in Autoencoders is the Data Compression algorithm, hence the functions of autoencoders comprises of compressions and decompressions of the input. Due to it's applications, it can be used in Dimensionality Reduction problems.

Deep Belief Networks:

A DBN can be considered as a pile of RBNs. As we all are familiar that an RBM is a shallow two-layer network with Visible layer and Hidden layer, in DBN the hidden layer of the first RBM is the Visible layer of the second RBN and it continues until all the layer in the network is trained.

There are lot more types of Neural Networks, depends upon the requirement an optimal neural network has to be selected. Considering the simplicity of the article only a few types of Neural networks has been discussed above.

Let's have a look at the applications of different Neural networks.

If your project deals with the unsupervised learning technique, then RBM and Autoencoders could be the best choice.

If you are intended to develop a neural network that can address the classification problems, then you have a wide variety of choices.

Recurrent Neural Network - Text processing, Sentiment Analysis, Parsing, Speech recognition.

Deep Belief Network - Image recognition.

Convolution Neural Network - Image recognition, Object recognition.

Hope this article would have given you some idea about Neural Networks and it's different types and applications of neural networks in various fields. The best way to learn Neural Networks is to start practicing it. With the availability of lot of open source tools in the market, it makes it very easy to implement Neural Networks with minimal number of lines of codes. Keras in R and Tensorflow with Python will be the best choice to begin.

I'll always welcome and value your suggestions. So, please feel free to reach out to me. I'm reachable through the following links.

Email - kgfahath@gmail.com

Popular posts from this blog

Structural Equation Modelling - A basic introduction.

An Introduction to Factor Analysis

Machine Learning - a basic introduction with step by step implementation