Recall
Khám phá tầm quan trọng của recall trong machine learning. Tìm hiểu cách đo lường và cải thiện sensitivity cho các model Ultralytics YOLO26 nhằm đảm bảo tỷ lệ detection cao.
Recall, còn được gọi là độ nhạy hoặc tỷ lệ dương tính thật, là một metric hiệu năng nền tảng trong machine learning, đo lường khả năng của một model trong việc xác định tất cả các đối tượng liên quan trong một dataset. Trong bối cảnh phát hiện đối tượng hoặc phân loại, metric này cụ thể trả lời câu hỏi: "Trong tất cả các trường hợp dương tính thực tế, model đã tìm đúng bao nhiêu trường hợp?" Đạt Recall cao là yếu tố then chốt trong các tình huống mà việc bỏ sót một trường hợp dương tính—thường được gọi là âm tính giả—gây ra hậu quả nghiêm trọng. Khác với độ chính xác, vốn có thể gây hiểu nhầm khi xử lý dữ liệu mất cân bằng, Recall cung cấp góc nhìn tập trung vào mức độ hiệu quả của model trong việc "bắt được" class mục tiêu.
Tầm quan trọng của Recall cao#
Trong nhiều ứng dụng trí tuệ nhân tạo, chi phí không phát hiện được một đối tượng cao hơn nhiều so với chi phí của một cảnh báo giả. Một model được tối ưu cho Recall sẽ giảm thiểu các trường hợp âm tính giả, bảo đảm hệ thống mở rộng phạm vi đủ để phát hiện các mối đe dọa, bất thường hoặc điều kiện quan trọng tiềm ẩn. Điều này thường đòi hỏi sự đánh đổi, vì việc tăng Recall đôi khi có thể dẫn đến điểm precision thấp hơn, nghĩa là model có thể gắn nhãn dương tính cho nhiều mục không liên quan hơn. Hiểu rõ sự cân bằng này là yếu tố then chốt để phát triển các giải pháp machine learning mạnh mẽ.
Các ứng dụng trong thực tế#
Recall là metric thúc đẩy nhiều giải pháp AI quan trọng đối với an toàn. Dưới đây là hai ví dụ tiêu biểu, trong đó độ nhạy được ưu tiên:
- Chẩn đoán y khoa: Trong phân tích hình ảnh y khoa, chẳng hạn như sàng lọc X-quang để phát hiện sớm dấu hiệu bệnh, Recall cao là yêu cầu bắt buộc. Nếu một hệ thống AI trong lĩnh vực chăm sóc sức khỏe được sử dụng để phát hiện khối u, việc hệ thống gắn cờ một vùng bóng đáng ngờ nhưng sau đó được xác định là lành tính (dương tính giả) vẫn tốt hơn nhiều so với việc hoàn toàn bỏ sót một khối u ác tính. Bác sĩ dựa vào các công cụ này như một lớp bảo vệ an toàn, bảo đảm không bỏ qua bất kỳ rủi ro sức khỏe tiềm ẩn nào.
- An ninh và giám sát: Đối với một hệ thống báo động an ninh, mục tiêu chính là phát hiện mọi nỗ lực xâm nhập. Một hệ thống được tối ưu cho Recall cao sẽ bảo đảm rằng nếu một người đi vào khu vực hạn chế, báo động sẽ được kích hoạt. Mặc dù điều này có thể dẫn đến các báo động giả không thường xuyên do động vật hoang dã gây ra, đây vẫn là lựa chọn ưu tiên hơn so với việc hệ thống không phát hiện được kẻ xâm nhập thực sự. Các model phát hiện đối tượng trong những tình huống này được tinh chỉnh để bảo đảm độ nhạy tối đa với các mối đe dọa tiềm ẩn.
Recall và Precision#
Điều cần thiết là phân biệt Recall với metric đối lập là precision. Trong khi Recall đo lường số lượng trường hợp liên quan được tìm thấy (tính đầy đủ), precision đo lường chất lượng của các dự đoán dương tính (tính chính xác).
- Recall: Tập trung vào việc tránh bỏ sót khi phát hiện. "Chúng ta đã tìm thấy tất cả những quả táo chưa?"
- Precision: Tập trung vào việc giảm thiểu cảnh báo giả. "Tất cả những thứ chúng ta gọi là táo có thực sự là táo không?"
Hai metric này thường có mối quan hệ nghịch biến, được biểu diễn bằng đường cong Precision-Recall. Để đánh giá sự cân bằng tổng thể giữa chúng, các developer thường xem xét F1-score, là trung bình điều hòa của cả hai metric. Trong dataset mất cân bằng, việc xem xét Recall cùng với ma trận nhầm lẫn sẽ cho thấy bức tranh hiệu năng rõ ràng hơn nhiều so với chỉ sử dụng độ chính xác.
Đo lường Recall với Ultralytics YOLO#
Khi training các model như YOLO26 tiên tiến, Recall sẽ được tự động tính toán trong giai đoạn validation. Framework tính Recall cho từng class và độ chính xác trung bình (mAP), giúp developer đánh giá mức độ hiệu quả của model trong việc tìm kiếm các đối tượng.
Bạn có thể dễ dàng validation một model đã được training và xem các metric Recall của model bằng Python. Đoạn mã này minh họa cách load một model và kiểm tra hiệu năng của model trên một dataset tiêu chuẩn:
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")Đoạn mã này sử dụng Ultralytics API để chạy validation. Nếu Recall thấp hơn mức yêu cầu của dự án, bạn có thể cân nhắc các kỹ thuật như tăng cường dữ liệu để tạo ra nhiều mẫu training đa dạng hơn hoặc tinh chỉnh hyperparameter để điều chỉnh độ nhạy của model. Sử dụng Ultralytics Platform cũng có thể đơn giản hóa quy trình quản lý dataset và theo dõi các metric này qua nhiều lần training.
Cải thiện Recall của Model#
Để tăng Recall của model, các data scientist thường điều chỉnh ngưỡng confidence được sử dụng trong quá trình inference. Hạ thấp ngưỡng khiến model trở nên "lạc quan" hơn, chấp nhận nhiều dự đoán hơn là dương tính, qua đó tăng Recall nhưng có thể làm giảm precision. Ngoài ra, việc thu thập training data đa dạng hơn giúp model học cách nhận diện hard negative và các trường hợp khó quan sát. Đối với những tác vụ phức tạp, sử dụng các kiến trúc nâng cao như các block Transformer hoặc khám phá phương pháp ensemble cũng có thể cải thiện khả năng phát hiện các đặc trưng tinh tế mà những model đơn giản hơn có thể bỏ sót.









