Let's go to uncomfort zone

Saturday, 18 November 2017

Deep Learning explained

Many people say that computers can never be at level of humans, but it does not seems true. You can look around how some great people like Elon Musk, Bill Gates, Stephen Hawking and Mark Zuckerberg are talking about AI. There is a big contribution of deep learning for making robots(or computers) as capable as humans in all fields. You see every day that Youtube shows videos related to your favorite topic on your homepage even if you have not subscribed those channels, this is possible because of deep learning.

When machine learning is done by learning from examples(or data ex. images, text) without getting taught then it is called deep learning. Deep learning models use neural networks that's why it is also referred as Deep Neural Networks(DNN). The main difference between DNN and traditional neural networks is that Deep Neural Networks have so many input layers and traditional neural networks have very few.

Let's understand Deep Learning in four pieces:
1. How Deep Learning is different from ML and AI
2. Where deep learning is used?
3. Researches on deep learning.
4. How to get started with deep learning?


1. How Deep learning is different from Artificial Intelligence and Machine Learning.


This image explains the main difference between deep learning, machine learning and Artificial intelligence. Let’s look at their definitions to be more clear.

Artificial Intelligence means, “Intelligent Machine” which can work somewhere like human beings. In Artificial Intelligence machine works for some task that is predefined through some kind of algorithm and programming. In our daily life we use AI in different ways, but we never think about it.

Machine Learning derives from AI. As human learns something new daily same as we have intelligent machines but as technology groves machine also has to learn new things called Machine learning. Machine learning is used that algorithms that get data and convert that data to learn.

Deep Learning derives from Machine Learning, in machine learning after some research deep learning arrives. Deep learning is like learn something new on your own. i.e. in deep learning machine learns on its own through its own algorithm and computing work. For this machine uses its own brain is also known as “Deep Neural Network”. Same as human brain and our nervous system. Deep learning works on data representation. Data maybe either supervised or sometimes partly supervised and partly unsupervised. We give input data to neural network and it processes the data through so many layers of artificial neurons which decide whether it should be passed to next layer or not.




I hope you understood difference between them, Deep Learning is quite different than ML and AI.


2. Where deep learning is used?


Deep learning since it evolved, it solved various problems across the various industries.It is getting used in many areas.To name few Voice Recognition,Computer vision and pattern recognition,Mobile Advertising,Robotics,Self driving cars,Customer Relationship management etc.

Let me explain 2 easily understandable uses.

(a) Self Driving Cars
(b) Customer Relationship management
 

(a) Self Driving cars:

The imagination which is under implementation to become reality very soon using deep learning is “A family will be having a car which drives itself and take care of family needs of transportation. It will safely drop and pick people to office .It automatically checks family schedules like kids school time ,dance or sports classes etc and pick and drop them.”
   Self driving car will drive safely by recognizing traffic signals (stop or move). It will detect itself if any pedestrians are passing by. It distinguishes different objects.


Tesla,Google and Alphabet are few players in this field.

(b) Customer Relationship Management(CRM)

CRM which uses deep learning  can be used in almost all industries to learn the customer behaviours like why they are purchasing the product or the reasons they are stopping the usage of particular service  etc.So that the company can prevent the churn or provide better products and increase customer satisfaction. 

 
This graph shows how deep learning increased accuracy in machine learning and AI.
 
3. Researches on deep learning.

Deepmind:
Do you know that recently one AI taught itself to walk? The AI was developed by a company named Deepmind which is aquired by Google in 2014. Deepmind want to solve intelligence, they made several deep neural networks. You can read about Deepmind's famous AI AlphaGO on the Internet, AlphaGO plays GO(a Game).

Hanson Robotics:
Hanson Robotics is a company founded by Dr. David Hanson. It makes human like robots. Their latest robot is Sophia who got citizenship of Saudi Arabia in 2017(October). If you want to know more about sophia then you can watch our Youtube video by clicking here. Albert Einstein HUBO is one another robot developed by hanson robotics. It's impossible to make robots like this without deep neural networks.

FAIR:
FAIR is AI research team of Facebook, they are working to develop AI more in communication field. Recently the bots developed by FAIR created their own language for better conversation and most interesting thing is that the language was created accidentally(haha). This is also done by deep neural networks. In future we will see so many interesting features in Facebook developed by FAIR.

There are so many researches are being conducted on deep neural networks in institutes like MIT and Stanford.


4. How to get started with deep learning?

Before start learning something advanced in computer field we should always consider about prerequisites and resources. Before talking about them I want you to ask these two questions to yourself - Why do you want to learn it? Will you stick to it?. Because it's a very broad area, you cannot learn it like you learned a programming language.
  

Prerequisites:
(a) You should have good knowledge of a programming language. Python will be best programming language for deep neural networks. Python can be learned in very less time for C/C++ and JAVA programmers. 

(b) Good knowledge of calculus, linear algebra, statistics and linear algebra is necessary for deep learning. Don't worry if you don't have knowledge of too much mathematics, you can learn it in very less time if you know how to learn in smart way.
(c)obviously, knowledge of Machine Learning(ML) is needed to learn deep learning. At least you should have basic knowledge of ML which is given by some online tutorials. 
(d) optional- you can do so many interesting stuffs using deep learning with knowledge of MATLAB or computer vision library like OpenCV.
 
If you are not good at any of these prerequisite [LOL for me :) ] , don't worry you can learn all of them well enough in 11 to 12th, if you learn smartly.
  

Resources: 
Beginners should always learn from online resources(specially videos) instead of directly learning from books, because it will be beneficial financially and also it saves time.
(a) Intro to Deep Learning (Udacity Nanodegree) by Siraj Raval
(b) coursera.org and udacity.com
After completing courses on udacity and coursera you will be very good at deep learning and don't worry , Stackoverflow is always with you.
(c) Deep learning libraries:
click here to see suggested libraries for python by pyimagesearch.com. you can use Tensorflow library also with C++. For java programmers there is a one library called Deeplearning4j.
(d) Books and other resources
- Stanford CS231n (Convolutional Neural Networks)
- Book: Learning TensorFlow: A Guide to Building Deep Learning Systems
        
Was this article helpful? we are curious to know, please comment and tell us. Happy learning :). If you found this article helpful then keep visiting calloftechies.com, We love Artificial Intelligence.


Wanna read: How to get started with AI.

1 comment: