Deep Learning : What, Why and Applications

Deep Learning
Fig.1: Deep Neural Network Architecture [8]

Big companies like GoogleFacebook, Intel, IBM, etc. are investing huge on Artificial Intelligence and Machine Learning. Deep Learning (DL) is a specialised type of machine learning. Deep Learning is about learning multiple levels of representation and abstraction that help to make sense of data such as images, sound, and text. People might be excited to learn about, What is DL? Why DL? and What are the different applications of DL? We thought to write an article which answers these questions.

Deep Learning

Deep Learning is based on Deep Neural Network (DNN). DNN is an Artificial Neural Network (ANN) with more number of hidden layers of units between the input and output layers. A simple architecture of Deep Neural Network is given in Fig.1. It is same as Conventional Neural Network but it has more number of hidden layer.

The deep in deep learning refers to having many levels of hidden layers in a neural network. Generally, if there are more than 2 hidden layers (or number of layers is more than 3), it is considered deep learning. Learning is similar to ANN but with more hidden layers. How DNN learn patterns is nicely explained in “Why DL?” section of this article.

DNNs can model complex non-linear relationships in a better way than ANN. Deep Learning with Deep Neural Network Provides best solution to many problems in speech recognition, image recognition and in natural image processing.

Types of Deep Neural Networks

1. Stacked Autoencoder Network

As per the deep neural network (DNN), it consist of multiple hidden layers of units between the input and output layers. This hidden layer working as a Stacked Autoencoders. Autoencoder is a nonlinear feature extraction method without using class labels. This network mostly learns using unsupervised manner. It is trained using greedy layer-wise training procedure.

2. Deep Belief Network

Deep belief network is a probabilistic generative model contains many layer of hidden variable. Each layer captures higher order correlation between the activities of hidden feature present in a layers below in Deep belief network. Mostly, Top two layer in Deep belief network (DBN) are undirected bipartition graph, which is called Restricted Boltzmann Machine. The Lower layer it typically contains a directed sigmoid belief network.

3. Deep Convolutional Network

Convolutional Neural Networks (CNN) is biologically-inspired variants of MLPs. It is a special class of feed forward network that are very suitable for image processing related task. A Convolutional Neural Network (CNN) is comprised of one or more convolutional layers with a sub-sampling layer and then followed by one or more fully connected layers as in a standard multilayer neural network. One more advantage is training of CNN is easier to another network.

Why Deep Learning?

In the past decades, neural network has been used for classification or recognition of object present in an image or video. It was using back-propagation or gradient descent learning for weight adjustment in neural network. But sometimes it is very difficult to learn very complex information in an image or video. So it’s could not give good result for various image processing task.

DL is a new area for machine learning. It uses representation learning for multiple level of representation. It transforms representation at one level (Raw input) into a representation at higher (more abstract) level. Deep learning learns a network level by level. So it can learn more complex function very easily.

For example, an image contain array of pixel values, and the learned features in the first layer of representation typically represent the presence or absence of edges at particular orientations and locations in the image.

Deep Learning
Fig.2 – Performance Vs. Volume of Data

The second layer typically detects particular arrangements of edges, regardless of small variations in the edge positions. The third layer may assemble parts of familiar objects, and subsequent layers would detect objects as combinations of these parts. The key aspect of deep learning is that these layers of features are not designed by human engineers they are learned from data using a general-purpose learning procedure.

With recent improvements in GPU technology a learning of network can be done very efficiently in parallel. Therefore, training a deep network is not as time consuming. This is one of the reasons why deep learning is gaining important. Figure-2 shows that performance of deep learning is much better than non-deep learning algorithm. In addition, it is automatically do the feature extraction. Therefore Deep Learning is so much popular in many important applications.

Applications of Deep Learning

Deep learning is impacting everything from healthcare to transportation to manufacturing, and more. Companies are turning to deep learning to solve hard problems, like speech recognition, object recognition, and machine translation. Major application areas are:

Language Modelling

Speech Recognition, Machine Translation, Mobile authentication

Acoustic Modelling

Speech Recognition, Music modeling

NLP Syntactic/Semantic Tagging

Part‐Of-Speech, Chunking, Named Entity Recognition, Semantic Role Labeling, Parsing, Text Understanding

NLP Applications

Sentiment analysis, Paraphrasing, Question-answering, Word‐Sense Disambiguation

Object Recognition

Photo search and image search, handwriting recognition, document analysis, handwriting synthesis, superhuman traffic sign classification, street View house numbers, emotion detection from facial images, Scene Labeling, age estimation, hand segmentation and pose estimation, gesture recognition, Video Classification, action recognition from video, Grasp Detection.

Useful Resources

  1. Deep Learning by Yoshua Bengio, Ian Goodfellow and Aaron Courville

  2. Neural Networks and Deep Learning by Michael Nielsen

  3. Deep Learning Tutorial by LISA lab, University of Montreal

  4. Deep Learning in Neural Networks: An Overview

  5. Theano ( Python CPU / GPU ) mathematical and deep learning library,

  6. Torch ML Library (C++)