9 February 2018

How to learn Deep Learning in 6 months


It is quite possible to learn, follow and contribute to state-of-art work in deep learning in about 6 months’ time. This article details out the steps to achieve that.

Pre-requisites

- You are willing to spend 10–20 hours per week for the next 6 months

- You have some programming skills. You
should be comfortable to pick up Python along the way. And cloud. (No background in Python and cloud assumed).

- Some math education in the past (algebra, geometry etc).

- Access to internet and computer.

Step 1

We learn driving a car — by driving. Not by learning how the clutch and the internal combustion engine work. Atleast not initially. When learning deep learning, we will follow the same top-down approach.

Do the fast.ai course — Practical Deep Learning for Coders — Part 1. This takes about 4–6 weeks of effort. This course has a session on running the code on cloud. Google Colaboratory has free GPU access. Start with that. Other options include Paperspace, AWS, GCP, Crestle and Floydhub. All of these are great. Do not start to build your own machine. Atleast not yet.

Step 2

This is the time to know some of the basics. Learn about calculus and linear algebra.

For calculus, Big Picture of Calculus provides a good overview.


For Linear Algebra, Gilbert Strang’s MIT course on OpenCourseWare is amazing.


Once you finish the above two, read the Matrix Calculus for Deep Learning.

Step 3

Now is the time to understand the bottom-up approach to deep learning. Do all the 5 courses in the deep learning specialisation in Coursera. You need to pay to get the assignments graded. But the effort is truly worth it. Ideally, given the background you have gained so far, you should be able to complete one course every week.

Step 4

“All work and no play makes Jack a dull boy”

Do a capstone project. This is the time where you delve deep into a deep learning library(eg: Tensorflow, PyTorch, MXNet) and implement an architecture from scratch for a problem of your liking.

The first three steps are about understanding how and where to use deep learning and gaining a solid foundation. This step is all about implementing a project from scratch and developing a strong foundation on the tools.

Step 5

Now go and do fast.ai’s part II course — Cutting Edge Deep Learning for Coders. This covers more advanced topics and you will learn to read the latest research papers and make sense out of them.

Each of the steps should take about 4–6 weeks’ time. And in about 26 weeks since the time you started, and if you followed all of the above religiously, you will have a solid foundation in deep learning.

Where to go next?

Do the Stanford’s CS231n and CS224d courses. These two are amazing courses with great depth for vision and NLP respectively. They cover the latest state-of-art. And read the deep learning book. This will solidify your understanding.

Happy deep learning. Create every single day.

No comments: