Learning path for AI/ML that worked for me โจ
Programming Knowledge
Programming knowledge is a must obviously.
Learn Python ๐
- Python basics : variables, conditions, loops..etc..etc..etc
- Also 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!
Install and setup stuffs ๐ง
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.
๐ For god sake don't use notepad to code!
Next steps with programming (recommended)
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
ML algorithms and its Mathematics ๐ข
Truth about the maths
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.
Learning algorithms
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.
Implementing the algorithms ๐ฉโ๐ป
This is an important part. Learning how to implement ML algorithms ๐ฅ
- Try to implement the ML algorithms with vanilla python and the following libraries.
Packages to use
- Numpy : For nuemerical computations
- Pandas : For data preproessing
- Matplotlib : For plotting the data
ML libraries and doing projects
Now you can learn an ML library and start doing projects in ML.
Various ML libraries
- 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!
Steps for doing ML project โญ
Do an ML project to evaluate and show off your learning. Following are some of the steps in doing ML projects.
1. Find out a problem you can solve using ML.
2. Figure out the logic + ML pipeline you can build for solving the problem.
3. Search the internet for the dataset you need.
A lot of publicly available datasets can be found in the internet. Two popular sources are,
4. Cry out loud when you don't find the dataset for your specific problem.
5. Collect dataset using crowd source or other means
- 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.
6. Train. Evaluate. Tune. Repeat.
- 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.
Next steps
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
On device AI/ML
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,
Privacy preserved AI/ML
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!
Computer Vision and NLP
Two major fields in AI/ML. Learn both or specialise in one :information_desk_person:
Robotics and edge computing
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 !