Trang này cung cấp các tài liệu luyện tập và mẹo chuẩn bị cho International Machine Learning Competition.
🎓 Mẹo chuẩn bị cho người tham gia
Dưới đây là một bộ các mẹo được thiết kế để giúp bạn chuẩn bị cho International Machine Learning Competition. Những khuyến nghị này được điều chỉnh để hỗ trợ sự thành công của bạn trong cuộc thi và nâng cao kỹ năng của bạn:
- Nắm vững định dạng cuộc thi
Hãy bắt đầu bằng cách hiểu cấu trúc và yêu cầu của từng vòng: Qualification Round tập trung vào các chủ đề đa dạng trong tất cả các lĩnh vực của machine learning, Pre-Final Round bao gồm một kỳ thi có giám sát dựa trên một bài báo nghiên cứu gần đây, và Final Round kiểm tra khả năng giải quyết vấn đề rộng, có giới hạn thời gian trong điều kiện thi cử. Việc xem lại các bài toán IMLC trước đây sẽ giúp bạn nắm bắt được sự đa dạng và mức độ khó của mỗi vòng.
- Tập trung vào các chủ đề cốt lõi
Các bài toán trong IMLC đến từ nhiều lĩnh vực machine learning khác nhau, bao gồm các nền tảng toán học, tối ưu hóa và tổng quát hóa, deep learning, frontier models, các ứng dụng và trustworthy AI. Hãy đảm bảo rằng bạn nắm vững các khái niệm cơ bản, thuật toán và các công cụ chính trong các chủ đề này để xây dựng một nền tảng vững chắc nhằm giải quyết các bài toán.
- Rèn luyện kỹ năng giải quyết vấn đề
Hãy nỗ lực cải thiện trực giác, khả năng lập luận và tư duy phân tích bằng cách giải các bài toán machine learning từ sách giáo khoa, các cuộc thi trước đây và các nguồn tài nguyên được đề xuất bên dưới. Hãy thực hành việc tự thiết lập thuật toán bằng tay, đọc các đường cong mất mát (loss curves), xác định các giả định và nhận diện các chế độ lỗi (failure modes). Những kỹ năng này sẽ giúp bạn tiếp cận các bài toán IMLC thách thức nhất một cách hiệu quả.
- Học hỏi từ sai lầm
Việc suy ngẫm về những sai lầm và học hỏi từ chúng là một phần thiết yếu để phát triển trong bất kỳ cuộc thi nào. Đầu tiên, hãy cố gắng giải bài toán hết mức có thể. Sau đó, hãy so sánh với lời giải cho trước và đánh giá xem bạn đã mắc lỗi ở bước nào để sửa chữa tương ứng.
- Sử dụng các nguồn tài nguyên có sẵn
Hãy tận dụng các bộ bài toán IMLC trước đây, các sách giáo khoa được đề xuất và các nền tảng trực tuyến để mài giũa kỹ năng của bạn. Ngoài ra, đội ngũ IMLC luôn sẵn sàng để hỗ trợ và hướng dẫn; đừng ngần ngại liên hệ với chúng tôi để được giúp đỡ.
- Chuẩn bị đọc một bài báo nghiên cứu (Pre-Final Round)
Pre-Final Round sẽ cung cấp cho bạn một bài báo nghiên cứu machine learning gần đây trước một kỳ thi có giám sát. Hãy thực hành đọc và tóm tắt các bài báo, tập trung vào việc trích xuất phương pháp chính, hiểu cấu trúc của các thí nghiệm và kết nối các phát hiện với các khái niệm machine learning rộng hơn. Việc đọc các bài báo trình bày một phương pháp và đánh giá nó sẽ giúp phát triển kỹ năng này.
- Mô phỏng giải quyết vấn đề có giới hạn thời gian (Final Exam)
Quản lý thời gian là yếu tố thiết yếu cho Pre-Final Round và thậm chí quan trọng hơn trong Final Exam. Hãy thực hành giải quyết các bài toán trong giới hạn thời gian nhất định để phát triển khả năng kiểm soát tốc độ làm bài.
- Hợp tác và học hỏi từ người khác
Hãy tham gia các nhóm học tập, câu lạc bộ machine learning, hoặc kết nối với các IMLC Ambassadors để thảo luận về các chiến lược và chia sẻ hiểu biết. Sự hợp tác có thể giúp bạn khám phá các cách tiếp cận giải quyết vấn đề mới và giữ vững động lực trong suốt quá trình chuẩn bị.
- Tận hưởng trải nghiệm học tập
Hãy nhớ rằng IMLC ưu tiên việc học hỏi và mở rộng kiến thức của bạn trong khi tham gia. Hãy dấn thân vào từng bài toán và coi mỗi thử thách là một cơ hội để hiểu sâu hơn về cách các mô hình machine learning hoạt động, học hỏi và gặp lỗi.
☑ Syllabus
Dưới đây là phác thảo các lĩnh vực machine learning cốt lõi được đề cập trong IMLC, cùng với các khái niệm và công cụ chính là nền tảng cho mỗi lĩnh vực. Syllabus này
không mang tính toàn diện, nhưng nó bao quát phần lớn các nội dung bạn sẽ gặp. Hầu hết các bài toán không yêu cầu kiến thức chuyên môn quá cao; thay vào đó, chúng kiểm tra sự hiểu biết tổng quát về machine learning. Hãy lưu ý rằng các vòng tiếp theo sẽ xây dựng dựa trên các khái niệm của các vòng trước đó, vì vậy các ý tưởng dưới đây sẽ tiếp tục được áp dụng khi cuộc thi tiến triển.
- Nền tảng:
Các nền tảng thiết lập cốt lõi cổ điển mà mọi thứ khác trong machine learning đều xây dựng dựa trên. Điều này bao gồm việc hiểu cách các mô hình như support vector machines, logistic regression, decision trees và kernels hoạt động, cũng như cách tự thiết lập chúng bằng tay. Việc nắm vững các khái niệm này là thiết yếu để hiểu các chủ đề nâng cao hơn.
- Linear Models: Linear regression, logistic regression, decision boundaries
- Support Vector Machines: Maximum-margin classifiers, the kernel trick
- Decision Trees: Splitting criteria, entropy, information gain
- Loss Function: \(L(\hat{y}, y)\) (Đo lường mức độ sai lệch của một dự đoán)
- Gradient: \(\nabla_\theta L(\theta)\) (Hướng tăng mạnh nhất của hàm mất mát)
- Optimization & Generalization:
Lĩnh vực này bao gồm cách máy móc thực sự học: gradient descent, loss landscapes, regularization, và lý do tại sao các mô hình chỉ đơn thuần ghi nhớ dữ liệu huấn luyện lại thất bại trong việc tổng quát hóa cho dữ liệu mới. Những khái niệm này cho phép bạn lập luận về lý do tại sao một mô hình được huấn luyện tốt hoặc kém.
- Gradient Descent: \(\theta \leftarrow \theta - \eta \nabla_\theta L(\theta)\) (Cập nhật các tham số để giảm mất mát)
- Bias-Variance Tradeoff: Cân bằng giữa underfitting và overfitting
- Regularization: \(L(\theta) + \lambda \lVert \theta \rVert^2\) (Phạt sự phức tạp để cải thiện khả năng tổng quát hóa)
- Cross-Validation: Ước tính hiệu suất của một mô hình trên dữ liệu chưa từng thấy
- Overfitting: Khi một mô hình khớp với dữ liệu huấn luyện nhưng thất bại trên dữ liệu mới
- Deep Learning:
Deep learning giải quyết các kiến trúc được xây dựng từ các lớp biểu diễn học được. Hiểu về backpropagation, convolutional networks, recurrent networks và transformer giúp giải thích cách các mô hình hiện đại xử lý dữ liệu và học từ đó.
- Backpropagation: \(\frac{\partial L}{\partial \theta_i} = \frac{\partial L}{\partial y}\frac{\partial y}{\partial \theta_i}\) (Quy tắc chuỗi được áp dụng qua một mạng)
- Activation Functions: ReLU, sigmoid, softmax, và lý do tại sao tính phi tuyến tính lại quan trọng
- Convolutional Networks: Các bộ lọc được học cho dữ liệu không gian như hình ảnh
- Recurrent Networks: Xử lý các chuỗi bằng cách duy trì một trạng thái ẩn (hidden state) truyền tiếp về sau
- Attention & Transformers: Đánh trọng số cho những phần nào của đầu vào quan trọng đối với mỗi đầu ra
- Frontier Models:
Frontier models bao gồm ranh giới nghiên cứu hiện tại của lĩnh vực: các mô hình ngôn ngữ lớn, fine-tuning, retrieval-augmented generation, và các kỹ thuật hiệu quả giúp triển khai các mô hình lớn. Hiểu về quy mô, sự thích ứng và hiệu quả giúp giải thích tại sao các mô hình lớn nhất hiện nay lại hoạt động theo cách chúng đang làm.
- Large Language Models: Pretraining trên các tập dữ liệu lớn, next-token prediction
- Fine-Tuning: Thích ứng một mô hình đã được huấn luyện trước cho một nhiệm vụ hoặc lĩnh vực cụ thể
- Parameter-Efficient Fine-Tuning: Thích ứng một mô hình bằng cách huấn luyện một tập hợp nhỏ các tham số bổ sung, chẳng hạn như LoRA và adapters
- Retrieval-Augmented Generation: Kết hợp một mô hình với một nguồn kiến thức bên ngoài
- Quantization: Lưu trữ trọng số với ít bit hơn để giảm sử dụng bộ nhớ
- Distillation: Huấn luyện một mô hình nhỏ hơn để bắt chước một mô hình lớn hơn
- Applications:
Applications nói về việc các phương pháp machine learning được áp dụng trong thực tế như thế nào: thị giác máy tính, xử lý ngôn ngữ tự nhiên, chăm sóc sức khỏe, hệ thống gợi ý và khám phá khoa học. Hiểu cách các phương pháp nền tảng tương tự được chuyển đổi thành các hệ thống được triển khai sẽ giúp kết nối lý thuyết với tác động thực tế.
- Computer Vision: Phân loại hình ảnh, phát hiện đối tượng, phân đoạn (segmentation)
- Natural Language Processing: Phân loại văn bản, dịch thuật, trả lời câu hỏi
- Recommender Systems: Dự đoán những gì người dùng có khả năng muốn tiếp theo
- Healthcare Applications: Hỗ trợ chẩn đoán, dự đoán rủi ro, chẩn đoán hình ảnh
- Evaluation Metrics: Precision, recall, accuracy, và khi nào mỗi chỉ số có thể gây hiểu lầm
- Class Imbalance: Tại sao chỉ riêng độ chính xác (accuracy) có thể là một thước đo kém về chất lượng của mô hình
- Trustworthy AI:
Trustworthy AI giải quyết vấn đề các mô hình thất bại như thế nào, chúng có thể bị tấn công ra sao và việc triển khai có trách nhiệm đòi hỏi những gì. Hiểu về tính mạnh mẽ (robustness), tính công bằng (fairness) và sự căn chỉnh (alignment) giúp giải thích tại sao một mô hình hoạt động tốt trên lý thuyết vẫn có thể gây hại trong thực tế.
- Adversarial Examples: Những thay đổi đầu vào nhỏ, được thiết kế tinh vi để đánh lừa mô hình
- Robustness: Khả năng một mô hình duy trì hiệu suất dưới sự thay đổi phân phối hoặc bị tấn công
- Fairness: Liệu các lỗi của mô hình có được phân bổ không đồng đều giữa các nhóm hay không
- Alignment: Liệu hành vi của mô hình có khớp với ý định của những người thiết kế nó hay không
- Interpretability: Hiểu tại sao một mô hình lại tạo ra một đầu ra nhất định
Ngoài ra, Pre-Final Round sẽ cung cấp cho bạn một bài báo nghiên cứu gần đây để nghiên cứu trước một kỳ thi có giám sát. Final Exam cũng có thể bao gồm các câu hỏi liên quan đến các bài toán trước đó (ví dụ: bài báo nghiên cứu) từ Pre-Final Round và Qualification Round. Hãy cân nhắc xem qua trang này để hiểu rõ hơn về sự khác biệt giữa IMLC so với các định dạng cuộc thi khác và những gì cần mong đợi:
- Về IMLC ↗ (Cách IMLC khác với các cuộc thi khác và những gì cần mong đợi.)
📖 Đề xuất sách
Hầu hết các sách giáo khoa nhập môn về machine learning, thống kê và deep learning đều hữu ích và chứa thông tin cần thiết để tiếp cận các bài toán. Để tham khảo, vui lòng xem danh sách các cuốn sách được đề xuất sau đây:
- Machine Learning Foundations:
- Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Pearson.
- Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer.
- Kevin P. Murphy. Probabilistic Machine Learning: An Introduction. MIT Press.
- Aurélien Géron. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. O'Reilly Media.
- Shai Shalev-Shwartz and Shai Ben-David. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press.
- Statistical Learning:
- Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani. An Introduction to Statistical Learning. Springer.
- Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning. Springer.
- Deep Learning:
- Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. MIT Press.
- Christopher M. Bishop and Hugh Bishop. Deep Learning: Foundations and Concepts. Springer.
- Simon J.D. Prince. Understanding Deep Learning. MIT Press.
- François Chollet. Deep Learning with Python. Manning Publications.
- Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola. Dive into Deep Learning. Cambridge University Press.
- Mathematics for Machine Learning:
- Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong. Mathematics for Machine Learning. Cambridge University Press.
- Gilbert Strang. Introduction to Linear Algebra. Wellesley-Cambridge Press.
- Dimitri P. Bertsekas and John N. Tsitsiklis. Introduction to Probability. Athena Scientific.
- Larry Wasserman. All of Statistics: A Concise Course in Statistical Inference. Springer.
- Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press.
- Natural Language Processing, Vision, and Reinforcement Learning:
- Daniel Jurafsky and James H. Martin. Speech and Language Processing. Pearson.
- Richard Szeliski. Computer Vision: Algorithms and Applications. Springer.
- Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction. MIT Press.