Conformal Prediction
اكتشف كيف توفر التوقعات المطابقة (conformal prediction) تقديرًا لعدم اليقين خالٍ من التوزيع للذكاء الاصطناعي. نفذ مجموعات التوقعات مع Ultralytics YOLO26 لضمان نتائج نموذج موثوقة.
التنبؤ المطابق هو إطار عمل إحصائي في machine learning (ML) يوفر distribution-free measures of uncertainty لتنبؤات النماذج. بدلاً من إخراج تنبؤ بنقطة واحدة — مثل تسمية فئة واحدة محددة — يخرج المتنبئ المطابق مجموعة تنبؤ أو فترة تحتوي على القيمة الحقيقية باحتمالية يحددها المستخدم (على سبيل المثال، 90% أو 95%). يحيط هذا الإطار بأي نموذج artificial intelligence (AI) لتوفير statistical guarantees رسمية دون الحاجة إلى تغييرات في بنية النموذج. للحصول على قائمة شاملة من الأدوات والأبحاث الحديثة، يمكنك استكشاف مستودع Awesome Conformal Prediction.
كيف يعمل التنبؤ المطابق#
تعتمد الآلية الأساسية على تقييم مدى غرابة التنبؤ الجديد مقارنة بالأمثلة السابقة باستخدام درجة عدم المطابقة (nonconformity score).
- Model Training: أولاً، قم بتدريب نموذج أساسي باستخدام مجموعة بيانات تدريب قياسية.
- Calibration Phase: قم تمرير مجموعة بيانات معايرة منفصلة ومحتفظ بها عبر النموذج المُدَرَّب. احسب درجة عدم المطابقة لكل تنبؤ، مثل الاحتمال العكسي في image classification.
- Quantile Calculation: حدد مستوى الثقة المستهدف (على سبيل المثال، 95%) واعثر على الـ quantile المقابل لدرجات المعايرة هذه لإنشاء مجموعات التنبؤ.
- Inference Application: أثناء الاستدلال المباشر، قم بتقييم المدخلات الجديدة وقم بتضمين جميع التسميات الممكنة التي تقع درجاتها أقل من الـ quantile الخاص بالمعايرة.
يمكنك استكشاف البراهين الرياضية لهذا النهج في البرنامج التعليمي A Gentle Introduction to Conformal Prediction أو التعرف على time-series forecasting approaches للتعامل مع عدم اليقين الزمني.
التمييز بين التنبؤ المطابق والمصطلحات ذات الصلة#
من الأهمية بمكان تمييز هذا الإطار عن المقاييس القياسية المستخدمة أثناء model testing:
- Conformal Prediction vs. Confidence Scores: يعكس درج الثقة القياسية اليقين الداخلي للنموذج ولكنه غالباً ما يكون سيئ المعايرة ويفتقر إلى الضمانات الرياضية. يقوم التنبؤ المطابق بتحويل هذه الدرجات الخام إلى مجموعات مضمونة. للتعديلات التقليدية، راجع scikit-learn's probability calibration.
- Conformal Prediction vs. Accuracy: الدقة هي مقياس تاريخي عام يصف مدى صحة النموذج عبر مجموعة بيانات بأكملها، بينما يوفر conformal inference فترة محلية خاصة بكل مثيل لكل تنبؤ جديد منفرد.
تطبيقات العالم الحقيقي#
يعد التنبؤ المطابق لا غنى عنه في المجالات عالية المخاطر حيث تكون معرفة النقاط العمياء للنموذج أمراً بالغ الأهمية.
- Medical Diagnostics: عند الاستفادة من الذكاء الاصطناعي في الرعاية الصحية لتحليل الفحوصات، قد يقوم النموذج بإخراج مجموعة من التشخيصات المعقولة بدلاً من فئة واحدة قد تكون غير صحيحة. يضمن ذلك قيام الأطباء بالتحقيق في جميع الاحتمالات الممكنة، دعمًا للدراسات الحديثة حول reliable genomic medicine and imaging.
- Autonomous Driving: في أنظمة السيارات المعتمدة على الذكاء الاصطناعي، يؤدي تطبيق فترات التنبؤ على object detection إلى إنشاء منطقة ثقة مكانية حول أحد المشاة، مما يسمح لأنظمة الفرامل في السيارة بمراعاة أسوأ الحركات بشكل آمن.
تنفيذ مجموعات التنبؤ#
توفر مكتبات مثل MAPIE (Model Agnostic Prediction Interval Estimator) أدوات مدمجة للغة Python، وغالبًا ما تستخدم مهام الانحدار conformal quantile regression. يمكنك أيضًا تنفيذ منطق تنبؤ مطابق أساسي باستخدام الاحتمالات من النماذج المتقدمة مثل Ultralytics YOLO26. يبني المثال التالي مجموعة تنبؤ باستخدام احتمالات التصنيف الخاصة بـ YOLO26، محاكيًا منطق تضمين الفئات العليا حتى يتم استيفاء عتبة تراكمية.
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}")يتطلب تطوير أنظمة موثوقة ممارسات بيانات قوية لمنع data drift من إفساد المعايرة. تعمل أدوات مثل Ultralytics Platform على تبسيط عملية جمع classification datasets جديدة، وإعادة تدريب النماذج، وإدارة model deployment بأمان. يمكنك قراءة المزيد حول تنسيق البيانات المتوازنة في دليلنا حول understanding dataset bias، أو تتبع أحدث التطورات المعروضة في مؤتمر COPA conference السنوي.






