Một số nguồn tham khảo miễn phí về Deep Learning (DL) và Machine Learning (ML) (Phần 2-1) Online Courses (Tiếng Anh)
Như mình đã từng đề cập, để nắm bắt được các thông tin mới nhất về AI, DL hay ML bạn buộc phải đọc được bằng tiếng Anh vì phần lớn các tài liệu hay và dễ hiểu nhất đều chủ yếu là tiếng Anh. Trên tinh thần đó, trong các phần tiếp theo của series này mình sẽ tiếp tục giới thiệu các khóa học về DL và ML bằng tiếng Anh chất lượng mà còn miễn phí và đều thuộc loại không ai không biết, không biết thiệt ráng chịu. Các bạn không cần phải học theo thứ tự mình giới thiệu vì mỗi người có một cách học khác nhau. Ví dụ như mình thường làm theo tutorial trước rồi không hiểu gì mới học lại vì mình luôn muốn biết vì sao cần học những kiến thức ấy trước khi đi sâu vào. Mở đầu sẽ là một course về ML.
**Machine Learning của Prof. Andrew Ng trên Coursera**
[Coursera | Online Courses From Top Universities. Join for Free] (
Prof Andrew Ng. là giáo sư chuyên ngành Machine Learning tại ĐH Stanford, Mỹ và là người từng dẫn dắt Google Brain (phụ trách R&D về AI của Google) và bộ phận nghiên cứu DL của Baidu. Khóa học online này bắt nguồn từ khóa học nhập môn ML của thầy Andrew dạy ở ĐH Standford và được thầy đưa lên internet với mục đích đưa giáo dục đẳng cấp thế giới đến với tất cả mọi người. Khóa này thuộc loại sớm nhất và được recommend nhiều nhất cho những người muốn học cơ bản về ML (một khóa học online liên quan đến AI khác cũng rất nổi tiếng cùng thời là của GS Sebastian Thrun cũng thuộc ĐH Stanford). Nó được ưa chuộng đến mức mà thầy Andrew đã nghĩ tới việc lập hẳn một công ty chuyên cung cấp nhưng khóa học miễn phí như vậy (Coursera) và góp phần mở ra trào lưu MOOCs (Massive Open Online Courses) trên toàn thế giới với những Edx, Udacity, Future Learn, Iversity, …
Về phần toán thì các bạn chỉ cần toán cấp 3 mà cụ thể hơn là biết cách cộng, nhân ma trận, biết tính đạo hàm là đã có thể bắt đầu học được. Khóa được chia ra làm 11 tuần, mỗi tuần sẽ có một số video bài giảng ngắn (5 đến 10 phút) thầy Andrew giới thiệu về các khái niệm và công thức cần nắm. Ngoài ra sau khi xem xong video sẽ có các bài quizz nhỏ để kiểm tra lại xem người học đã nắm được các điểm chính chưa. Cuối mỗi tuần sẽ là một bài tập về programming và sau khi hoàn thành người học có thể nộp lên server để được chấm điểm một cách tự động. Ngôn ngữ lập trình được sử dụng là Octave (một clone của ngôn ngữ MATLAB), nếu các bạn đã có kinh nghiệm lập trình bất kì ngôn ngữ nào thì Octave không phải quá khó để học. Hơn nữa ở tuần thứ 2 thầy Andrew Ng cũng có hướng dẫn sơ qua về các câu lệnh Octave cơ bản để giúp người học có thể hoàn thành các bài tập trên. Theo ý kiến riêng thì mình chưa thấy ai có thể giải thích những khái niệm và công thức khó nhằn một cách trực quan dễ hiểu và lại ngắn gọn như thầy Andrew. Dưới đây là tóm tắt sơ qua về những gì chúng ta sẽ được học trong mỗi tuần.
+ Week 1: Introduction, Linear Regression with One Variable, Linear Algebra Review - Trong tuần mở đầu, các bạn sẽ được nghe thầy giới thiệu về các khái niệm thế nào là ML và 2 nhánh chính của ML là Supervised Learning (học có hướng dẫn) và Unsupervised Learning (học không qua hướng dẫn). Tiếp theo sẽ là các thuật ngữ phải biết trong ML như Cost Function, Gradient Descent được giới thiệu thông qua ví dụ về ứng dụng của phương pháp Linear Regression trong bài toán dự đoán giá nhà với một biến số đầu vào. Ở tuần này, thầy còn cung cấp các tài liệu để tóm tắt lại về các kiến thức Đại số tuyến tính (Linear Algebra) cần thiết.
+ Week 2: Linear Regression with Multiple Variables, Octave/Matlab Tutorial - Ở tuần này, thầy sẽ mở rộng các khái niệm ở tuần 1 để áp dụng vào bài toán dự đoán giá nhà với phương pháp Linear Regression có nhiều hơn 1 biến số đầu vào.
+ Week 3: Logistic Regression, Regularization - Tiếp theo bài toán regression, các bạn sẽ được tiếp xúc với bài toán phân loại (Classification) và các khái niệm liên quan. Đặc biệt, một vấn đề quan trọng nhất trong ML là khả năng Generalization của 1 model sẽ được nhắc đến cùng với những vấn đề liên quan khác như Overfitting, Regularization.
+ Week 4: Neural Network: Representation - Dựa trên những kiến thức ở 2 tuần trước đó, các bạn sẽ nắm được những khái niệm vỡ lòng về Neural Network (NN, nền tảng để hiểu được Deep Learning).
+ Week 5: Neural Network: Learning - Tiếp theo của tuần thứ 4, các bạn sẽ bắt đầu hiểu ra NN được train (nôm na là học) như thế nào và cách để train nó tốt hơn.
+ Week 6: Advice for Applying Machine Learning, Machine Learning System Design - Sau 5 tuần học để các bạn có thể áp dụng ML tốt hơn vào thực tế, ở tuần này thầy sẽ đàm đạo về những vấn đề cần lưu ý khi làm ứng dụng ML như vì sao nên chia data bạn có thành các tập train/validation/test, vấn đề cân bằng giữa bias/variance của 1 model, các tiêu chí đánh giá xem model đã học tốt hay chưa...
+ Week 7: Support Vector Machines - Ở tuần này, các bạn sẽ tìm hiểu về SVM, một trong những thuật toán đơn giản mà hiệu quả nhất trong ML và được sử dụng rất phổ biến trước khi các mô hình Deep Learning lên ngôi.
+ Week 8: Unsupervised Learning, Demension Reduction - Sau một loạt các bài toán về Supervised Learning, các bạn sẽ được học thuật toán đầu tiên và đơn giản nhất trong phân nhánh Unsupervised Learrning là K-means và bài toán Clustering. Ngoài ra, các bạn còn được học về thuật toán Principle Components Analysis (PCA) dùng để giảm số chiều của data nhằm tăng tốc độ train hoặc biểu diễn data trong không gian 2D hoặc 3D đối với các dữ liệu phức tạp.
+ Week 9: Anomaly Detection, Recommender Systems - Các bạn sẽ có cái nhìn trực quan hơn về ML qua hai ứng dụng thực tế là Anomaly Detection (ví dụ như phát hiện sự bất thường của máy móc hoặc giao dịch ngân hàng) và Recommender System (ví dụ như hệ thống giới thiệu phim mới dựa trên các bộ phim mà bạn đã xem). Với ứng dụng đầu tiên, các bạn sẽ học cách sử dụng Gauss Distribution (phân bố tự nhiên) để xây dựng giải pháp. Với ứng dụng thứ 2 sẽ sử dụng Collaborative Filtering để giải quyết.
+ Week 10: Large Scale Machine Learning - Tuần này thầy sẽ đàm đạo với các bạn về một số cách áp dụng ML vào các tập data lớn và các kỹ thuật phổ biến khi làm việc với Big Data như là Map Reduce hay Data Parallelism.
+ Week 11: Application Example: Photo OCR - Trong tuần cuối cùng, các bạn sẽ được học cách xây dựng một hệ thống OCR (nhận diện chữ viết trong ảnh) từng bước một như là một ứng dụng cuối cùng trong khóa học nhằm hệ thống lại tất cả những gì đã học.
Nguồn bài viết:
Mai Ánh Hồng
Nguyễn Hải Long