Machine Learning hay Học máy đã không còn là một từ khoá xa lạ đối với dân CNTT nói chung và dân ở các ngành nghề khác nói riêng. Sự phát triển của công nghệ những năm gần đây đã khiến Machine Learning trở nên hot hơn bao giờ hết. Vậy làm thế nào để bắt đầu với Machine Learning? Trong bài viết này, mình sẽ không giải thích ML là gì mà giả sử rằng bạn đã biết sơ qua về ML. Thay vào đó mình sẽ đưa ra một số kinh nghiệm bản thân trong việc chọn tài liệu học ML và một số gợi ý của mình với người bắt đầu. Các bạn cũng có thể tham khảo các bài viết sau về việc học Machine Learning như thế nào.
[1] http://khanhxnguyen.com/toi-da-hoc-machine-learning-nhu-the-nao-phan-1-lam-quen/
[2] https://huytd.github.io/posts/machine-learning-deep-learning.html
[3] https://kipalog.com/posts/Toi-da-tu-hoc-Deep-Learning-nhu-the-nao
Kiến thức cơ bản
Tìm, đọc và đọc. Chỉ với từ khoá “machine learning là gì” hoặc “what is machine learning” bạn đã có thể thấy được rất nhiều nguồn tài liệu bằng cả tiếng Việt và tiếng Anh giải thích về nó. Hãy đọc một số nếu bạn chưa có mường tượng gì về Machine Learning.
Machine Learning (Andrew Ng)
Sau khi đã có định hình Machine Learning là gì, bạn hãy tiến hành chọn lấy một giáo án để học và học hoàn thiện nó. Về khoá học online, khoá Machine Learning của Andrew Ng – founder của coursera là một sự lựa chọn tốt. Đây là khoá học căn bản nhất cho người mới bắt đầu. Trong khoá này thầy Andrew giảng rất kỹ các khái niệm bắt đầu của Học máy. Nếu bạn ngần ngại vì kiến thức toán của mình không tốt thì đừng lo. Tất cả những gì liên quan đến toán đều được thầy Andrew giảng và giải thích rất kỹ và rất dễ hiểu, đôi khi bạn còn cảm thấy buồn ngủ vì có những vẫn đề khá dễ mà thầy giảng… kỹ quá.
Link khoá học: https://www.coursera.org/learn/machine-learning
Tài liệu đọc
Ngoài ra, còn có một nguồn tài liệu vô cùng quý giá đó là loạt bài trên blog machinelearningcoban của anh Tiệp, hiện đang là PhD student ở Pennsylvania State University. Các bài viết của anh Tiệp vô cùng kì công và dễ hiểu, được sắp xếp theo mức độ từ dễ đến khó. Cá nhân mình nghĩ xem lecture từ khoá của thầy Andrew kết hợp đọc thêm các tài liệu như blog machinelearningcoban và làm bài tập sẽ khiến bạn nhanh chóng học được kiến thức cơ bản mà không bị nhàm chán và nản.
A beginner’s guide to the fundamentals of deep learning
Tài liệu dưới đây cũng khá tốt để cho bạn một cái nhìn trực quan về Machine Learning.
https://www.commonlounge.com/discussion/4704c664eb2a4f25a2ca5ac47732c5f1
Tài liệu “A beginner’s guide to the fundamentals of deep learning” được giới thiệu là tập hợp các tutorial giúp người học tối ưu hoá việc học – học được nhiều thứ nhất trong thời gian ngắn nhất. Chuỗi các tutorial này kỳ vọng sẽ được hoàn thành trong khoảng thời gian từ 2 đến 3 tuần. Các nội dung mà nó cover là: cơ bản về Machine Learning , cơ bản về Deep Learning, mạng neuron tích chập (Convolutional Neural Network), mạng neuron tái phát (Recurrent Neural Network)
CS231n
CS231n là một khoá học đến từ trường đại học Stanford tập trung vào việc hiểu và sử dụng mạng neuron tích chập (Convolutional Neural Network – CNN) cho các tác vụ nhận dạng ảnh. Khoá học chia làm 3 module: Module 0: Preparation, Module 1: Neural Networks, Module 2: Convolutional Neural Network. Khoá học đi qua rất nhiều khái niệm từ cơ bản như giới thiệu về Computer Vision, các bộ phân lớp Logistic Regression, SVM, các thuật toán Opimization đến các chủ đề nâng cao như mạng CNN, các kiến trúc AlexNet, VGG, GoogLeNet, ResNet đến các chủ đề mở rộng như RNN, Deep Reinforcement Learning, Generative Adversarial Networks…
Nếu bạn có định hướng sử dụng học máy cho các bài toán về ảnh thì CS231n là lựa chọn số một cho bạn. CS231n đang là một trong những khoá học online và offline (tại Stanford) hot nhất đến thời điểm hiện tại. Stanford cung cấp các bài giảng của khoá học qua slide, video và phụ đề tiếng Anh, dễ dàng tìm thấy qua địa chỉ http://cs231n.stanford.edu/
Deep Learning Specialization
Deep Learning Specialization là một dự án của bác Andrew Ng, bạn có thể xem thêm về dự án tại deeplearning.ai. Đây là một chuỗi các khoá học tập trung vào Deep Learning, được cung cấp trên nền tảng Coursera. Specialization (một chuỗi các khoá học của Coursera chuyên sâu về một lĩnh vực nào đó) này bao gồm năm khoá học nhỏ:
Course 1: Neural Networks and Deep Learning
Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
Course 3: Structuring Machine Learning Projects
Course 4: Convolutional Neural Networks
Course 5: Sequence Models
Đến thời điểm hiện tại (09/2017) đã có 3/5 khoá học được mở và có thể truy cập thông qua coursera.
Cá nhân mình thấy đây là một nguồn học liệu rất tốt, được bác Andrew Ng rất tâm huyết. Các khoá học trong Specialization này cũng dạy bạn từ những thứ rất cơ bản như mạng Neuron nông, ít lớp (một lần nữa, phong cách giảng rất kỹ của bác Andrew Ng), cho đến những chủ đề thú vị như cấu trúc của một dự án Machine Learning thành công, hiểu và ứng dụng được các khái niệm end-to-end learning, transfer learning, và multi-task learning. Sau các khoá học này, bạn đã có thể có được các kiến thức cơ bản và quan trọng của Deep Learning. Tuy nhiên, Specialization này chỉ tập trung vào Deep Learning nên mình khuyên các bạn chỉ nên học khi đã có cái nhìn bao quát về ML và nên tìm hiểu thêm ở các nguồn khác để có thể biết về các thuật toán ML khác.
Lời kết
Việc bạn chọn học theo giáo trình hay khoá học nào không quan trọng, nhưng điều quan trọng là bạn phải hoàn thành trọn vẹn nó. Machine Learning là một lĩnh vực mới nổi và đang có ảnh hưởng lớn đến nhiều mặt trong cuộc sống. Bài viết này là bức tranh tổng quan và kinh nghiệm cá nhân của mình trong việc lựa chọn các tài liệu để tìm hiểu ML. Hi vọng sẽ phần nào trả lời được câu hỏi “Bắt đầu học Machine Learning như thế nào”
Cám ơn Hưng
ThíchThích