Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
Bảng chú giải thuật ngữ

Quá khớp (Overfitting)

Tìm hiểu cách xác định, ngăn ngừa và giải quyết tình trạng quá khớp (overfitting) trong học máy. Khám phá các kỹ thuật để cải thiện khả năng khái quát hóa mô hình và hiệu suất trong thế giới thực.

Quá khớp là một khái niệm cơ bản trong học máy (ML) xảy ra khi một mô hình học các chi tiết và nhiễu trong dữ liệu huấn luyện đến mức ảnh hưởng tiêu cực đến hiệu suất của mô hình trên dữ liệu mới, chưa từng thấy. Về bản chất, mô hình ghi nhớ tập huấn luyện thay vì học các mẫu cơ bản. Điều này dẫn đến một mô hình đạt được độ chính xác cao trên dữ liệu mà nó được huấn luyện, nhưng không khái quát hóa được cho dữ liệu thế giới thực, khiến nó không đáng tin cậy cho các ứng dụng thực tế. Đạt được khả năng khái quát hóa tốt là một mục tiêu chính trong phát triển AI.

Cách xác định hiện tượng Overfitting (Quá khớp)

Quá khớp thường được xác định bằng cách theo dõi hiệu suất của mô hình trên cả tập dữ liệu huấn luyện và một tập dữ liệu xác thực riêng biệt trong quá trình huấn luyện. Một dấu hiệu phổ biến của quá khớp là khi giá trị hàm mất mát cho tập huấn luyện tiếp tục giảm, trong khi mất mát cho tập xác thực bắt đầu tăng. Tương tự, nếu độ chính xác huấn luyện tiếp tục cải thiện nhưng độ chính xác xác thực chững lại hoặc xấu đi sau các epoch tiếp theo, thì mô hình có khả năng bị quá khớp. Các công cụ như TensorBoard rất tuyệt vời để trực quan hóa các số liệu này và chẩn đoán các vấn đề như vậy sớm. Các nền tảng như Ultralytics HUB cũng có thể giúp theo dõi các thử nghiệm và đánh giá các mô hình để phát hiện quá khớp.

Quá khớp so với Khớp thiếu

Quá khớp (Overfitting) và khớp thiếu (underfitting) là hai vấn đề phổ biến trong học máy, thể hiện sự thất bại của mô hình trong việc khái quát hóa. Về cơ bản, chúng là những vấn đề đối lập.

  • Quá khớp (Overfitting): Mô hình quá phức tạp so với dữ liệu (phương sai cao). Nó nắm bắt nhiễu và các biến động ngẫu nhiên trong dữ liệu huấn luyện, dẫn đến hiệu suất tuyệt vời trong quá trình huấn luyện nhưng hiệu suất kém trên dữ liệu kiểm tra.
  • Underfitting (Thiếu khớp): Mô hình quá đơn giản để nắm bắt cấu trúc cơ bản của dữ liệu (độ lệch cao). Nó hoạt động kém trên cả dữ liệu huấn luyện và dữ liệu thử nghiệm vì nó không thể học các mẫu có liên quan.

Thách thức trong học sâu là tìm ra sự cân bằng phù hợp, một khái niệm thường được mô tả bằng sự đánh đổi giữa bias và variance.

Các ví dụ thực tế về Overfitting

  1. Nhận diện đối tượng trên xe tự hành: Hãy tưởng tượng việc huấn luyện một mô hình Ultralytics YOLO cho một xe tự hành bằng cách sử dụng một tập dữ liệu chỉ chứa hình ảnh từ điều kiện nắng, ban ngày. Mô hình có thể trở nên rất chuyên biệt trong việc phát hiện người đi bộ và xe hơi trong ánh sáng mạnh nhưng lại thất bại thảm hại vào ban đêm hoặc trong thời tiết mưa hoặc sương mù. Nó đã overfit với các điều kiện ánh sáng và thời tiết cụ thể của dữ liệu huấn luyện. Sử dụng các tập dữ liệu đa dạng như Argoverse có thể giúp ngăn chặn điều này.
  2. Phân tích ảnh y tế: Một mô hình CNN được huấn luyện để phát hiện khối u từ ảnh chụp MRI lấy từ một bệnh viện duy nhất. Mô hình có thể vô tình học cách liên kết các artefakt hoặc kiểu nhiễu cụ thể từ máy MRI cụ thể của bệnh viện đó với sự hiện diện của khối u. Khi được kiểm tra trên ảnh chụp từ một bệnh viện khác với một máy khác, hiệu suất của nó có thể giảm đáng kể vì nó đã overfitting với nhiễu của bộ huấn luyện ban đầu, chứ không phải các dấu hiệu sinh học thực tế của khối u. Đây là một vấn đề quan trọng trong các lĩnh vực như ứng dụng AI trong chăm sóc sức khỏe.

Cách ngăn chặn Overfitting (Quá khớp)

Một số kỹ thuật có thể được sử dụng để chống lại tình trạng overfitting (quá khớp) và xây dựng các mô hình mạnh mẽ hơn.

  • Thu thập thêm dữ liệu: Tăng kích thước và tính đa dạng của bộ dữ liệu huấn luyện là một trong những cách hiệu quả nhất để ngăn chặn tình trạng overfitting (quá khớp). Dữ liệu lớn hơn giúp mô hình học được các mẫu cơ bản thực sự thay vì nhiễu. Bạn có thể khám phá nhiều bộ dữ liệu Ultralytics khác nhau để nâng cao các dự án của mình.
  • Data Augmentation (Tăng cường dữ liệu): Điều này bao gồm việc mở rộng một cách nhân tạo tập dữ liệu huấn luyện bằng cách tạo ra các bản sao đã được sửa đổi của dữ liệu hiện có. Các kỹ thuật như xoay ngẫu nhiên, thu phóng, cắt và thay đổi màu sắc được áp dụng. Các kỹ thuật tăng cường dữ liệu Ultralytics YOLO được tích hợp để cải thiện tính mạnh mẽ của mô hình.
  • Đơn giản hóa Kiến trúc Mô hình: Đôi khi, một mô hình quá phức tạp so với tập dữ liệu đã cho. Sử dụng một kiến trúc đơn giản hơn với ít tham số hơn có thể ngăn nó ghi nhớ dữ liệu. Ví dụ: chọn một biến thể mô hình nhỏ hơn như YOLOv8n so với YOLOv8x có thể có lợi cho các tập dữ liệu nhỏ hơn.
  • Chính quy hóa (Regularization): Kỹ thuật này thêm một hình phạt vào hàm mất mát dựa trên độ phức tạp của mô hình, không khuyến khích trọng số mô hình lớn. Các phương pháp phổ biến là chính quy hóa L1 và L2, bạn có thể đọc thêm về chúng tại đây.
  • Dropout: Một dạng cụ thể của điều chuẩn hóa, trong đó một phần ngẫu nhiên các neuron bị bỏ qua trong mỗi bước huấn luyện. Điều này buộc mạng phải học các biểu diễn dư thừa và ngăn chặn bất kỳ neuron đơn lẻ nào trở nên quá ảnh hưởng. Khái niệm Dropout được giải thích chi tiết tại đây.
  • Dừng Sớm (Early Stopping): Phương pháp này bao gồm việc theo dõi hiệu suất của mô hình trên một tập dữ liệu kiểm định (validation set) và dừng quá trình huấn luyện ngay khi hiệu suất kiểm định bắt đầu giảm, ngay cả khi hiệu suất huấn luyện vẫn đang được cải thiện. Bạn có thể xem giải thích về dừng sớm trong Keras để biết thêm chi tiết.
  • Cross-Validation (Kiểm định chéo): Bằng cách sử dụng các kỹ thuật như K-Fold cross-validation (Kiểm định chéo K-Fold), dữ liệu được chia thành nhiều phần (fold), và mô hình được huấn luyện và xác thực trên các tập con khác nhau. Điều này cung cấp một ước tính mạnh mẽ hơn về khả năng tổng quát hóa của mô hình.
  • Tỉa bớt mô hình: Điều này liên quan đến việc loại bỏ các tham số hoặc kết nối khỏi một mạng đã được huấn luyện mà ít ảnh hưởng đến hiệu suất của nó, do đó làm giảm độ phức tạp. Các công ty như Neural Magic cung cấp các công cụ chuyên về tỉa bớt mô hình để triển khai hiệu quả.

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard