Relearning how to learn, deep.
Using Fastai to become a state-of-the-art deep learning practitioner!
“The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. ” ― Alvin Toffler —
Fact: Deep learning is hard!
I have a background in Electronics Engineering and having studied in the sub-continent, the amount of exposure I have had with programming was virtually non-existent. Since graduating, I have slowly transitioned my way into the field of data science and machine learning. I had to start from scratch and build block after block all the necessary skills needed to call myself a capable data scientist, and successfully land myself a job in the field.
Whenever I meet anyone from a non-ML background and tell them I’m a data scientist, their response is almost always the same. They nod in appreciation and say something like, “That’s the future!” and that “I’m on the right path!”. They then begin asking questions about the areas like self-driving cars and other popular fields and finally land on to the million-dollar question. “Is it difficult to become a machine learning/deep learning engineer?”. To this, I always find myself lying by spouting out of phrases like “it’s easy” and “anyone can do it”! Whereas the fact of the matter is that despite there being some credibility to the statement, the learning curve isn’t that easy.
Being a self-learner, I learned how to code in Python, understood the fundamental concepts of data science and machine learning by following an array of popular MOOCs such as Coursera, Udacity, etc. as well as completed certifications from reputed colleges in India. It has been an incredible journey of learning, but it has definitely not been a cakewalk! There is always a huge learning curve, and even after you complete a course or certification, there’s still that void of not having built anything meaningful. Every one of the courses makes a point of conveying the theory and underlying maths well but almost always fail at delivering to students the necessary tools to go ahead and build something practical. There’s always the next step(s) that needs to be taken to actually implement the knowledge learned in the course. Being able to understand the theory and math from ground up was satisfying to begin with but as you dig deeper, without being able to rapidly prototype and experiment with the concepts takes a toll on the learning process!
Enter Fastai
I first heard about Fastai and Jeremy Howard from my friends around version 1 of the course. I pushed it aside as one of the many courses suggested by people in the field due to their inherent allegiance to it having taken it. But over time, on Twitter, LinkedIn, and other sources, it had reached a point that I couldn’t not take a look at the course. So I finally succumbed to the pressure and started last year’s course.
In less than two weeks, I binged watch through the entire part 1! The course was nothing like I had taken before. All the concepts explained intuitively and efficiently, and more importantly, everything taught was visualised through code and by building state-of-the-art models. I fell in love with the teaching methodology and with the community it had garnered. I couldn’t but feel envious of the new students taking up the course to learn deep learning as I was comparing it to myself starting out in ML a year ago and how a course like this would have been extremely helpful to my past self.
Fact: Deep learning is hard
Fact: Deep learning is easy if done right!
“There are Two Core Abilities for Thriving in the New Economy :
- The ability to quickly master hard things.
- The ability to produce at an elite level, in terms of both quality and speed.” ― Cal Newport
The main idea of the course and the library is to democratise this powerful tool of ‘Deep Learning’, in a way that it can be easily harnessed by people across all domains such that one can apply the principles easily in their domain.
The course challenges the usual way of learning by following a top-down approach to understanding deep learning. In comparison to every other DL course under the sun, this course makes the field easy to approach, and most importantly, it helps implement the models very quickly. Students taking the class learn to apply all the theoretical concepts learned immediately with concrete examples rather than learn mathematical proofs. In a rapidly evolving field such as this, being able to learn and rapidly prototype simultaneously is invaluable!
Everything taught in this year’s course is again application-driven and closely follows the book written by the founders of Fastai - Jeremy, and Sylvain. The only prerequisites needed to start with the course are high school math and intermediate coding skills in Python, which, to be honest, can be picked up along the way(I will be sure to put up references for all in the end). This doesn’t mean that the course is geared only for beginners. On the contrary, even veterans in the field will have a lot to discover and learn in the course. The course gradually wades through the ingenious implementations, tricks, and insights gained through experimentation by the Fastai team, which has led them to achieve state-of-the-art benchmark models by beating top companies with considerably limited compute resources as compared to big guns in the field.
The lectures taught by Jeremy, the book as a manual to wade through the ‘frightening’ depths of deep learning, the fantastic community of like-minded and extremely helpful peers, is a complete package and the perfect recipe to learn.
“What I hope is that lots of people will realise that state-of-the-art results of deep learning are something they can achieve even if they’re not a Stanford University deep learning PhD.” — Jeremy Howard
My blog post series
There’s definitely a self-centred motivation to write these blog posts. Following the advice by Rachel Thomas(co-founder of fast.ai) in her blog post, she encourages anyone on a learning path to put out blog posts in order to maximise your learning.
But aside from the learning advantages, I would like to do my best in helping guide people entering this field on how best to navigate the myriad resources in the field and hopefully impart some of the knowledge learned along my journey until now.
Being quarantined, I find this time to be the best opportunity to start my blog by delving into depths of this fantastic deep-learning library!
The course is currently private but will be made public and free for all like all courses by fast.ai. Until then, and hopefully, even then, I hope I can help wade students through the mazes of Deep Learning, Fast.ai style! So let’s get into it!
In my upcoming blog post, I will provide an introduction to the Fastai v2 library and build an image classifier on a well-known dataset.
“Education is the kindling of a flame, not the filling of a vessel.” ― Socrates
Happy learning, stay at home and stay safe! :)