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.
Focal Loss là một hàm mục tiêu chuyên dụng được sử dụng chủ yếu trong các tác vụ thị giác máy tính để giải quyết thách thức về sự mất cân bằng lớp nghiêm trọng trong quá trình huấn luyện mô hình. Nó đặc biệt có giá trị trong các kịch bản phát hiện đối tượng, nơi số lượng ví dụ nền (mẫu âm) nhiều hơn rất nhiều so với các đối tượng cần quan tâm (mẫu dương). Bằng cách điều chỉnh động mức phạt được gán cho mỗi mẫu, Focal Loss làm giảm trọng số hiệu quả của các ví dụ "dễ" - những ví dụ mà mô hình có thể nhận biết được ngay từ đầu. classify với độ tin cậy cao—và buộc quá trình tối ưu hóa phải tập trung vào các ví dụ "khó" mà khó có thể... classify Cách tiếp cận có mục tiêu này giúp ngăn chặn số lượng lớn các trường hợp tiêu cực dễ nhận biết làm lu mờ tín hiệu huấn luyện, từ đó cải thiện độ chính xác của mô hình đối với các đối tượng thưa thớt nhưng quan trọng.
Trong nhiều ứng dụng học sâu (DL) , đặc biệt là các bộ phát hiện đối tượng một giai đoạn , quá trình huấn luyện bao gồm việc đánh giá hàng nghìn vị trí ứng cử viên trong một hình ảnh. Phần lớn các vị trí này không chứa đối tượng và dễ dàng được xác định là nền. Các hàm tiêu chuẩn như hàm mất mát entropy chéo xử lý tất cả các trường hợp phân loại sai như nhau. Do đó, lỗi tích lũy từ hàng nghìn mẫu nền dễ nhận biết có thể lấn át tín hiệu từ một vài mẫu tích cực khó nhận biết, dẫn đến một mô hình bị thiên vị về lớp đa số.
Focal Loss điều chỉnh phương pháp tính toán tổn thất tiêu chuẩn bằng cách đưa vào một tham số tập trung, thường được ký hiệu là gamma ($\gamma$). Khi xác suất của lớp chính xác tăng lên (nghĩa là ví dụ "dễ"), hệ số điều chỉnh sẽ làm giảm đóng góp tổn thất xuống gần bằng không. Ngược lại, đối với các ví dụ bị phân loại sai hoặc không chắc chắn ("trường hợp khó"), tổn thất vẫn đáng kể. Cơ chế này đảm bảo rằng thuật toán tối ưu hóa cập nhật trọng số của mô hình dựa trên các ví dụ thực sự cần cải thiện, thay vì chỉ đơn giản là xác nhận những gì mô hình đã biết.
Khả năng xử lý các tập dữ liệu không cân bằng khiến Focal Loss trở thành nền tảng của các giải pháp AI hiện đại trong các lĩnh vực an toàn quan trọng và độ chính xác cao.
Các ultralytics Thư viện này bao gồm các triển khai tối ưu hóa của các hàm mất mát để hỗ trợ huấn luyện các mô hình hiện đại như... YOLO26Trong khi quá trình đào tạo cấp cao được tự động hóa thông qua... Ultralytics Nền tảngCác nhà phát triển có thể truy cập các thành phần tổn thất cụ thể cho các quy trình tùy chỉnh.
Ví dụ sau đây minh họa cách khởi tạo Focal Loss và tính toán sai số giữa điểm dự đoán và nhãn mục tiêu bằng cách sử dụng... ultralytics gói tiện ích.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss with a standard gamma value
# Gamma=1.5 aggressively down-weights easy examples
criterion = FocalLoss(gamma=1.5)
# Example: Predictions (logits) and binary Ground Truth labels
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")
Hiểu được cách Focal Loss phù hợp với bức tranh rộng hơn về đo lường lỗi sẽ giúp lựa chọn chiến lược huấn luyện phù hợp.