Khám phá cách Focal Loss giải quyết vấn đề mất cân bằng lớp trong phát hiện đối tượng — tập trung đào tạo vào các ví dụ khó để cải thiện độ chính xác trên các tập dữ liệu mất cân bằng.
Mất mát tiêu điểm là một hàm mục tiêu chuyên biệt được thiết kế để giải quyết vấn đề mất cân bằng lớp cực độ trong huấn luyện học máy, đặc biệt là trong lĩnh vực thị giác máy tính. Trong nhiều tình huống phát hiện đối tượng, số lượng ví dụ nền (mục tiêu cực) vượt xa số lượng đối tượng quan tâm (mục tiêu tích cực). Các hàm mất mát tiêu chuẩn có thể bị quá tải bởi khối lượng lớn các đối tượng dễ bị tổn thương này. classify Các ví dụ nền, cản trở khả năng học các ví dụ tích cực, khó hơn của mô hình. Focal Loss giảm thiểu điều này bằng cách tự động điều chỉnh mức độ mất mát dựa trên độ tin cậy của dự đoán, giảm trọng số các ví dụ dễ và buộc mô hình tập trung nỗ lực huấn luyện vào các ví dụ tiêu cực khó và các đối tượng bị phân loại sai.
Động lực chính đằng sau Focus Loss là cải thiện hiệu suất của các bộ phát hiện vật thể một giai đoạn , chẳng hạn như các phiên bản đầu của RetinaNet và các kiến trúc hiện đại như Ultralytics YOLO11 . Trong các hệ thống này, bộ phát hiện sẽ quét hình ảnh và tạo ra hàng nghìn vị trí ứng viên. Vì phần lớn hình ảnh thường là nền, tỷ lệ nền/vật thể thường có thể là 1000:1 hoặc cao hơn.
Nếu không có sự can thiệp, hiệu ứng tích lũy của các lỗi nhỏ từ số lượng lớn mẫu nền có thể chi phối các bản cập nhật gradient trong quá trình lan truyền ngược . Điều này khiến thuật toán tối ưu hóa ưu tiên việc phân loại mọi thứ thành nền để giảm thiểu lỗi tổng thể, thay vì học các đặc điểm tinh tế của các đối tượng thực tế. Focal Loss định hình lại đường cong mất mát tiêu chuẩn để giảm thiểu hình phạt cho các ví dụ mà mô hình đã tự tin, từ đó điều chỉnh trọng số mô hình cho các trường hợp khó.
Tổn thất Tiêu điểm là một phần mở rộng của Tổn thất Entropy Chéo tiêu chuẩn được sử dụng trong phân loại nhị phân. Nó đưa vào một hệ số điều chế làm giảm mức đóng góp của tổn thất khi độ tin cậy vào lớp đúng tăng lên. Khi một mô hình gặp một ví dụ "dễ"—chẳng hạn như một mảng trời trong mà nó xác định chính xác là nền với xác suất cao—hệ số điều chế sẽ đẩy tổn thất về gần bằng 0. Ngược lại, đối với các ví dụ "khó" mà dự đoán của mô hình không chính xác hoặc không chắc chắn, tổn thất vẫn đáng kể.
Hành vi này được kiểm soát bởi một tham số tập trung, thường được ký hiệu là gamma. Bằng cách điều chỉnh tham số này, các nhà khoa học dữ liệu có thể điều chỉnh mức độ giảm trọng số mạnh mẽ của hàm mất mát đối với các ví dụ được phân loại tốt. Điều này cho phép huấn luyện ổn định hơn trên dữ liệu huấn luyện có độ mất cân bằng cao, dẫn đến độ chính xác và khả năng thu hồi cao hơn cho các lớp hiếm.
Khả năng xử lý sự mất cân bằng khiến Focal Loss trở nên thiết yếu trong các môi trường quan trọng về an toàn và có độ chính xác cao.
Các ultralytics Thư viện cung cấp một triển khai mạnh mẽ cho Focal Loss, có thể dễ dàng tích hợp vào các quy trình huấn luyện tùy chỉnh. Ví dụ sau đây minh họa cách khởi tạo hàm loss và tính toán sai số giữa logit dự đoán và nhãn thực tế.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss with a gamma of 1.5
criterion = FocalLoss(gamma=1.5)
# Example: Prediction logits (before activation) and Ground Truth labels (0 or 1)
preds = torch.tensor([[0.1], [2.5], [-1.0]], requires_grad=True)
targets = torch.tensor([[0.0], [1.0], [1.0]])
# Compute the loss
loss = criterion(preds, targets)
print(f"Focal Loss value: {loss.item():.4f}")
Sẽ rất hữu ích khi phân biệt Mất mát tiêu điểm với các thuật ngữ liên quan trong bối cảnh hàm mất mát: