Deep Learning in Python (a 5 month learning plan)

Original article was published on Deep Learning on Medium

Deep Learning in Python (a 5 month learning plan)

This article will detail a 5 month plan that I am currently pursuing to learn Deep Learning (I’ve just started month 3). Post following this you will be able to implement state-of-the-art DL models, gain intuition on the working of a neural network and have hands-on coding experience in Tensorflow and Keras

Hope this helps.

Pre-requisites:

– 8-10 hours a week for the next 5 months
– Basic programming skills (Background in Python is assumed)
– Basics of Linear Algebra and Calculus (equivalent to introductory university level coursework)
– Basics of Machine Learning (Concept of training/ testing, splitting data, optimisation, loss etc..)

Instead of the usual bottom-up approach to learn a subject, it is usually easier to learn deep learning the other way around. Starting at the top, seeing neural networks in action, actually helps provide context for future learnings. Once you observe the working of the final product it becomes easier to associate the fundamental building blocks and understand how to the networks actually work.

Step 1: Get Started

The TensorFlow in Practice Specialization (3–4 weeks)
Courses in this specialization are good to get a basic idea of Tensorflow and Keras w.r.t a wide variety of DL problems (NLP, Vision and Sequence models). However, they do not explain any concept theoretically or in detail, these courses are designed to be an introduction for tensorflow.

Step 2: Prepare your Math (Optional)

As some of you might have heard Deep Learning is a math-heavy field, but all the math has already been abstracted in the form of libraries. So knowledge of advanced calculus and linear algebra is no longer a pre-requisite for learning this subject. Although having a firm grasp of the basics does help understanding things in detail.

So, if you need a refresher, I suggest going through the lecture series by 3Blue1Brown, on his youtube channel. These will help you go beyond just revising the formulae thought in colleges, and help you visualise the concepts behind those formulae.

Linear Algebra (1 week): https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

Calculus (1 week): https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr

Step 3: Dive Deep

The Deep Learning Specialization by DeepLearning.ai (8–10 weeks)
Courses in this specialisation will help build a theoretical foundation for Deep Learning. Teaching you everything ranging from, how to code a neural network in python using numpy, upto how to use state-of-the-art libraries to create your model.
Courses in this specialisation also have an interview with a known figure in the Deep Learning community in every week’s content, you can learn about their journey and the work they have done in the field.

Step 4 : Collation of Ideas

I believe after taking a next step in learning of any subject, it is critical to revise and keep previous concepts fresh. As Deep Learning and Probabilistic Machine Learning have some similar concepts it helps to keep information uncluttered to avoid mixing of ideas. Therfore, after completing a deep dive doing the Google ML Crash Course (7 chapters, 4–5 weeks) will help you segregate ideas correctly. This can also help refresh basic concepts of ML which one tends to ignore after learning anything advanced.

“Entities should not be multiplied without necessity” — Ockham’s Razor

Basically saying that complexity should only be introduced into the solution if the problem demands it.

Next Steps (The way forward)

Completing steps 1–4 should provide you with all the tools you need to practice Deep Learning at a very high level. But practice makes perfect (always :P). Tensorflow tutorials and the Deep Learning Book by Ian Goodfellow are some of the ways you can practice and keep your concepts fresh.

Finally to top it all off, and actually achieve something recognisable in the community, try your hand at the Tensorflow Developer Certification.

If you’ve followed all steps stated in this post, you should be able to crack the certification on your first attempt itself.

Most of the steps to learn Deep Learning in this article have been inspired form https://www.tensorflow.org/resources/learn-ml. I have shortlisted the steps given in this link to come up with a 5 month plan (that can be completed in a semester)

Happy Learning, and Best of Luck!!