The Best (and Fastest) Way to Learn Deep Learning

Deep Learning is a branch of Machine learning and is something which I am hoping to master as soon as possible. I would have preferred to study it in a real university but due to lack of funds, I'm going the self-study route via online courses and books.
When I first started on my Deep Learning self study journey, I started learning from the mathematical foundations because I read in many places that it was a good place to start and it made sense - deep learning at its foundation is really mathematics so why not start from the foundation and build upon that knowledge?
I found a "mathematics for deep learning" curriculum online then went on youtube and started watching various videos on the topics in the curriculum - probability, statistics, calculus etc
At first I really wanted to go deep with this foundation because I appreciated how important it was to thoroughly understand these foundations if I wanted to be an excellent machine learning engineer. Unfortunately I had very limited time available to dedicate to this study and I quickly found all the mathematics overwhelming.
Even though I did many of them during my undergraduate days as an engineering student, that was many years ago and I had not worked in the field since then so I had more or less practically forgotten virtually everything I learnt back then so with these youtube lectures it was almost like starting over again from scratch.
With all the mathematics going on in my head, it was difficult to relate in practical terms how the mathematics applied to deep learning and because I couldn't wait, at times when I got too lazy to do the math, I would skip to watching videos on actual network implementation using keras, tensorflow etc
These implementation videos were obviously too advanced for me at that stage but because my brain could not draw any correlations between all the math I was learning and the models that were being implemented and trained in the advanced videos, I got all the more confused and the whole "deep learning of a thing" seemed so complex and complicated that I constantly asked myself when would it be that I completely understood this stuff.
When would I be able to get to the stage when I could confidently sit down, set up a neural network and train it all on my own - and actually know everything that was going on during the process.
Soon enough self-doubt set in as I began to wonder if I would ever become a deep learning expert as I always dreamt of or if it was simply too complicated and broad for me to learn on my own without having to go for a Masters and maybe eventually PhD course in a real-world brick and mortar institution.
I tend to learn better and faster when I am surrounded by fellow students all trying to get ahead because I get highly motivated so going to a real physical university or college is actually my preferred option but I don't have the funds/resources hence my only resort is self study mostly via Youtube videos and free online courses and MOOCS.
Anyway, with self doubt came a drop in my zeal and increased procrastination that led to several long stretches of no new learning of the course curriculum material because the whole deep learning thing seemed so big and complicated.
Then one day I came across this article that gave me a whole new strategy to learn deep learning. Based on recommendations, I also obtained the book Deep Learning Illustrated by John Krohn. Reading this book distilled all the knowledge I had been trying to obtain and opened my eyes to what I had not been seeing, giving me a full overview of deep learning without all of the extra complexity of the mathematics.
The book made me understand that learning the mathematics was important but does not necessarily have to be the first thing you learn. I realised that it was better for a beginner to get an overview and understand the big picture of the whole field and then you can now drill down to the details (which will make more sense to you then).
For example, when I was learning the mathematics, I had to learn partial differential equations with emphasis on the chain rule. Initially I found the subject a bit challenging and only completed the modules after several procrastinations. While struggling over the exercises, I often wondered how this would relate in the end to deep learning and where it could possibly fit in with all the tensorflow and keras and python code.
But reading that book, it took me less than two hours to learn about backpropagation and to understand that what the system did during backpropagation boiled down to partial differential equations using the chain rule. Neat. Now it made more sense.
Having said all of that, the bottom line is that based on my experience, it is better to start deep learning with a general overview of the whole field (minus any deep mathematics). After you have obtained this overview and are now seeing the big picture, you can then go deeper into the mathematics (which will now make more sense to you and become rather interesting especially since you will have an insight into why you havce to learn the various mathematics principles).
So in conclusion, for any person new to deep learning and machine learning/data science as a whole and experiencing this overwhelming feeling of not knowing where to start, I say start with an overview of the big picture (without all the math). Here are some recommended resources that you will find very useful as a beginner:
MIT Intro to Deep Learning (Youtube Video Series)
Deep Learning Illustrated by John Krohn (Book)
Grokking Deep Learning by Andrew Trask (Book)
Comments
Post a Comment