# Learn Deep Learning with Udacity

*Nanodegree Program on Deep Learning*

“ **The world’s most valuable resource is no longer oil, but data” why**?

The answer is simple. we are dealing with data more than oil in our day to day routine. As per Forbes, there are 2.5 quintillion bytes of data created each day at our current pace, but that pace is only accelerating with the growth of the Internet of Things (IoT-2018 report). With this new phase, an era is changing with technology such as Big Data, Machine Learning, Deep Learning, Blockchain, etc. Today AI is changing the world in every aspect of life. The market for AI is flourishing. It involves a variety of technologies & tools such as Machine Learning, Deep Learning, Natural language Generation, Speech Recognition, Virtual Agent, Text Analysis with NLP, Robotics Automation, etc.

**Variety of online platforms are available for learning these technologies. Famous platforms are ****Udacity****, ****Coursera****, ****Edx****, etc.** Among these platforms, Udacity is famous for its Nanodegree’s. Today I will talk about **Udacity’s Deep Learning Nanodegree program.**

*The first question is Why Deep Learning?*

Deep Learning is the subset of machine learning which utilizes the hierarchical level of an artificial neural network to carry out the process (inputs, weights, bias, etc) of machine learning.

This Nanodegree is made with the famous facebook’s AI library called **“****PyTorch****”- An open-source machine learning framework** that accelerates the path from research prototyping to production deployment.

PyTorch is based on the Torch library, used for applications such as computer vision and natural language processing. It is primarily developed by Facebook’s artificial intelligence research group. with this Nanodegree, you can build models for image Classification & generation, Time series prediction & Model Deployment.

*Let’s Dive into basic’s of deep learning for this nanodegree.*

**What is Neural network?**

Artificial Neural Network(ANN) is the algorithm which recognizes the pattern for given inputs. So you may wonder why it is called a Neural network? Well, the reason they are analogous to the human brain neural structure. In the following fig. we have Nucleus, Cell Body, Dendrites & Axon. Neurons in the brain take inputs coming from the dendrites. These inputs are nervous impulses. So what the neuron does? it does something with the nervous impulses and then it decides if it outputs a nervous impulse or not through the axon. a *similar analogy is applied to the ANN.*

In ANN, we have inputs such as X1, X2, X3…upto Xn similar to Dendrites. Weights W1, W2, W3…Wn, Bias(b) & Activation function(f) with Output(y) as shown in fig.

**First Neural Network-Perceptron**

As we know the basic structure of an artificial neural network. the first neural network is called “Perceptron”.It takes two inputs & gives the output as 1 or 0. Let’s understand the concept & application of Perceptron. Perceptron can be implemented by Logical operators like AND, OR, NOT, EX-OR, etc.

**1)OR-Perceptron**

As we know the OR is basic Gate whose output is True when any one of the input is True. Refer the adjacent figure, in which inputs are A & B with output Y.

Consider the Truth Table.

case 1: When A=FALSE, B=FALSE then Y=FALSE. In this test case, both inputs are given to Perceptron. It will decide the output as False.

For simplicity Convert the truth table in the form of 0’s & 1’s(TRUE=1; FALSE=0). Plot the graph of each test case in the x-y plane.according to graph the perceptron model looks like as follows:

The Line separate the perceptron based on the inputs. The point (1,1) gives the perceptron model output as TRUE. The correct separation of the model is achieved by using Weights & Bias together with inputs.

For better understanding consider the inputs A & B with weights x, y respectively. Now the weighted sum will be Ax +By.

We will get the output of perceptron as Non-zero only when the weighted sum will exceed the threshold value C. where C is Bias. then Output can be written as,

The region is separated based on the above two conditions(Ax+By >C & Ax+By ≤C). The line which separates the regions is **Ax+By+C =0**.these regions separated by a single line, are called **linearly separable regions.**

Hence, here we can say that Ax+By+C=0 is nothing but the equation of the line in general form i.e. **y=Mx+C**(where, M= Slope means weight, x=input & C=bias). By using bias the model will be more flexible with the real world. This is all about the application of perceptron using OR Gate. You can easily implement the other perceptron models as AND, EX-OR, etc.

In this nano degree, you will learn the Basics of the neural network, Image classification(MNIST dataset), Time Series prediction as well as model deployment using PyTorch. For Machine learning engineer, Data scientist, Data engineer who wants to do career in AI for them this nano degree is the best option.

If you are eager to learn something just start.Because the first step makes a difference.

*“YOU DON’T HAVE TO BE GREAT TO START, BUT YOU HAVE TO START TO BE GREAT.”*