Have you ever wondered how Google Translates a whole webpage to a different language in a few seconds? or Photo gallery of your smartphone classifies and groups images according to location? These are all about deep learning.
What is deep learning?
Deep learning is a part of machine learning or we can say deep learning is basically a subset of machine learning and machine learning is a subset of AI or artificial intelligence . A machine can act as a human behavior with the help of artificial intelligence technique. Machine learning is a process to achieve Artificial intelligence through algorithms which are trained and learned with a data set and deep learning is a type of machine learning inspired by the behavior and structure of the human brain. In terms of deep learning, this structure is called ANN or artificial neural network.
Now we can focus on how deep learning is different from machine learning? Lets go ahead, let’s say a machine that can differentiate between tomatoes and cherries. If we use machine learning to identify differences between tomatoes and cherries. We will have to feed the machine with the features based on which the two fruits can be classified. And the features can be the shape, size and the type of stem on them etc. With deep learning on the other hand, the features are fed through the neural network without any help of human action. A high volume of data sets are needed to feed a neural network to train a machine.
Now comes the neural network and how it works . If we ask some students to write down the digit 9 on a piece of paper. It is very natural that they will not write the digit 9 in the same style, and the human brain can easily recognize the digits 9 written by all students but what would happen if a machine had to recognize them? Now arise a question. where does deep learning come in use?
Here is given a neural network which is trained to identify handwritten digits. Here each number is presented as an image of 28×28 pixels. So the total of 784 pixels for each image. Actually neurons are the core component of a neural network where the information processing takes place. Each of the 784 pixels is fed into 784 neurons in the first layer of the neural network. The first layer takes input so the first layer is the input layer. We have the output layer with 10 neurons and each neuron representing a digit (0 – 9) and some hidden layers exist between the input and output layer. Information is transmitted from one layer to another layer over connecting channels. Each of the channels has a value attached to it which is called a weight of a channel. And each neuron has a unique number called bias. In the first layer, each neuron is fed with a single pixel of 784 pixels and weighted by its channel weight. That means all input 784 pixels are fed to 784 neurons in the first layer. A bias is added to the weighted sum of all inputs reaching that neuron which is then applied to a function known as the activation function. The result of the activation function determines if that neuron gets activated or not. Basically activation of neurons in one layer determines the activation of neurons in the next layer. Each activated neuron passes information to the next consecutive layer. The neuron activated in the output layer corresponds to the input digit. The weights and biases are continuously adjusted until the neuron activated in the output layer matches the actual input digit. And that is the way a neural network model is well-trained .
Some ideas about the application of deep learning ?
In customer Support when people make a conversation with customer support agents. The conversation seems so real that the customers don’t even realize that it’s actually a bot on the other side.
In the field of healthcare technology, deep learning models can identify cancer cells and so do analyze MRI images to give detailed results.
Self-driving cars is also a nice application of deep learning. Self driving cars seem like a real driver is driving the car but it is deep learning of neural networks model which is trained such a way. Big companies like Apple Tesla and Nissan are working on self-driving cars.
Deep learning is a rising topic nowadays although it has some major limitations. The major challenges on the way to deep learning are as follows:
Massive data volume:
Massive volume of unstructured data is one of the great challenges in the way to train a model. It is not always easy task to collect and classify such a high volume of data.
High computational power:
Ok fine , let’s assume we have access to such a high volume of data, but where is such a high computational power of a machine? So deep learning requires a high computational power which is very expensive. Training a neural network requires graphical processing units (GPUs) which have much better computational and graphical processing power as compared to CPUs . And of course GPUs are more expensive than CPUs.
Finally we can consider the third limitation which is training time to achieve a generalization. Deep neural networks require a long time span i.e. hours or even months to train a model. Time span depends on the volume of data and number of hidden layers a model uses.
There are some popular deep learning Frameworks for example, Tensorflow, Pytorch, Keras, DL4J Caffe and Microsoft cognitive toolkit. If we consider the future of deep learning and Artificial Intelligence, we have not yet discovered the power and real magic of Deep learning and AI even if we think we are just staying on the surface of AI, deep learning technology although Artificial intelligence already has a solution for blind people helping them to see the world. Replicating the human mind at the entirety maybe not just an episode of Science Fiction for too long. The future is indeed full of surprises and that is deep learning for you ensured.