Ensemble (Tập hợp)
Tăng cường độ chính xác dự đoán với các phương pháp ensemble! Tìm hiểu cách kết hợp nhiều mô hình giúp nâng cao hiệu suất trong object detection, NLP, v.v.
Các phương pháp kết hợp (Ensemble methods) là một kỹ thuật mạnh mẽ trong học máy (ML), trong đó nhiều mô hình riêng lẻ được kết hợp để tạo ra một mô hình dự đoán duy nhất, vượt trội hơn. Ý tưởng cốt lõi là bằng cách tổng hợp "trí tuệ" của một số mô hình, dự đoán cuối cùng sẽ chính xác hơn, ổn định hơn và mạnh mẽ hơn so với dự đoán từ bất kỳ mô hình thành phần đơn lẻ nào. Cách tiếp cận này tương tự như việc tìm kiếm lời khuyên từ một nhóm các chuyên gia đa dạng; quyết định tập thể thường tốt hơn ý kiến của bất kỳ chuyên gia riêng lẻ nào. Các kỹ thuật này có hiệu quả cao trong việc giảm quá khớp (overfitting) và cải thiện khả năng tổng quát hóa của các mô hình trên dữ liệu chưa thấy.
Cách các mô hình Ensemble hoạt động
Học tập kết hợp (Ensemble learning) bao gồm hai bước chính: huấn luyện một nhóm các mô hình cơ sở đa dạng và sau đó kết hợp các dự đoán của chúng. Sự đa dạng giữa các mô hình cơ sở là rất quan trọng; nếu tất cả các mô hình đều mắc cùng một lỗi, thì việc kết hợp sẽ không mang lại bất kỳ cải thiện nào. Sự đa dạng này có thể đạt được bằng cách sử dụng các thuật toán khác nhau, huấn luyện trên các tập hợp con khác nhau của dữ liệu huấn luyện, hoặc sử dụng các siêu tham số (hyperparameters) khác nhau.
Sau khi các mô hình được huấn luyện, các dự đoán của chúng được tổng hợp. Đối với các tác vụ phân loại, điều này thường được thực hiện thông qua cơ chế bỏ phiếu (ví dụ: lớp có nhiều phiếu bầu nhất sẽ thắng). Đối với các tác vụ hồi quy, các dự đoán thường được tính trung bình. Mô hình kết hợp thu được thường thể hiện hiệu suất tốt hơn, một khái niệm được khám phá trong Định lý bồi thẩm đoàn Condorcet.
Các kỹ thuật Ensemble phổ biến
Một số phương pháp phổ biến tồn tại để tạo ra các tập hợp (ensembles) hiệu quả:
- Bagging (Bootstrap Aggregating): Kỹ thuật này liên quan đến việc huấn luyện nhiều mô hình (ví dụ: cây quyết định) trên các tập hợp con ngẫu nhiên khác nhau của dữ liệu huấn luyện. Thuật toán Rừng ngẫu nhiên (Random Forest) là một triển khai nổi tiếng của bagging.
- Boosting: Các mô hình được huấn luyện tuần tự, với mỗi mô hình mới tập trung vào việc sửa các lỗi do các mô hình trước đó gây ra. Các thuật toán boosting nổi bật bao gồm AdaBoost, Gradient Boosting, XGBoost và LightGBM.
- Xếp chồng (Stacked Generalization): Phương pháp này bao gồm huấn luyện một số mô hình khác nhau (base-learners) và sử dụng một mô hình học máy khác (meta-learner) để tìm hiểu cách kết hợp tốt nhất các dự đoán của chúng.
- Voting (Bỏ phiếu) và Averaging (Trung bình hóa): Đây là những phương pháp đơn giản nhất, trong đó dự đoán cuối cùng là kết quả bỏ phiếu đa số (hard voting) hoặc trung bình của các xác suất dự đoán (soft voting) từ tất cả các mô hình. Các mô hình Ultralytics YOLO hỗ trợ một hình thức trung bình hóa với tính năng ensembling mô hình của nó.
Các Ứng dụng Thực tế
Các phương pháp kết hợp được sử dụng rộng rãi trong các ứng dụng quan trọng, nơi độ chính xác cao là tối quan trọng:
- Phân tích ảnh y tế: Trong các tác vụ như phát hiện khối u, có thể sử dụng một tập hợp các Mạng nơ-ron tích chập (CNN). Mỗi CNN có thể được huấn luyện trên các tập hợp con khác nhau của ảnh chụp y tế hoặc với các kiến trúc khác nhau. Bằng cách kết hợp đầu ra của chúng, hệ thống có thể đạt được chẩn đoán chính xác và đáng tin cậy hơn, giảm nguy cơ âm tính hoặc dương tính giả trong các ứng dụng như chẩn đoán hình ảnh y tế.
- Hệ thống tự động: Đối với xe tự hành, nhận diện đối tượng đáng tin cậy là vấn đề an toàn. Một ensemble có thể kết hợp các mô hình khác nhau, chẳng hạn như YOLOv8 và YOLO11, hoặc các mô hình được huấn luyện với các chiến lược tăng cường dữ liệu khác nhau. Cách tiếp cận này giảm thiểu rủi ro một mô hình duy nhất không phát hiện được người đi bộ hoặc chướng ngại vật, dẫn đến một hệ thống perception mạnh mẽ hơn.
So sánh phương pháp kết hợp (Ensemble) với các khái niệm liên quan
Việc phân biệt các phương pháp tập hợp (ensemble methods) với các khái niệm liên quan khác là rất hữu ích:
- Tổ hợp mô hình (Model Ensemble): Thuật ngữ này thường được sử dụng thay thế cho nhau với "Ensemble". Trong khi "Ensemble" đề cập đến kỹ thuật chung, thì Tổ hợp mô hình (Model Ensemble) thường đề cập đến việc triển khai thực tế của việc kết hợp các phiên bản mô hình đã được huấn luyện cụ thể. Nguyên tắc cơ bản là giống nhau.
- Mixture of Experts (MoE): Mặc dù cả hai đều sử dụng nhiều mô hình, nhưng cơ chế của chúng khác nhau. Một ensemble kết hợp các dự đoán từ tất cả các mô hình cho mọi đầu vào. Ngược lại, một mô hình Mixture of Experts (MoE) sử dụng một mạng cổng để chọn động mô hình "chuyên gia" phù hợp nhất cho một đầu vào cụ thể, chỉ sử dụng một tập hợp con các mô hình cho mỗi dự đoán.
Mặc dù các mô hình tập hợp (ensembles) làm tăng thêm sự phức tạp và chi phí tính toán cho huấn luyện mô hình và triển khai, nhưng những lợi ích về hiệu suất thường biện minh cho chi phí đó. Các nền tảng như Ultralytics HUB có thể hợp lý hóa việc quản lý nhiều mô hình được xây dựng bằng các framework như PyTorch hoặc TensorFlow, đơn giản hóa việc tạo ra các mô hình tập hợp mạnh mẽ.