State of Darth
--
How I got a glimpse, quite accidentally, of how much easier it is today to learn and apply Machine Learning through personal projects.
When it comes to Deep Learning, does the state-of-the-art make it any easier to adopt DL today than it was, say, two years ago ? Should you even be bothered about starting to learn ML now, if you haven’t yet had a chance to explore and use it in your work/ personal projects ?
The answers to both these questions is, as I realized recently, a resounding yes and the state-of-the art is about a 100x better than what it was 2 years ago. How do I know that ? Well, A few weeks ago I had a chance to repeat an exercise I did while getting introduced to ML — a transfer learning approach to train a model to classify images of “Darth Vader” and “Elsa”. As I was going through the fast.ai course titled “Practical Deep Learning for developers”, I came across a simple approach to transfer learning using the resnet34 (arguably, the current state-of-the-art for image classification) and I decided to try it on the same problem.
What had taken about 4 days from start to finish in 2018 was over in all of 30 mins, including the setup, data augmentation, even training the model on a GPU in the cloud.
Except, there was one “problem” — the accuracy was too high. It was close 99% even with half the images and half the number of hidden layers (resnet18) so I added batman to the mix to level the problem up a bit. One more iteration and 20 mins later (with just auto-downloaded Google image search results) the model was accurately classifying the three classes — even the images that were too tricky for the earlier model. The code and the steps to download the dataset are in this jupyter notebook.
The key takeaway for me was the 100x reduction in the time this whole iteration took and the ease of building something like this, thanks to constant research and blossoming of new tools & services (shout out to Gradient, colab and fastai). Thus, It is constantly getting easier to plug learning and inference as a feature into any area of software that could benefit from it (even something as ubiquitous as, say, code auto-completion).
Finally, I’d strongly recommend the fast.ai course for anyone interested in learning how to apply deep learning into their own area of work. If you’re willing to give only one DL course a try, let it be this one.