Journey to Deep Learning — What mistakes did I make before starting my career in Deep Learning? — (Part 1)

It doesn’t matter from where you start learning. What matters is the way you think and how deep you want to dive into Deep Learning.

Apal Shah
4 min readNov 5, 2018

In this article, I’ll tell you my whole story, why I (and almost all the newbies) failed several times (and give up) and what were those mistakes no one should do. Also, I will try to change the way everyone nowadays thinks and tell you a way that helped me (and probably help you) to learn.

Why did I fail in the beginning?

I’ll tell you what I’ve observed many people do and also I’ve done many times in my career which first feels like we’re learning so quickly but after some time you’ll end up wasting more time and efforts.

Many developers (and I at some point of time in the past) want to quickly jump to the implementation without learning all of the basics and think we’ll learn all the required basics while accomplishing the task. We end up googling that basic stuff, and many times (not sometimes, many times) in the middle we realize that we shouldn’t have done this task in this particular way (reusability, scalability etc. issues).

When we were in school, at first, we started learning about numbers (1, 2, 3, 4, 5, …) and then we didn’t directly jump to the complex equations thinking we’ll eventually learn addition, subtraction, multiplication etc. while solving those complex equations.

Sometimes, we simply overestimate ourselves. For those who think maths is difficult should look back and see what basics you’ve missed. You’ll find out it’s like shooting a fish in a barrel.

So let’s begin…

I was very good at mathematics. For me understanding what is going on inside the neural networks was just a piece of cake (But still I failed? Yes, unfortunately).

I remember it was the beginning of 2015, I started learning Python (also C, C++, Java etc. because they were in my course) and after some time(end of 2015) I heard of a new framework called Tensorflow for Deep Learning. I directly started learning Tensorflow and rest is the history (**facepalm**). I failed miserably. After 2–3 tries, I gave up. I moved to web development (It was a huge success though). I earned a decent amount of money only in my college days.

My final year project was based on IoT + AI. At that point of time, I was able to Google quickly, find a Github repo and tweak the code. I made a face and voice recognition model with this ninja technique in Keras. But wait, I must have learned something, right? Of course, yes. I learned the name of those layers which were used in that project (and very basic stuff about those layers). Making a project from scratch was like boiling an ocean for me.

But I told you that I was good at web development .?.?

Yes, I got a full-time job as a Software Engineer very easily (while studying). I made web apps for some renowned companies in India. But after 5–6 months, I fed up with the work I was doing. I felt I was doing the same repetitive task (and not making an impact, not making the world a better place etc. etc.). Then I started implementing (still not learning the basics) some basic DL tasks on my own. Because in my state, there were almost 0 opportunities for a Deep Learning Engineer.

Finally, I learned how to implement Linear Regression in Tensorflow (**round of applause**). Then again I jumped to the CNNs (Convolutional Neural Networks) without exploring basic neural networks. This time I learned more about what are those layers and where to use them, what are the activation functions etc. But still, I wasn’t able to code from the beginning and I wasted almost 6 months (implementing Linear Regression).

Finally (Fortunately, after wasting so much time), I moved to Bangalore. I started my internship at a well-known startup. One day I asked a person in my company, I know some things about CNNs, so what should I learn next? He asked me a few basic questions about my previous work. And you know what… We can learn those basics eventually (**facepalm again**). He told me to focus on those basics (and obviously I didn’t listen to him, duh!!!).

After joining this new company, they started a group discussion on DL based research papers every week. I felt like everyone was using some alien language. They were having a healthy discussion and I was just a spectator there. Then I realized I really should focus on basics, try not to jump, go to the ultimate depth of the topic. And you know what… I learned to code in just 2 months. I know almost all of the basics, I’m able to code without any framework(before, it wasn’t possible to code even with a framework). I tweaked some framework defined layers and got some awesome results.

Yeah, Great, Whatever… Just tell me what did you do. I’m not here to read these Wisdom Quotes.

I’m thinking to publish a new article because it will make this article too long and boring to read. I’m also planning to post almost everything(all of those basics I was talking about), which helped me and which didn’t, to save everyone’s time. I’ll post that link in this article whenever it gets ready and till then show some love with applause(at least 50) Today I regret that no one was there to help me. So please don’t waste your time doing these mistakes. It’ll lead you nowhere.

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