Machine learning is one of the fastest-growing and most exciting fields out there. With massive amounts of computational power, machines can now recognize objects and translate speech in real time. Artificial intelligence is finally getting smart. And this all is happening just because of deep learning.
But here, a question may arise that when machine learning is present then why we need deep learning?
Actually, Machine Learning has its own limitation like
- It is not useful while working with high dimensional data, that is where we have large number of inputs and outputs.
- It cannot solve crucial Artificial Intelligence problems like NLP(Neuro-Linguistic Programming), image recognition etc.
- And one of the big challenges with traditional machine learning models is a process called feature extraction i.e.,building derived values(features intended to be informative and non-redundant) from initial set of measured data.
So here deep Learning comes to rescue
- deep learning models are capable to focus on the right features by themeselves, requiring little guidance from the programmer.
- these models also partially solve the dimensionality problem.
We can say that deep learning represents true bleeding edge of machine learning.
Now lets see what the deep learning actually is
Deep Learning is a branch of machine learning which is about learning multiple levels of representation and abstraction that help to make sense of data such as images, sound, and text. It is completely based on artificial nueral network. And as neural network is going to mimic human brain so deep learning is a kind of mimicring the human brain and the idea behind deep learning is to build learning algorithms that mimic brain. It includes learning in supervised ( like classification) and/or unsupervised (like pattern analysis) manners.Also, deep Learning addresses the problem of learning hierarchical representations with a single algorithm or perhaps with a few algorithms.
Deep learning is implemented with the help of Neural netwoks and the idea or motivation behind the Neural networks is nothing, just biological neuron. Basically, deep learning works with the help of deep network(neural networks with multiple hidden layers) in which each layer of nodes train on a distinct set of features based on the previous layer’s output. It use some form of gradient descent for training via backpropagation(backward propagation of errors). Complexity of the features, which the node can recognize, increases as per the advancement increase into the neural net.
Now for working with Deep Learning we need a basic structure underlying a related system and concepts. So following are the Deep Learning frameworks/libraries
- Tensorflow, python based and developed by the Google Brain team.
- Keras, written in Python and is very lightweight.
- Caffe, C++ library developed by Berkeley Vision and Learning Center.
- PyTorch, a python package for building deep neural networks and performing complex tensor computations.
- Deeplearning4j or DL4J, developed in Java.
- Theano, python library that makes writing deep learning models easy, and gives the option of training them on a GPU.
- Lasagne, lightweight library to build and train neural networks in Theano and supports Convolutional Neural Networks (CNNs).
Deep learning has an objective of moving machine learning closer to its goal i.e., Artificial Intelligence and it has enabled many practical applications of Machine Learning by extension of overall field of AI like
- Self driving cars.
- Automatic image caption generation.
- Automatic machine translation.
- Voice controlled assistance.
- Automatic Game Playing.
- Automatic Handwriting Generation.
- Restore colors in black & white photos and videos.
And it can be used in future prediction too like MIT’s deep-learning system generates videos that predict what will happen next in a scene.Isn’t it cool? yes, of course it is. Also, deep Learning is one of the most highly sought after skills in tech.
We all know about the miracles and capabilities of Deep Learning but now let’s have a look on some of the limitation of Deep Learning too.
- Deep Network requires a huge computing power and time to train.
- Not interpretable results due to complexity of hidden layers of deep network.
- It is expensive too, to train deep neural networks.
- Can not add reasoning capabilities.