Tăng cường độ chính xác và tính mạnh mẽ của mô hình với Model Ensembles. Khám phá các kỹ thuật như bagging, boosting, stacking và các ứng dụng thực tế.
Mô hình kết hợp (Model Ensemble) là một phương pháp chiến lược trong học máy, trong đó các dự đoán từ nhiều mô hình riêng lẻ được kết hợp để tạo ra kết quả cuối cùng thường chính xác và mạnh mẽ hơn bất kỳ mô hình đơn lẻ nào có thể đạt được. Giống như một ủy ban các chuyên gia thảo luận để đưa ra quyết định tốt hơn so với một cá nhân, mô hình kết hợp tận dụng thế mạnh của các kiến trúc đa dạng để giảm thiểu sai sót. Kỹ thuật này được sử dụng rộng rãi để cải thiện hiệu suất trong các tác vụ phức tạp, giảm nguy cơ quá khớp (overfitting ) và xử lý sự đánh đổi giữa độ lệch và phương sai vốn có trong mô hình thống kê.
Nguyên tắc cốt lõi đằng sau một tập hợp mô hình là "sự đa dạng". Bằng cách huấn luyện nhiều mô hình—thường được gọi là "mô hình cơ sở" hoặc "mô hình yếu"—trên các tập con dữ liệu huấn luyện khác nhau hoặc sử dụng các thuật toán khác nhau, tập hợp mô hình đảm bảo rằng các lỗi do một mô hình gây ra có khả năng được các mô hình khác sửa chữa. Trong bối cảnh học sâu , điều này thường liên quan đến việc chạy nhiều mạng nơ-ron song song trong quá trình suy luận.
Các phương pháp phổ biến để kết hợp những dự đoán này bao gồm:
Việc sử dụng tập hợp các mô hình là rất cần thiết trong các môi trường có tính rủi ro cao, nơi tối đa hóa độ chính xác là điều tối quan trọng và nguồn lực tính toán cho phép chạy nhiều mô hình cùng lúc.
Mặc dù có thể xây dựng các chiến lược kết hợp phức tạp bằng cách sử dụng các thư viện như Scikit-learn , bạn vẫn có thể tạo một mô hình kết hợp suy luận cơ bản cho thị giác máy tính bằng cách đơn giản là tải nhiều mô hình và xử lý cùng một đầu vào. Ví dụ sau đây minh họa cách tải hai mô hình Ultralytics YOLO khác nhau để tạo ra dự đoán trên cùng một hình ảnh.
from ultralytics import YOLO
# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo26n.pt") # Nano model (Speed focused)
model_b = YOLO("yolo26s.pt") # Small model (Higher accuracy)
# Perform inference on an image with both models
# In production, results are typically merged programmatically
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")
print(f"Model A detected {len(results_a[0].boxes)} objects.")
print(f"Model B detected {len(results_b[0].boxes)} objects.")
Việc phân biệt giữa một tập hợp mô hình tiêu chuẩn và một "Hỗn hợp các chuyên gia" (Mixture of Experts - MoE) , một thuật ngữ thường thấy trong nghiên cứu Mô hình ngôn ngữ quy mô lớn (Large Language Model - LLM) hiện đại, là rất hữu ích.
Ưu điểm chính của việc sử dụng mô hình kết hợp là sự tăng cường hiệu suất. Các mô hình kết hợp thường thống trị bảng xếp hạng trong các cuộc thi khoa học dữ liệu như Kaggle vì chúng có thể mô phỏng các mẫu phức tạp mà các mô hình đơn lẻ không thể phát hiện. Tuy nhiên, điều này cũng đi kèm với một chi phí: việc triển khai các mô hình kết hợp đòi hỏi nhiều bộ nhớ và sức mạnh tính toán hơn.
Đối với các nhóm muốn quản lý hiệu quả các nhu cầu về tài nguyên này, Nền tảng Ultralytics cung cấp các công cụ để đào tạo, track và đánh giá hiệu năng các kiến trúc mô hình khác nhau. Bằng cách so sánh các chỉ số hiệu năng một cách dễ dàng, các nhà phát triển có thể quyết định xem liệu lợi ích về độ chính xác đạt được từ một mô hình kết hợp có xứng đáng với cơ sở hạ tầng bổ sung cần thiết để triển khai trong các kịch bản AI biên hay không.