YOLO Vision Thâm Quyến
Thâm Quyến
Tham gia ngay
Thuật ngữ

Dự báo tương đồng

Khám phá cách dự đoán phù hợp (conformal prediction) cung cấp độ không chắc chắn không phụ thuộc vào phân phối cho AI. Triển khai các tập dự đoán với Ultralytics để đảm bảo kết quả mô hình đáng tin cậy.

Dự đoán phù hợp (Conformal prediction) là một khung thống kê trong học máy (ML) cung cấp các thước đo độ không chắc chắn không phụ thuộc vào phân phối cho các dự đoán của mô hình. Thay vì đưa ra một dự đoán điểm đơn lẻ—chẳng hạn như một nhãn lớp cụ thể—một bộ dự đoán phù hợp sẽ đưa ra một tập hợp dự đoán hoặc khoảng tin cậy chứa giá trị thực với xác suất do người dùng chỉ định (ví dụ: 90% hoặc 95%). Khung này bao quanh bất kỳ mô hình trí tuệ nhân tạo (AI) nào để cung cấp các đảm bảo thống kê chính thức mà không cần thay đổi kiến trúc của mô hình. Để có danh sách đầy đủ các công cụ và nghiên cứu cập nhật, bạn có thể khám phá kho lưu trữ Awesome Conformal Prediction.

Cơ chế hoạt động của dự đoán tương ứng

Cơ chế cơ bản dựa trên việc đánh giá mức độ khác thường của một dự đoán mới so với các ví dụ trong quá khứ thông qua một chỉ số độ lệch chuẩn.

  • Huấn luyện mô hình: Đầu tiên, huấn luyện một mô hình cơ sở bằng cách sử dụng bộ dữ liệu huấn luyện tiêu chuẩn.
  • Giai đoạn hiệu chuẩn: Đưa một tập dữ liệu hiệu chuẩn riêng biệt, chưa được sử dụng trước đó, qua mô hình đã được huấn luyện. Tính toán điểm sai lệch cho mỗi dự đoán, chẳng hạn như xác suất nghịch đảo trong phân loại hình ảnh.
  • Tính toán phân vị: Xác định mức độ tin cậy mục tiêu (ví dụ: 95%) và tìm phân vị tương ứng của các điểm hiệu chuẩn này để xây dựng các tập dự đoán.
  • Ứng dụng suy luận: Trong quá trình suy luận thời gian thực, đánh giá các đầu vào mới và bao gồm tất cả các nhãn có điểm số nằm dưới phân vị hiệu chỉnh.

Bạn có thể tìm hiểu các chứng minh toán học về phương pháp này trong hướng dẫn “Giới thiệu cơ bản về dự báo tương ứng ” hoặc tìm hiểu về các phương pháp dự báo chuỗi thời gian để xử lý các yếu tố không chắc chắn về thời gian.

Phân biệt thuật ngữ “Dự đoán tương đồng” với các thuật ngữ liên quan

Điều quan trọng là phải phân biệt khung này với các chỉ số tiêu chuẩn được sử dụng trong quá trình kiểm thử mô hình:

  • Dự đoán phù hợp so với điểm tin cậy: Một điểm tin cậy tiêu chuẩn phản ánh mức độ chắc chắn nội tại của mô hình nhưng thường được hiệu chỉnh kém và thiếu các đảm bảo toán học. Dự đoán tuân thủ chuyển đổi các điểm thô này thành các tập hợp được đảm bảo. Đối với các phương pháp hiệu chỉnh truyền thống, xem hiệu chỉnh xác suất của scikit-learn.
  • Dự đoán phù hợp so với độ chính xác: Độ chính xác là một chỉ số toàn cục dựa trên dữ liệu lịch sử, mô tả tần suất mô hình đưa ra kết quả chính xác trên toàn bộ tập dữ liệu, trong khi dự đoán tuân thủ cung cấp một khoảng tin cậy cục bộ, cụ thể cho từng trường hợp đối với mỗi dự đoán mới.

Các Ứng dụng Thực tế

Dự đoán phù hợp là không thể thiếu trong các lĩnh vực có rủi ro cao, nơi việc nắm rõ những điểm mù của mô hình là vô cùng quan trọng.

  • Chẩn đoán y tế: Khi ứng dụng trí tuệ nhân tạo (AI) trong y tế để phân tích hình ảnh chẩn đoán, mô hình có thể đưa ra một tập hợp các chẩn đoán khả thi thay vì một kết quả duy nhất, có thể không chính xác. Điều này đảm bảo các bác sĩ lâm sàng xem xét tất cả các khả năng có thể, hỗ trợ các nghiên cứu gần đây về y học di truyền và chẩn đoán hình ảnh đáng tin cậy.
  • Lái xe tự động: Trong lĩnh vực trí tuệ nhân tạo (AI) trong hệ thống ô tô, việc áp dụng khoảng tin cậy dự đoán vào việc phát hiện đối tượng sẽ tạo ra một vùng tin cậy không gian xung quanh người đi bộ, cho phép hệ thống phanh của xe tính toán các tình huống xấu nhất một cách an toàn.

Triển khai các tập dự đoán

Các thư viện như MAPIE (Model Agnostic Prediction Interval Estimator) cung cấp các công cụ tích hợp sẵn cho Python, và các tác vụ hồi quy thường sử dụng phương pháp hồi quy phân vị phù hợp. Bạn cũng có thể triển khai logic dự đoán tương ứng cơ bản bằng cách sử dụng xác suất từ các mô hình nâng cao như Ultralytics . Ví dụ sau đây xây dựng một tập dự đoán bằng cách sử dụng xác suất phân loại của YOLO26, mô phỏng logic bao gồm các lớp hàng đầu cho đến khi đạt được ngưỡng tích lũy.

from ultralytics import YOLO

# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0

# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5

for idx in sorted_indices:
    class_name = results[0].names[idx]
    class_prob = probs.data[idx].item()

    prediction_set.append((class_name, round(class_prob, 3)))
    cumulative_prob += class_prob

    # Stop adding to the set once we reach the 95% coverage threshold
    if cumulative_prob >= target_coverage:
        break

print(f"95% Prediction Set: {prediction_set}")

Việc phát triển các hệ thống đáng tin cậy đòi hỏi phải có các quy trình xử lý dữ liệu vững chắc để ngăn chặn tình trạng dữ liệu bị lệch làm hỏng quá trình hiệu chuẩn. Các công cụ như Ultralytics giúp đơn giản hóa quy trình thu thập bộ dữ liệu phân loại mới, huấn luyện lại mô hình và quản lý việc triển khai mô hình một cách an toàn. Bạn có thể tìm hiểu thêm về việc xây dựng bộ dữ liệu cân bằng trong hướng dẫn của chúng tôi về việc hiểu rõ sự thiên lệch trong bộ dữ liệu, hoặc track tiến bộ mới nhất được trình bày tại hội nghị thường niên COPA.

Hãy cùng nhau xây dựng tương lai của trí tuệ nhân tạo!

Bắt đầu hành trình của bạn với tương lai của học máy