This learning schedule is sorted out for reseachers or whoever interested in machine learning / deep learning / computer vision. It's also most welcomed for instructors to refer to this schedule to train beginner students. Each course listed below takes about two weeks to finish if you are fully dedicated to it.
The skills you need to develop a machine learning / deep learning / computer vision project include:
- Coding skills. Coding is not the objective, but the tool. Without the tool, nothing can be built.
- Mathematics. Math is the foundation of machine learning that you can't evade, among which statistics and probability are the most important.
- Machine learning algorithms, which is the focus of most research or competitions.
- Paper reading and writing, which involves English proficiency and professionalisim. You may not necesssarily publish a paper on a journal or a conference. However, to keep up with others' work and report your work, you have to be familiar with how to read and write a paper.
These courses are for beginners. It's suggested to follow the order below. Try to finish the coding and mathematics homework in each course. It helps a lot.
-
Andrew Ng (Stanford)'s Machine Learning
Homepage
video link:Youtube
Bilibili
-
Hsuan-Tien Lin (NTU)'s Machine Learning Foundations
Homepage
video link:Youtube
Bilibili
-
Hsuan-Tien Lin (NTU)'s Machine Learning Techniques
Homepage
video link:Youtube
Bilibili
-
Feifei Li (Stanford)'s Computer Vision (CS231n)
Homepage
video link:Youtube
Bilibili
After finishing the above courses, it's highly suggested to join some simple competitions before you keep going on Kaggle
, a well-known data science competition website. You can refer to others' code for inspiration. Free GPU resources are also available on Kaggle. For beginners, the Getting Started
category is the best place to obtain project experience and practice coding skills. The following two competitions are good options.
Titanic: Machine Learning from Disaster
A classification task based on structured data.Digit Recognizer
A classification task based on hand-written digit images. A convolutional neural network might be involved. For this competition, we provide somereference code
with different mahcine learning computing package.
Now we need to expand our sight to the current research topics in machine learning / deep learning / computer vision.
By far, you should be familiar with the basic concepts of machine learning / deep learning / computer vision. You might need to participate in a real project in a lab at school (choose a reputed lab carefully) or in a IT company. You may also consider join a more advanced competition on Kaggle
.
Here, we provide a PyTorch coding template
in python for developing a real project.
Don't rush to dig into these advanced courses. These courses are more specific for certain topics. Only after you have several project experiences, can these advanced courses help you build up a systematic sense of these topics.
- Yida Xu (UTS)'s Probabilities and Machine Learning video link:
Youtube
Bilibili
- Hung-yi Lee (NTU)'s GAN 2018
YouTube
- Hung-yi Lee (NTU)'s Next Step of Machine Learning
YouTube
- CS 294-131: Trustworthy Deep Learning
Homepage
- CMU 10-708 PGM (19) by Eric Xing
Homepage
- Berkely Deep RL Bootcamp
Homepage
- CS294-158 Deep Unsupervised Learning Spring 2019
Homepage
- Udacity's Cuda (
Homepage
) - Cousera's Programming Language
Homepage
- Udacity's Design of Computer Programs
Homepage
At this point, you have mastered the basic skill and knowledge required for machine learning / deep learning / computer vision research. But there are still so much unknown placed waiting for you to explore. What you learn here merely provides you with the way leading to those places. Begin you adventure now! And enjoy the beauty of maching learning!
- How to use remote server
- How to set up a brand new machine, from installing Linux to installing Pytorch (
Here is a rough instruction in Chinese
) (Here is the packages list required to set up a system for machine learning research
) - Advanced coding courses
- Papers reading and writing
- Code convention
Any advice or comments to improve this learning schedule is most welcomed.
Jiancheng Yang
who provides the primary study route and first start this project.Linguo Li
who provides the MNIST reference code and packages list.