Learning About Deep Learning2020-10-23
How to get a better understanding of deep learning?
I always feel that it's important to build a fundamental understanding of the topic you're interested in. Understanding the basics as well as high-level applications.
I want to focus on deploying AI products, shipping models to production and getting insight into how the deep learning dev cycle works (and where friction is). Actually understanding how various kinds of deep neural networks are built and work isn't strictly speaking mandatory, but I feel like it will be a good thing to know about.
To get this kind of fundamental and hands-on DL practitioner understanding I decided to go with a structured course approach.
Right now, I'm taking two courses on Coursera. One about applying TensorFlow, and one about undertanding neural networks from the ground up.
The TensorFlow course is great for hands-on experimenting. You start out building first convolutional NNs quite fast, and can tweak the parameters to see what happens. A learning by doing approach.
TensorFlow is really intuitive, and it's incredibly easy to get started with building first interesting models with it.
NN course is for understanding the basics. It starts with logistic regression, as a basic version of a simple neural network. Introduces forward propagation, backward propagation and how to compute derivatives in this most simple case. It’s pretty much a bottom-up approach towards “getting“ deep learning.
For me, it's a great refresher, adding small bits of knowledge I'm missing as the field developed a lot since my ML-fascinated days more than 5 years ago!
The switch from sigmoid functions to ReLU was news to me for example. Thanks to the NN course by Professor Ng I feel like I'm building a solid foundation. It's incredibly fun, even if I don't see myself focusing on building new models in the future.
If you want links to those courses, check out the Resources section.
I’m happy to do both courses for now. They are merely the beginning however. The NN course is part of a specialization which spans 5 separate 4-week course units. The TensorFlow specialization spans 4 4-week course units in total. And then there are even more to discover. Oh my. I'm curious to see how they work out for me.
While courses are great, I also feel like they are not a complete answer to "getting deep learning". Courses are great for getting a structured introduction, but nothing beats having your own tinkering opportunities. So, in addition to doing those courses at a steady pace, I’m looking forward to search for people who have documented their own journey towards working with deep learning and to see what they did. I imagine that trying almost-ready-to-use applications off of GitHub has great potential for fun and can be really good learning experiences as well. In the end, nothing really beats project-based learning.
And all of this, in addition to the actual focus I have in mind: deploying AI, which is an own topic by itself in the overlap of DevOps and machine learning...
I’ll keep you posted how all of this goes!