Introduction to Deep Learning - GeeksforGeeks

15 Apr, 2019
What is Deep Learning?Deep learning is a branch of machine learning which is completely based on artificial neural networks, as neural network is going to mimic the human brain so deep learning is also a kind of mimic of human brain. In deep learning, we don’t need to explicitly program everything. The concept of deep learning is not new. It has been around for a couple of years now. It’s on hype nowadays because earlier we did not have that much processing power and a lot of data. As in the last 20 years, the processing power increases exponentially, deep learning and machine learning came in the picture.A formal definition of deep learning is- neurons
Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as a nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.
In human brain approximately 100 billion neurons all together this is a picture of an individual neuron and each neuron is connected through thousand of their neighbours.The question here is how do we recreate these neurons in a computer. So, we create an artificial structure called an artificial neural net where we have nodes or neurons. We have some neurons for input value and some for output value and in between, there may be lots of neurons interconnected in the hidden layer.
Architectures :
Deep Neural Network – It is a neural network with a certain level of complexity (having multiple hidden layers in between input and output layers). They are capable of modeling and processing non-linear relationships.Deep Belief Network(DBN) – It is a class of Deep Neural Network. It is multi-layer belief networks.Steps for performing DBN :a. Learn a layer of features from visible units using Contrastive Divergence algorithm.b. Treat activations of previously trained features as visible units and then learn features of features.c. Finally, the whole DBN is trained when the learning for the final hidden layer is achieved.Recurrent (perform same task for every element of a sequence) Neural Network – Allows for parallel and sequential computation. Similar to the human brain (large feedback network of connected neurons). They are able to remember important things about the input they received and hence enables them to be more precise.
Deep Neural Network – It is a neural network with a certain level of complexity (having multiple hidden layers in between input and output layers). They are capable of modeling and processing non-linear relationships.
Deep Belief Network(DBN) – It is a class of Deep Neural Network. It is multi-layer belief networks.Steps for performing DBN :a. Learn a layer of features from visible units using Contrastive Divergence algorithm.b. Treat activations of previously trained features as visible units and then learn features of features.c. Finally, the whole DBN is trained when the learning for the final hidden layer is achieved.
Recurrent (perform same task for every element of a sequence) Neural Network – Allows for parallel and sequential computation. Similar to the human brain (large feedback network of connected neurons). They are able to remember important things about the input they received and hence enables them to be more precise.
Difference between Machine Learning and Deep Learning :
Working :First, we need to identify the actual problem in order to get the right solution and it should be understood, the feasibility of the Deep Learning should also be checked (whether it should fit Deep Learning or not). Second, we need to identify the relevant data which should correspond to the actual problem and should be prepared accordingly. Third, Choose the Deep Learning Algorithm appropriately. Fourth, Algorithm should be used while training the dataset. Fifth, Final testing should be done on the dataset.
Tools used :Anaconda, Jupyter, Pycharm, etc.
Languages used :R, Python, Matlab, CPP, Java, Julia, Lisp, Java Script, etc.
Real Life Examples :
 How to recognize square from other shapes?
...a) Check the four lines!
...b) Is it a closed figure?
...c) Does the sides are perpendicular from each other?
...d) Does all sides are equal?

So, Deep Learning is a complex task of identifying the shape and broken down into simpler 
tasks at a larger side.

 Recognizing an Animal! (Is it a Cat or Dog?)
Defining facial features which are important for classification and system will then identify this automatically.
(Whereas Machine Learning will manually give out those features for classification)

 How to recognize square from other shapes?
...a) Check the four lines!
...b) Is it a closed figure?
...c) Does the sides are perpendicular from each other?
...d) Does all sides are equal?

So, Deep Learning is a complex task of identifying the shape and broken down into simpler 
tasks at a larger side.

 Recognizing an Animal! (Is it a Cat or Dog?)
Defining facial features which are important for classification and system will then identify this automatically.
(Whereas Machine Learning will manually give out those features for classification)
 How to recognize square from other shapes?
...a) Check the four lines!
...b) Is it a closed figure?
...c) Does the sides are perpendicular from each other?
...d) Does all sides are equal?

So, Deep Learning is a complex task of identifying the shape and broken down into simpler 
tasks at a larger side.


 Recognizing an Animal! (Is it a Cat or Dog?)
Defining facial features which are important for classification and system will then identify this automatically.
(Whereas Machine Learning will manually give out those features for classification)
Limitations :
Learning through observations only.The issue of biases.
Learning through observations only.
The issue of biases.
Advantages :
Best in-class performance on problems.Reduces need for feature engineering.Eliminates unnecessary costs.Identifies defects easily that are difficult to detect.
Best in-class performance on problems.
Reduces need for feature engineering.
Eliminates unnecessary costs.
Identifies defects easily that are difficult to detect.
Disadvantages :
Large amount of data required.Computationally expensive to train.No strong theoretical foundation.
Large amount of data required.
Computationally expensive to train.
No strong theoretical foundation.
Applications :
Automatic Text Generation – Corpus of text is learned and from this model new text is generated, word-by-word or character-by-character.Then this model is capable of learning how to spell, punctuate, form sentences, or it may even capture the style.Healthcare – Helps in diagnosing various diseases and treating it.Automatic Machine Translation – Certain words, sentences or phrases in one language is transformed into another language (Deep Learning is achieving top results in the areas of text, images).Image Recognition – Recognizes and identifies peoples and objects in images as well as to understand content and context. This area is already being used in Gaming, Retail, Tourism, etc.Predicting Earthquakes – Teaches a computer to perform viscoelastic computations which are used in predicting earthquakes.
Automatic Text Generation – Corpus of text is learned and from this model new text is generated, word-by-word or character-by-character.Then this model is capable of learning how to spell, punctuate, form sentences, or it may even capture the style.
Healthcare – Helps in diagnosing various diseases and treating it.
Automatic Machine Translation – Certain words, sentences or phrases in one language is transformed into another language (Deep Learning is achieving top results in the areas of text, images).
Image Recognition – Recognizes and identifies peoples and objects in images as well as to understand content and context. This area is already being used in Gaming, Retail, Tourism, etc.
Predicting Earthquakes – Teaches a computer to perform viscoelastic computations which are used in predicting earthquakes.
Co-author of this article : ujjwal sharma 1
bhargav kanakiya
ayushgangwar
Machine Learning
Misc
Misc
Misc
Machine Learning
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
ML | Linear Regression
Activation functions in Neural Networks
Introduction to Recurrent Neural Network
Support Vector Machine Algorithm
Python | Decision tree implementation
Top 10 algorithms in Interview Questions
vector::push_back() and vector::pop_back() in C++ STL
Overview of Data Structures | Set 1 (Linear Data Structures)
How to write Regular Expressions?
Minimax Algorithm in Game Theory | Set 3 (Tic-Tac-Toe AI - Finding optimal move)