Khám phá cách Focal Loss giải quyết sự mất cân bằng lớp trong học sâu. Tìm hiểu cách triển khai nó với... Ultralytics YOLO26 sẽ tập trung vào các ví dụ khó và cải thiện độ chính xác của mô hình.
Focal Loss là một hàm mục tiêu chuyên biệt chủ yếu được sử dụng trong học sâu để giải quyết thách thức về sự mất cân bằng lớp nghiêm trọng. Trong nhiều nhiệm vụ thị giác máy tính, chẳng hạn như phát hiện đối tượng, số lượng ví dụ nền (mẫu âm) nhiều hơn đáng kể so với các đối tượng quan tâm (mẫu dương). Các phương pháp tiêu chuẩn, như Cross-Entropy Loss được sử dụng rộng rãi, coi tất cả các lỗi như nhau, điều này thường khiến mô hình bị quá tải bởi khối lượng lớn các lỗi dễ nhận biết. classify dữ liệu nền. Focal Loss điều chỉnh phép tính tổn thất tiêu chuẩn để giảm trọng số cho các ví dụ dễ này, buộc thuật toán tối ưu hóa phải tập trung khả năng học tập của nó vào các ví dụ "khó" - những ví dụ hiếm và khó học. classify Các đối tượng đóng vai trò quan trọng đối với hiệu suất của mô hình.
Điểm đột phá cốt lõi của Focal Loss nằm ở khả năng tự động điều chỉnh mức phạt được gán cho mỗi mẫu dựa trên độ tin cậy của mô hình. Trong một kịch bản học có giám sát điển hình, một bộ dò có thể đánh giá hàng nghìn vị trí ứng cử viên trong một hình ảnh. Vì hầu hết các vị trí này không chứa đối tượng nào, một hàm mất mát tiêu chuẩn sẽ tích lũy nhiều tín hiệu lỗi nhỏ từ những trường hợp âm tính dễ nhận biết này, có thể làm lu mờ tín hiệu có giá trị từ một vài trường hợp dương tính.
Focal Loss đưa ra một yếu tố điều chỉnh làm giảm đóng góp của hàm mất mát khi độ tin cậy vào lớp chính xác tăng lên. Điều này có nghĩa là nếu mô hình đã chắc chắn 99% rằng một mảng nền thực sự là nền, thì hàm mất mát cho mảng đó sẽ giảm xuống gần bằng không. Do đó, trọng số của mô hình được cập nhật chủ yếu dựa trên các mẫu bị phân loại sai hoặc những mẫu mà mô hình không chắc chắn. Cách tiếp cận có mục tiêu này rất cần thiết để huấn luyện các bộ phát hiện đối tượng một giai đoạn hiệu suất cao như YOLO26 , cho phép chúng đạt được độ chính xác cao mà không cần các giai đoạn lấy mẫu phức tạp.
Xử lý dữ liệu huấn luyện không cân bằng là rất quan trọng để triển khai các hệ thống AI mạnh mẽ trong môi trường mà an toàn và độ chính xác là tối quan trọng.
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 nâng cao để hỗ trợ các mô hình hiện đại nhất. Trong khi đó, Ultralytics Nền tảng Hệ thống tự động cấu hình các siêu tham số này để tối ưu hóa quá trình huấn luyện, các nhà phát triển cũng có thể truy cập trực tiếp vào các thành phần này để thực hiện nghiên cứu tùy chỉnh.
Ví dụ sau đây minh họa cách khởi tạo Focal Loss bằng cách sử dụng... ultralytics Sử dụng gói tiện ích này để tính toán sai số cho một tập hợp các dự đoán.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)
# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")
Hiểu được vị trí của Focal Loss trong bối cảnh rộng hơn của việc đo lường lỗi giúp lựa chọn chiến lược phù hợp cho các nhiệm vụ thị giác máy tính cụ thể.