Journey to Deep Learning — Prerequisites and understanding what to choose in Deep Learning — (Part 2)

After avoiding mistakes, we’re here to make the world a better place. But for that, we have to explore all the ways and choose one of them.

Apal Shah
5 min readNov 6, 2018

In this article, we’re going to talk about what are the prerequisites to dive deep into Deep Learning and also what are the different possibilities you can explore and master it someday.

Prerequisites:

First, this is the 2nd part of the series, Journey to Deep Learning. So your first prerequisite would be to read this article and read some Wisdom Quotes about the mistakes which I made. Because:

Without wisdom, wealth is worthless

After reading the previous blog, now probably you’ve noticed that maths is an essential part which no one should skip or try to learn it eventually. If you do so, you can never visualize (and it requires brain🙈) what is happening inside the neural networks.

Okay, I understand that maths is a must. But any specific topics?😥

Yes, so we’ll go topic by topic and make a list of all the topics. Also if I miss something, you can always tell me in the comment section.

We’ll start with simple Linear Regression and then Polynomial Regression. Which will also include how to define our own cost function. Topics you should know:

  • Linear and Polynomial Algebra
  • If you know/explore a little about conic section, it would be more fun.
Image Source: towardsdatascience.com

After that, we’ll learn more about Logistic Regression and Multiclass Classification. Topics:

  • Probability
Image source: becominghuman.ai

You’ll feel more comfortable after learning these things and probably start visualizing what is going on in some simple mathematical equations. But life is not that easy. Now you’ve to dodge a real bullet. We’ll finally discuss the Neural Networks, Backpropagation, and Activation Functions. We’ll start to visualize it from 1D. So there will be no chance for a doubt. Topics:

  • Differentiation / Integration (if possible)
  • Matrices and Determinants
Image Source: ptgrey.com

If you’ll successfully complete till the Neural Networks, it is time to visualize those things in 3D (and probably more than 3 dimensions) in Convolutional Neural Networks (CNNs).

We’ll also try to implement some real applications 🤩 using existing datasets. If you’ll like and most importantly understand all the topics I’ll try to write more about Object Detection and Segmentation(and probably build something more realistic which can be consumed by the real world).

Image source: giphy.com

What about programming?

Try to explore Python as much as you can because we’ll be using it throughout this series. Also, make yourself comfortable with some libraries like Numpy, Scikit Learn, Pandas, Matplotlib etc.

I’ll use Jupyter Notebooks in Google Colab and upload it to Github. This is optional but it is good to learn to use it(Free GPUs 😈).

Okay sounds cool to me, but is that it?

Of course not. We’ve just discussed a little bit about Supervised Learning. There are many portions to be discussed which you might be more interested in. So what are they?

Wait… Let me tell you first what Supervised Learning is

In simple words, you’ll have some paired data (Input and Output). Here outputs are already defined and based on the training data you’ll have to make predictions about the new data.

E.g., If I want to build a model that can predict whether the given input is a dog or a cat, the images would be the input data and the predefined labels (a cat or a dog) would be your output data. Now if you’re given a new image, you’ll have to predict that in which category that image belongs to.

We’ve already discussed too much about the Supervised Learning, so I’m not going to repeat it here.

Unsupervised Learning

In Unsupervised Learning, you won’t have any output data or labels. Your algorithm has to categorize the inputs. It sounds difficult to implement but Supervised Learning has more constraints than this. There are chances that if you don’t feed proper data, Supervised Learning may make the wrong predictions.

The main use case of Unsupervised Learning is to categorize the uncategorized data or the data without labels. It looks something like this.

Image Source: giphy.com

Reinforcement Learning

Reinforcement Learning is totally different as compared to Supervised and Unsupervised Learning. Reinforcement Learning is mostly used in games and robotics. People are also exploring it to achieve some tasks like Object Detection but it needs a lot of improvements(probably you can do it).

For example, let’s imagine a newborn baby comes across a lit candle. Now, the baby does not know what happens if it touches the flame. Eventually, out of curiosity, the baby tries to touch the flame and gets hurt. After this incident, the baby learns that repeating the same thing again might get him hurt. So, the next time it sees a burning candle, it will be more cautious.

So in Reinforcement Learning, there is an Agent, who performs an action and based on that action, the agent gets some sort of reward. The agent tries to maximize the positive reward/minimize the negative reward using Markov Decision Process (MDP). To perform any action there are some plans and policies etc. heavy words(now my head is spinning). So, let’s not take it to the more depth and save some for the future.

Image source: www.cs.princeton.edu

Now I’m confused. I don’t know what to do next

If it is the case, just sit back and relax. We’re going to discuss all of these in more details. Also, whichever path you choose, you have to learn till Neural Networks. There is no other option(unless you want to waste some more time). Try to read other blogs or watch videos on the Supervised, Unsupervised and Reinforcement Learning and try to clear your vision.

But I know what I want to do!!!

Congratulations. Still, it doesn’t make any big difference. Sometimes, people also think this because they haven’t explored the other areas. But if you’ve already explored it and you’re sure what you’ve to do next, do more research instead of jumping to the implementation. Also, I suggest you read some research papers and discuss it with the people like you.

About the Series

List of all the parts:

  1. Journey to Deep Learning — What mistakes did I make before starting my career in Deep Learning?
  2. Journey to Deep Learning — Prerequisites and understanding what to choose in Deep Learning

--

--

Apal Shah

Subscribe to gosink.in to get latest post updates on tech and design. AI | Web development | Blockchain