Deep learning landscape

Deep learning landscape: Going on a deep learning adventure

Before you read it this article has also been published at click here


deep learning

​ credits :forbes images

Well most of us are already familiar with the idea of what deep learning is if not, then let’s quickly remind our self what it is.

Deep learning is a sub field of a much broader filed called machine learning , basically when our computer does something for us which is similar to something which only a human brain can do is called deep learning .

Deep learning models can do complex tasks from image classification to completing sentences for us, and with the recent development in the field the it has gone to producing deep fakes (of anyone) some more breakthroughs in 2019.

As we mentioned earlier that deep learning was a subset of machine learning , so what exactly is machine learning let’s see

difference between AI, machine learning, and deep learning

​ credits:geo spaitial media


WHEN TO USE DEEP LEARNING


So now the question is when should we use deep learning for our tasks and how will we implement it ? and is it the answer for all our questions ? Is it really capable of doing everything or it too have some limitations?

Demystifying Deep Learning and Artificial Intelligence – The New Stack

​ credits: the news stack

Machine learning has been around for long that is how google always knew how to sort the web pages and how to only show the most relevant pages on top. **Traditional machine learning ** still with many advancements it require a lot of human intervention and a lot more work needs to be done in making the normal machine learning algorithm to adapt to even similar looking tasks.

We're (data) hungry: the importance of Big Data for the subsea industry -  Abyssal

​ credits:abyssal

This is where deep learning slides in it requires least human interactions and most of the deep learning algorithms are good at adapting like a human brain. Complex problems and data also plays an important part in this , where old machine learning is not equipped to handle complex problems like recognizing faces which requires a huge dataset (sometimes of millions of data points) , deep learning algorithms can handle it quite smoothly. But with larger data we also need more computation power which is expensive in nature .

An example- When we will classify dogs and cats using deep learning technique like neural nets there is no need for a programmer to intervene to write code or select the variable required to make the difference , our model will automatically do that for us , but we will require a dataset to train our model on.

Deep learning cannot be used for every problem it is not the ultimate answer to everything. Some common drawbacks are:-


How deep learning works


Neural Networks From Scratch - victorzhou.com

​ credits:victorzhou

Deep learning models are made up of many layers of nodes , which is called a neural network . Just like a human brain has neurons to transmit the data here we have nodes which work similar to as that of neurons.

A neural network is a series of algorithm which work to find relationships between the data provided and to find useful patterns just like a human brain. In an artificial neural network the interconnected layers of neurons perform mathematical calculations ,for finding meaningful information and relations in our data. They are used as decision making tools which can model complex relation between input and output and mold its structure based on those relations. Artificial neurons were first proposed in 1943 by Warren McCulloch, a neurophysiologist, and Walter Pitts, a logician, who first collaborated at the University of Chicago.

In a neural network each node to the next node has a link which is a mathematical function ,where each link has a weight which determines it’s influence on the next node. It’s done by first getting the weighted sum of the inputs and then adding bias to it so that we may get the activation of the next node. These activations are used to then determine the outputs of our neural network.


DIFFERENT DEEP LEARNING NETWORKS


Convolution Neural Networks (CNN) :- CNN - Image Classification

​ credits:analytics vidhya

These types of neural nets are mostly used in image and video processing , CNN learns automatically without giving specific commands ,these feature of good data extraction from input data makes it suitable for image processing models. These type of neural networks use convolution in place of general matrix multiplication in at least one of their layers.

Recurrent Neural Network (RNN) :-

Figure 7: Representation of a recurrent neural network (RNN)

​ credits:medium

In RRN’s the output from the previous step is taken as inputs for the current step. Here neurons in the hidden layer receive input with a certain delay in time , so this neural net is used where there are certain iteration in information. It is prevalent in most of the time series analysis because it can remember previous inputs also, and also text completion models.

Auto Encoder (AE):-

Figure 10: Representation of an autoencoder (AE) network.

​ credits:medium

An autoencoder is a type of neural net where the network learns in an unsupervised manner .These type of neural nets try to copy the input to the output , where they have the input cells greater than the hidden cells and usually the input cells is equal to the output cells. It is mainly used in classification and feature compression problems.

Generative Adversarial Network (GAN):-

Figure 22: Representation of a Generative Adversarial Network (GAN)

​ credits:medium

GAN’s are used to create new data using the data on which our model is trained. It is one of the most interesting aspects of deep learning that something new can be created . Example - if we train our network on a dataset of something specific it can somehow create something that looks similar to the ones we trained our model on.

References :