Deep Learning is a field that belongs to (or a subset of)Machine Learning. Deep Learning is a field technique that mimics the human brain. It is a way of classifying, predicting things by using a neural network that has been trained on large amounts of data. Deep Learning Concept was inspired by the human brain. Today we will see about the history, techniques, and future scope of deep learning.

## History of Deep Learning

Deep Learning came into the existence during the year 1943 when two computer scientists Warren McCulloch and Walter Pitts created a computational model for neural networks using mathematics and algorithms. Then in the year 1958, Frank Rosenblatt has created a concept of the perceptron, and also came up with the idea of layers of nodes just like the neurons present in the human brain. In the year 1960, the concept of backpropagation was introduced by Henry J. It is the process of tuning the mathematical weights to improve the accuracy of the output. In the year 1965 multi-layer neural networks came into the existence by Alexey Grigoryevich and in the year 1971, Alexey Grigoryevich has created an 8 layer deep neural network.

In 1980, Kunihiko Fukushima came up with the idea of Neocognitron, the first neural network architecture. In 1989, scientists were able to create deep neural networks but were impractical for real-world use as training times of the system took many days to be measured. In 1992, Juyang Weng came up with Cresceptron(self-organizing neural networks) Cresceptron helped identify 3-D objects. In 2006, the term deep learning became popular after Geoffrey Hinton and Ruslan Salakhutdinov showed how a multi-layered neural network could be pre-trained one layer at a time. In 2012, Google has created a deep algorithm for identifying cats. In 2016, Google's Deep Mind mastered chess and beat professional chess player Lee Sedol who was conducting a tournament.

## Deep Learning Techniques

Deep Learning provides various techniques but in this article, we are confined to ANN(Artificial Neural Network), CNN(Convolutional Neural Networks), and RNN(Recurrent Neural Networks). Before going to deep learning techniques we need to understand neural networks. Neural Networks are the same as the network of neurons present in a human brain. We use neural networks to classify or predict.

### Artificial Neural Network(ANN)

Artificial neural networks are also called Feed-Forward Neural networks. Artificial neural networks(ANNs) provide a general, practical method for learning real-valued, discrete-valued, and vector-valued target functions. It is one of the popular deep learning techniques. An Artificial Neural Network is a group of multiple perceptrons at each layer of the neural network. Artificial Neural Networks consist of an input layer, hidden layer, and output layer. Applications of Convolutional Neural Networks are Signature Verification Application, Object Detection, Speech Recognition, etc.

#### Advantages of Artificial Neural Networks

1) Artificial Neural Networks are fault-tolerant i.e even if one of the neurons present in the network does not function properly it does not affect the output.

2) Artificial Neural Networks can learn events and make decisions accordingly.

3) Long training times are acceptable.

4) The training examples may contain errors.

#### Disadvantages of Artificial Neural Networks

1) when Artificial Neural Network provides a solution, it does not provide a clue as to why and how.

2) Artificial Neural networks require processors with parallel processing power, so the realization of the equipment is dependent.

3) The network is reduced to a specific value of the error, and this value does not give us optimum results.

### Convolutional Neural Networks(CNN)

Convolutional Neural Network is one of the popular deep learning techniques. Convolutional Neural Network can be used to analyze images and videos. Convolutional Neural networks can also be called as ConvNet. Convolutional Neural Network consists of multiple layers of artificial neurons. Applications of Convolutional Neural Networks are Image Classification, Object Detection, Face Recognition, etc.

#### Advantages of Convolutional Neural Networks

1) Convolutional Neural Networks filter images implicitly. This helps in extracting the right and relevant input data.

2) Convolutional Neural Networks use spatial features. Using spatial features we can detect images accurately.

3) Image Classification performed by Convolutional Neural networks is more accurate when compared to Artificial Neural Networks.

#### Disadvantages of Convolutional Neural Networks

1) Training data required is humongous

2) Convolutional Neural Network is prone to overfitting.

3) Convolutional Neural Network doesn't specify the orientation of an object.

### Recurrent Neural Network (RNN)

A recurrent Neural Network is a deep learning technique that deals with sequential types of data. In this deep learning technique, the output of the previous step is considered to be as input for the next step. To utilize the previous step's output Recurrent Neural Network has a memory that stores the output of the previous step. Applications of Recurrent Neural Networks are Sequence Classification, Video Classification, Speech Recognition, etc.

#### Advantages of Recurrent Neural Networks

1) As Recurrent Neural Networks have memory, It is useful in time predictions. This is called Long Short Term Memory

2) Recurrent Neural Networks are used in Convolutional Neural Networks to extend the effective pixel neighborhood.

3) Recurrent Neural Networks can process inputs of any length.

#### Disadvantages of Recurrent Neural Networks

1) Training a Recurrent Neural Network is a tedious task.

2) Due to its recurrent nature, Recurrent Neural Network has low performance or computational speed.

3) Prone to problems such as exploding and gradient vanishing.

## Future Scope of Deep Learning

Deep Learning is one of the fields which is going to rise within 5-10 years. Deep Learning has a lot of applications like Banking Applications, Self Learning Cars, Fraud Detection, etc. It is estimated that Deep Learning offers a huge amount of job opportunities. It is estimated that a Deep Learning Engineer earns around 136,924$ per year as of 2022, this amount is estimated to rise soon as there will be a lot of advancements in the Deep Learning field.