Deep learning is just a modern name for artificial neural networks (ANN) with many layers. What is deep in deep learning though? It is basically due to the structure of the ANN. ANN consists of some n number of layers to perform any computation. We can build an ANN with several layers where each layer is responsible for learning the intricate patterns in the data. Due to the computational advancements, we can build a network even with 100s or 1000s of layers deep. Since the ANN uses deep layers to perform learning we call it as deep learning and when ANN uses deep layers to learn we call it as a deep network. We have learned that deep learning is a subset of machine learning. How does deep learning differ from machine learning? What makes deep learning so special and popular?
The success of machine learning lies in the right set of features. Feature engineering plays a crucial role in machine learning. If we handcraft the right set of features to predict a certain outcome, then the machine learning algorithms can perform well, but finding and engineering the right set of features is not an easy task.
With deep learning, we don’t have to handcraft such features. Since deep ANNs employ several layers, it learns the complex intrinsic features and multi-level abstract representation of data by itself.
Let’s explore this a bit with an analogy. Let’s suppose we want to perform an image classification task. Say, we are learning to recognize whether an image contains a dog or not. With machine learning, we need to handcraft features that help the model to understand whether the image contains a dog. We send these handcrafted features as inputs to machine learning algorithms which then learn a mapping between the features and the label (dog). But extracting features from an image is a tedious task. With deep learning, we just need to feed in a bunch of images to the deep neural networks, and it will automatically act as a feature extractor by learning the right set of features. As we have learned, ANN uses multiple layers; in the first layer, it will learn the basic features of the image that characterize the dog, say, the body structure of the dog, and, in the succeeding layers, it will learn the complex features. Once it learns the right set of features, it will look for the presence of such features in the image. If those features are present then it says that the given image contains a dog. Thus, unlike machine learning, with DL, we don’t have to manually engineer the features, instead, the network will itself learns the correct set of features required for the task.
Due to this interesting aspect of deep learning, it is substantially used in unstructured datasets where extracting features are difficult, such as speech recognition, text classification, and many more. When we have a fair amount of huge datasets, deep learning algorithms are good at extracting features and mapping the extracted features to their labels. Having said that, deep learning is not just throwing a bunch of data points to a deep network and getting results. It’s not that simple either. We would have numerous hyperparameters that act as a tuning knob to obtain better results which we will explore in the upcoming articles.
Although deep learning performs better than conventional machine learning models, it is not recommended to use DL for smaller datasets. When we don’t have enough data points or the data is very simple, then the deep learning algorithms can easily overfit to the training dataset and fail to generalize well on the unseen dataset. Thus, we should apply deep learning only when we have a significant amount of data points.
The applications of deep learning are numerous and almost everywhere. Some of the interesting applications include automatically generating captions to the image, adding sound to the silent movies, converting black-and-white images to colored images, generating text, and many more. Google’s language translate, Netflix, Amazon, and Spotify’s recommendations engines, and self-driving cars are some of the applications powered by deep learning. There is no doubt that deep learning is a disruptive technology and has achieved tremendous technological advancement in the past few years.