Label Smoothing
Tìm hiểu cách làm mịn nhãn (label smoothing) ngăn chặn tình trạng quá khớp (overfitting) và cải thiện sự tổng quát hóa của model. Khám phá cách triển khai kỹ thuật này với Ultralytics YOLO26 để đạt kết quả tốt hơn.
Label smoothing là một kỹ thuật regularization được sử dụng rộng rãi trong machine learning để cải thiện khả năng tổng quát hóa của model và ngăn ngừa hiện tượng overfitting. Khi huấn luyện neural networks, mục tiêu thường là giảm thiểu sai số giữa các dự đoán và ground truth. Tuy nhiên, nếu một model trở nên quá tự tin vào các dự đoán của mình—gán xác suất gần 100% cho một class duy nhất—nó thường bắt đầu ghi nhớ nhiễu cụ thể trong training data thay vì học các đặc trưng mạnh mẽ. Hiện tượng này, được gọi là overfitting, làm giảm hiệu suất trên các dữ liệu mới chưa từng thấy. Label smoothing giải quyết vấn đề này bằng cách ngăn cản model dự đoán với độ chắc chắn tuyệt đối, cơ bản là báo cho network biết rằng luôn có một biên độ nhỏ cho sai sót.
Cơ chế của Soft Targets#
Để hiểu cách thức hoạt động của label smoothing, việc so sánh nó với các target "cứng" tiêu chuẩn sẽ rất hữu ích. Trong supervised learning truyền thống, các nhãn phân loại thường được biểu diễn thông qua one-hot encoding. Ví dụ, trong một tác vụ phân biệt giữa chó và mèo, một hình ảnh "chó" sẽ có vector mục tiêu là [0, 1]. Để khớp hoàn toàn với điều này, model đẩy các điểm số nội bộ của nó, được gọi là logits, tiến tới vô cực, điều này có thể dẫn đến gradient không ổn định và khả năng thích ứng kém.
Label smoothing thay thế các giá trị 1 và 0 cứng nhắc này bằng các target "mềm". Thay vì xác suất mục tiêu là 1.0, class đúng có thể được gán 0.9, trong khi khối lượng xác suất còn lại (0.1) được phân phối đồng đều cho các class không chính xác. Sự thay đổi tinh tế này sửa đổi mục tiêu của loss function, chẳng hạn như cross-entropy, ngăn cản activation function (thường là Softmax) bị bão hòa. Kết quả là một model học được các cụm class chặt chẽ hơn trong không gian đặc trưng và tạo ra model calibration tốt hơn, nghĩa là các xác suất được dự đoán phản ánh chính xác hơn khả năng thực sự đúng.
Các ứng dụng trong thực tế#
Kỹ thuật này đặc biệt quan trọng trong các lĩnh vực nơi sự mơ hồ của dữ liệu là vốn có hoặc các bộ dữ liệu dễ bị lỗi gán nhãn.
- Medical Diagnosis: Trong lĩnh vực AI in healthcare, dữ liệu lâm sàng hiếm khi chỉ có trắng và đen. Ví dụ, trong medical image analysis, một bản quét có thể hiển thị các đặc điểm rất gợi ý về một căn bệnh nhưng không mang tính khẳng định. Huấn luyện với hard label buộc model phải bỏ qua sự bất định này. Bằng cách áp dụng label smoothing, model duy trì một mức độ hoài nghi nhất định, điều này rất quan trọng đối với các hệ thống hỗ trợ ra quyết định nơi sự quá tự tin có thể dẫn đến chẩn đoán sai.
- Large-Scale Image Classification: Các dataset công cộng lớn như ImageNet thường chứa các hình ảnh bị dán nhãn sai hoặc hình ảnh chứa nhiều đối tượng hợp lệ. Nếu một model cố gắng khớp với các mẫu có nhiều nhiễu này với confidence 100%, nó sẽ học các mối liên hệ không chính xác. Label smoothing hoạt động như một vùng đệm chống lại nhiễu nhãn, đảm bảo rằng một vài điểm dữ liệu xấu không làm lệch đáng kể model weights cuối cùng.
Triển khai Label Smoothing với Ultralytics#
Các framework deep learning hiện đại đơn giản hóa việc ứng dụng kỹ thuật này. Sử dụng gói ultralytics, bạn có thể dễ dàng tích hợp label smoothing vào pipeline huấn luyện của mình cho các tác vụ image classification hoặc phát hiện. Điều này thường được thực hiện để khai thác hiệu suất tối đa từ các model tiên tiến như YOLO26.
Ví dụ sau đây minh họa cách huấn luyện một model phân loại với label smoothing được bật:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Train with label_smoothing set to 0.1
# The target for the correct class becomes 1.0 - 0.5 * 0.1 = 0.95 (depending on implementation specifics)
model.train(data="mnist", epochs=5, label_smoothing=0.1)So sánh với các khái niệm liên quan#
Việc phân biệt label smoothing với các chiến lược regularization khác sẽ giúp ích trong việc hiểu thời điểm nên sử dụng nó.
- vs. Dropout: Một dropout layer sẽ vô hiệu hóa các neuron một cách ngẫu nhiên trong quá trình huấn luyện để buộc network học các biểu diễn dư thừa. Mặc dù cả hai đều ngăn ngừa overfitting, nhưng dropout sửa đổi kiến trúc network một cách động, trong khi label smoothing sửa đổi mục tiêu tối ưu hóa (chính là các nhãn).
- vs. Knowledge Distillation: Cả hai kỹ thuật đều liên quan đến việc huấn luyện trên soft target. Tuy nhiên, trong knowledge distillation, các soft target đến từ một model "giáo viên" và chứa thông tin đã học (ví dụ: "điều này trông giống mèo 10%"). Ngược lại, label smoothing sử dụng các soft target "không mang nhiều thông tin" được dẫn xuất theo toán học (ví dụ: "gán xác suất 10% đều cho tất cả các class khác").
- vs. Data Augmentation: Các chiến lược data augmentation thay đổi dữ liệu đầu vào (xoay, cắt, đổi màu) để tăng sự đa dạng. Label smoothing thay đổi kỳ vọng đầu ra. Các quy trình huấn luyện toàn diện trên Ultralytics Platform thường kết hợp augmentation, dropout và label smoothing để đạt được độ chính xác tối đa.
Bằng cách giảm thiểu vấn đề vanishing gradient ở các layer cuối cùng và khuyến khích model học các đặc trưng mạnh mẽ hơn, label smoothing vẫn là một thành phần cốt lõi trong các kiến trúc deep learning hiện đại.






