Written in May of 2022. Basic Python knowledge is necessary.
Right now, AI is used around the world to build autonomous vehicles, power your YouTube and Netflix recommendations, and even beat humans at games like Go or StarCraft II. There are many more problems you can solve with AI and all you need to get started is a laptop.
1. Understand what AI is (20 hours)
Complete this free course by Udacity. You will learn all the basics here.
Don't worry about the math just yet. You will understand it over time.
1.5 Choosing a framework: PyTorch vs Tensorflow (8 hours)
These are two main libraries people use to build AI solutions.
I recommend learning Pytorch. It is easier and more flexible than Tensorflow. Reddit can give you some more opinions on these two frameworks here.
Note: If you prefer beginning with Tensorflow, the free course I recommended above is also available for Tensorflow. Regardless, what's more important is understanding the concepts.
You can also follow the official tutorials from the PyTorch documentation:
Pytorch Blitz (2 hours)
GANs tutorial (6 hours)
2. Recreate projects (12+ hours)
This repo has a lot of projects. Recreate a few that interest you. (6 hours)
Alternatively, download a dataset from Kaggle or from here. Build a neural network that can achieve high accuracy on these datasets. (6 hours)
Another strategy is to build AI projects at hackathons. Find hackathons here. (A Hackathon is usually 24-48 hours long)
3. Understand the mathematics behind Neural Networks (10 hours)
You will first need to understand linear algebra concepts. I recommend using this playlist by 3B1B. (3 hours)
Next, this playlist describes the mathematics and intuition behind how NNs work. (1 hour)
These two seminar papers by David Stutz describe how neural networks are trained and how CNNs work. (2 hours)
This page visualizes how a CNN works. (20 minutes)
At this stage, I'd highly recommend articulating your understanding of the math through writing or by teaching it to someone else. (40 minutes)
See if you can program and train a NN from scratch without the use of Pytorch or Tensorflow. (3 hours)
4. Traditional ML approaches vs Deep Learning (2+ hours)
So far you have been learning about Deep Learning. Traditional methods to solving DL problems also exist. These types of projects require good knowledge of OpenCV, Numpy, Scikit-learn, and Pandas. I am bringing this to your attention in case you need to learn about it but this is not the focus of my writeup.
Check out this video by Ken Jee who is a Data Scientist if you are interested in traditional data science. (12 minutes)
And, to get a feel for what traditional approaches to solving problems are like, check out the Learning to See playlist by Welch Labs. It's a humbling watch to see where the field of AI came from. (2 hours)
6. Start reading research papers (20+ hours)
Once you can read AI research papers and understand the high level ideas within a few hours, you have achieved a whole new level of skill!
To get there, you should first watch how to read research papers by Andrew Ng.
Then, you can begin by reading the papers behind Deep Learning's Most Important Ideas.
If you want to learn about new areas of research or the state of the art (SOTA) on a particular problem or dataset, refer to paperswithcode.
7. Continue learning and creating (∞+ hours)
Learn from the following sources:
Yannick Kilcher's ML News and paper breakdowns
Continue creating your own projects:
Top Deep Learning projects on GitHub
List of more datasets
Use what you've learned to solve interesting problems with AI!
Throughout this journey, I recommend you save and share your work online through GitHub, medium articles, videos, or blog posts.
That's about it. See you in the next one.