Learning path for AI/ML that worked for me โจ
Programming knowledge is a must obviously.
- Python basics : variables, conditions, loops..etc..etc..etc
- But most importantly installing packages, importing, using.
- Writing methods and using decorators.
- Object oriented python: class, inheritance.
๐ก The book automate the boring stuff is a good resource.
๐ฎ Articles and Youtube videos by Sentdex is awesome!
Things you need and need not.
- A ๐ป running any OS โ
- A high end GPU โ
- Python installed directly or using anaconda/miniconda โ
- A heavy IDE like pycharm or spyder
โ๏ธ - Use light weight IDEs like VScode โ
๐ก Make sure you integrated installed python with your IDE and intellisense works fine.
Do the following to take python learning to the next level
- Build a python project and opensource.
- Learn building a backend web app using flask/django/responder
You need basic knowledge in the following mathematics areas for ML
- Algebra
- Probability
- Differentiation
๐ก Use your school/college text books to brush up maths skills.
Use various resources in the internet to understand the concepts of following machine learning algorithms
- Linear regression
- Logistic regression.
- Kmeans and KNN.
- Neural networks.
- Deep neural networks.
And the lists goes on...
๐ก Check out this awesome machine learning tutorials repo.
๐ฎ Checkout d2l for learning algorithm implementation
Pro tip : Learn the maths on the go. Means check out the maths part when you get stuck instead of going through maths first.
This is an important part. Learning how to implement ML algorithms ๐ฅ
- Try to implement the ML algorithms with vanilla python and the following libraries.
- Numpy : For nuemerical computations
- Pandas : For data preproessing
- Matplotlib : For plotting the data
Now you can learn an ML library and start doing projects in ML.
- Sklearn : ML library with classic machine learning algorithms
- Tensorflow & keras : DL libary with keras as high level API
- Pytorch : DL library built built focusing for research.
and the list goes on...
๐ก You can start with any of the libraries. I would recommend to use offical docs and tutorials to learn!
Do an ML project to evaluate and show off your learning. Following are some of the steps in doing ML projects.
A lot of publicly available datasets can be found in the internet. Two popular sources are,
- Build an app for collecting dataset and share with friends
- Use google form for collecting data
- Scrap the dataset from various websites (be careful about copyright)
- Connect with authorities having data like govt to collaborate.
- Use pretrained models or build ML models.
- Preprocess the dataset collected.
- Train and test the model.
- Tune the hyper params and repeat training and testing.
- Wrap it with a web app or mobile and app
- Don't forget to open source or publish your project.
AI/ML is growing fastly day by day. Focusing on a particular area of AI after learning and doing the foundational elements would be nice!
๐ก Following are some of the interesting areas in AI
Instead of sending inputs from client like images, speech..etc to the ML model in server, on device AI/ML helps to do the inference in client side with the help of AI chips (like bionic chip in iPhone) and libraries like,
Techniques like federated learning helps to train models on device and share the model to the servers(and other clients) instead of sending data to the servers and training there. Means your data is private and safe!
Two major fields in AI/ML. Learn both or specialise in one ๐
Deep reinforcement learning techniques and various other AI/ML algorithms are used in applications like robotics, automation and IoT.
- OpenAI gym
- Tensorflow lite for Raspberry Pi and microcontrollers
Thank you. Happy Learning !