Artificial Intelligence, Machine learning, and Deep Learning are buzzwords around which a lot of discussions have been surfacing recently. However, to understand the topics in-depth, we need to begin from the basics. And today we’ll do that – by understanding neural networks, the functional unit of Deep Learning. We will also cover artificial neural networks. Let’s dive right into understanding what are neural networks.
What are Neural Networks?
Neural Network is essentially a functional unit of deep learning. An artificial neural network solves data-intense problems by mimicking the behavior of the human brain.
They are a set of algorithms used to identify patterns. The patterns they work on and recognize are numerical and are contained in vectors – all the data (images, sound, text, etc) need to be translated in these numerical.
The artificial neural networks help you to group unlabelled data as per the similarities among the inputs. And further, when they have a labeled data set to train on – classification takes place.
Neural Networks encompasses the following components
- Input layer
- Hidden layers (if there are many hidden layers, the Artificial Neural Network is called Deep Neural Network).
- Output layer
- Set of weights and biases between each layer
- A choice of activation function for each hidden layer
How do Neural Networks work?
Let’s understand this with an example. Suppose you have a set of labeled images of diseased and non-diseased crops.
And you need to create a neural network that would classify the two into their respective categories.
Here are the steps that make it happen –
- The image of the crops is broken into pixels. Suppose it is composed of 28*28 pixels. That is a total of 784 pixels.
- These pixels are then represented as matrices to make them eligible to enter the input layer of the neural network.
- The perceptrons of the artificial neural network (or the deep neural network) accept and process the input by passing them from the input layer to the hidden layers and finally to the output layer.
- A random weight is assigned to each input and then the input passes from the input layer to the hidden layer.
- Inputs are then multiplied to their respective weights and their sum is further processed through the network.
- Then, a bias (numerical value) is assigned to each perceptron.
- Each perceptron is then passed through an activation function. This determines whether or not the perceptron gets activated.
- Only an activated perceptron is eligible to transmit data to the next layer.
- Data keeps moving further until the perceptron reaches the output layer.
- It is at the output layer that we receive the result by getting a probability that tells us the class of the data.
But what if the output you get is not the desired one (wrong)?
There are various methods to train neural networks. In cases like these (wrong output), the neural network is trained using a method called – backpropagation method.
Here’s how it works –
In the process of designing an artificial neural network, random weights are assigned. These weights denote the importance of the input variables. Now, if we propagate backward in a neural network, what we are essentially doing is – we are comparing the actual output to the predicted output. Doing this we can readjust the weights (as per the actual output). Thus the error is minimized and we get the more accurate output.
(Most commonly used) Types of Neural Networks (or Artificial Neural Networks)
- Feedforward Neural Networks
These are the first and most common types of neural networks.
Why this name? Because the flow of information in the Feedforward neural networks is unidirectional – it doesn’t go through any loops. They can be further classified into single-layered networks or multilayered networks, depending on whether or not intermediate hidden layers are present.
Note that RNN and CNN are nothing but special cases of Feedforward networks. All of these are mostly used for supervised tasks of machine learning. That means, here, we’re already aware of the (target function) result we want these network to achieve. Also, these networks form the basis of commercial applications such as NLP, computer vision, and more.
2. Recurrent neural networks
Here, there is a recurrence of operations in loops, thus the name – recurrent neural networks. They are more complicated in their structure than the feedforward neural network and thus can perform more complex tasks – text prediction and language generation. However, they have a few limitations. It is not easy to train them and their short-term memory further limits their potential. To overcome this, a newer version called Long Short-term Memory networks are used.
3. Convolutional neural networks
The structure and making of these neural networks are specifically suited to perform complex tasks such as analyzing visual imagery. They contain a 3D arrangement of neurons (instead of the usual 2D). When compared to other algorithms, the pre-processing required here is much lower. Speaking of structure, the first layer is the convolutional layer. This is followed by rectified layer units that power CNN to handle and process complicated information. The main function of these neural networks lies in applications such as machine vision and in self-driving vehicles.
Use cases of Neural Network
The integration of neural networks and deep learning is what makes the following possible.
- Cheque deposits through Mobile
Banks are working on eliminating the need for customers to physically deposit a cheque.
The ability to do so through a smartphone application will soon gain pace. For this, the conversion of handwritings on cheques into text is mandatory. And neural networks ace the process.
- Voice-to-Text Conversion
To convert all that follows your “Ok Google” from voice to text, Google makes use of the artificial neural network. Microsoft too has a speech-recognition system that can transcribe conversations more accurately than humans using neural networks.
- Product recommendation
Amazon leverages artificial neural networks to train its algorithm so that it can learn the pattern/behaviour of its individual users. This is how you see – customers who viewed this item also viewed or customers who bought this item also bought sections when you browse through Amazon.
Limitations of neural networks
- Black Box
Black box, here, means that you do not know why your neural network gave a particular output. And thus in cases where an explanation is needed – this can prove to be a major problem.
For example– Banks do not use a neural network to determine whether a person is creditworthy or not because if the neural network says he/she’s not – the bank needs to give an explanation to their customers.
- Massive amount of data
The neural network requires a massive volume of data to function efficiently. And this can be a problem because not all systems are equipped to handle/process such data.
Neural networks are cost-effective only when complex problems need to be solved. In other cases, the cost outweighs the benefits.
The knowledge of neural networks and deep learning is nothing short of a boon right now. Now that you know what these are, the next step is to leverage the opportunities it brings.
Springboard provides 1:1 mentoring-led and project-based online learning programs for data science, data analytics, and Artificial Intelligence/Machine Learning that are designed to help you make a career transition. The best part is they are industry focussed and come with a job guarantee especially designed for technology enthusiasts, like you.