Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Tập hợp mô hình

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ế.

hình tổng hợp là một kỹ thuật tinh vi trong học máy (ML), trong đó các dự đoán từ nhiều mô hình độc lập được kết hợp để tạo ra một kết quả cuối cùng duy nhất, vượt trội. Thay vì dựa vào khả năng ra quyết định của một thuật toán, mô hình tổng hợp tận dụng nguyên lý "trí tuệ đám đông" để cải thiện độ chính xác và độ ổn định tổng thể. Bằng cách tổng hợp kết quả của nhiều mô hình khác nhau, các kỹ sư có thể giảm đáng kể nguy cơ quá khớp với tập huấn luyện và tạo ra các hệ thống mạnh mẽ hơn nhiều trước nhiễu trong dữ liệu huấn luyện . Phương pháp này thường được sử dụng để đạt được kết quả tiên tiến trong các môi trường cạnh tranh như các cuộc thi Kaggle .

Cơ chế học tập tổng hợp

Hiệu quả của một tập hợp mô hình phụ thuộc vào tính đa dạng của các thành phần cấu thành. Nếu tất cả các mô hình đều có điểm yếu giống nhau, việc kết hợp chúng sẽ không mang lại cải thiện nào. Do đó, các chuyên gia thường tạo ra tính đa dạng bằng cách thay đổi kiến trúc mạng nơ-ron , sử dụng các tập dữ liệu khác nhau hoặc áp dụng các chiến lược tăng cường dữ liệu riêng biệt.

Có ba phương pháp chính để xây dựng các nhóm:

  • Bagging (Tổng hợp Bootstrap): Phương pháp này bao gồm việc huấn luyện nhiều phiên bản của cùng một mô hình, chẳng hạn như cây quyết định , trên các mẫu ngẫu nhiên khác nhau của tập dữ liệu. Ví dụ kinh điển là thuật toán Rừng Ngẫu nhiên , tính trung bình các dự đoán của nhiều cây để làm mịn phương sai, như được trình bày chi tiết trong tài liệu hướng dẫn Scikit-learn ensemble .
  • Boosting: Trong kỹ thuật lặp này, các mô hình được huấn luyện tuần tự. Mỗi mô hình mới tập trung vào việc sửa lỗi do các mô hình tiền nhiệm gây ra. Các triển khai phổ biến như XGBoostLightGBM sử dụng phương pháp này để chuyển đổi các bộ học yếu thành một mô hình tổng hợp có độ chính xác cao.
  • Xếp chồng: Phương pháp nâng cao này huấn luyện một "siêu học viên" để kết hợp các dự đoán của nhiều mô hình cơ sở khác nhau, chẳng hạn như kết hợp Máy vectơ hỗ trợ (SVM) với một mô hình học sâu. Siêu học viên tối ưu hóa cách cân nhắc ý kiến của từng chuyên gia để giảm thiểu hàm mất mát cuối cùng.

Các Ứng dụng Thực tế

Các nhóm mô hình đóng vai trò then chốt trong các ngành công nghiệp đòi hỏi độ chính xác cao và chi phí sai sót lớn.

  1. Phân tích hình ảnh y tế: Chẩn đoán các tình trạng phức tạp thường đòi hỏi phải phân tích các mẫu hình tinh tế trong dữ liệu hình ảnh. Một hệ thống chẩn đoán có thể sử dụng một tập hợp mô hình kết hợp Mạng nơ-ron tích chập (CNN) chuyên phân tích kết cấu với Bộ chuyển đổi thị giác (ViT) có khả năng hiểu bối cảnh tổng thể vượt trội. Sự kết hợp này giúp phát hiện khối u trong hình ảnh y tế với độ nhạy cao hơn bất kỳ kiến trúc đơn lẻ nào có thể đạt được.
  2. Hệ thống tự hành: Đối với xe tự hành , hệ thống nhận diện phải đảm bảo an toàn tuyệt đối. Các kỹ sư thường vận hành một tập hợp các mô hình phát hiện vật thể —ví dụ, kết hợp khả năng tốc độ cao của YOLO11 với độ chính xác dựa trên bộ biến áp của RT-DETR . Điều này đảm bảo phát hiện người đi bộ hoặc chướng ngại vật ngay cả khi một mô hình gặp khó khăn với ánh sáng hoặc vật cản cụ thể.

Nhóm so với Hỗn hợp các chuyên gia (MoE)

Điều quan trọng là phải phân biệt một tập hợp mô hình chuẩn với một Hỗn hợp Chuyên gia (MoE) . Mặc dù cả hai đều sử dụng nhiều mô hình con, nhưng chúng hoạt động khác nhau trong quá trình suy luận:

  • Mô hình tổng hợp: Thường truy vấn mọi mô hình trong bộ sưu tập cho mọi dữ liệu đầu vào và hợp nhất kết quả. Điều này tối đa hóa độ chính xác nhưng làm tăng độ trễ suy luận và chi phí tính toán.
  • Hỗn hợp Chuyên gia: Sử dụng mạng lưới cổng để định tuyến dữ liệu đến một vài "chuyên gia" cụ thể (mô hình con) phù hợp nhất với đầu vào hiện tại. Điều này cho phép mở rộng quy mô lớn trong các mô hình nền tảng như Switch Transformers mà không phải chịu gánh nặng tính toán khi chạy mọi tham số cho mọi mã thông báo.

Triển khai Ensembles với Ultralytics

Trong khi các thư viện như PyTorch Cho phép các kiến trúc tổng hợp phức tạp, bạn có thể đạt được một tổng hợp cơ bản để suy luận bằng cách chỉ cần 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 riêng biệt YOLO các mô hình sử dụng ultralytics bưu kiện.

from ultralytics import YOLO

# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo11n.pt")  # Nano model
model_b = YOLO("yolo11s.pt")  # Small model

# Perform inference on an image with both models
# In a production ensemble, you would merge these results (e.g., via NMS)
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")

print(f"Model A detections: {len(results_a[0].boxes)}")
print(f"Model B detections: {len(results_b[0].boxes)}")

Việc triển khai các nhóm mô hình đòi hỏi phải cân nhắc kỹ lưỡng về tài nguyên MLOps , vì việc triển khai nhiều mô hình sẽ làm tăng mức sử dụng bộ nhớ. Tuy nhiên, đối với các tác vụ đòi hỏi hiệu suất cao nhất có thể trong thị giác máy tính (CV) , sự đánh đổi này thường được chấp nhận.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay