اكتشف كيف يحل Focal Loss مشكلة عدم التوازن بين الفئات في التعلم العميق. تعلم كيفية تنفيذه باستخدام Ultralytics للتركيز على الأمثلة الصعبة وتحسين دقة النموذج.
فقدان البؤرة هو دالة هدف متخصصة تستخدم بشكل أساسي في التعلم العميق لمعالجة التحدي المتمثل في اختلال التوازن الشديد بين الفئات. في العديد من مهام الرؤية الحاسوبية، مثل اكتشاف الكائنات، يفوق عدد أمثلة الخلفية (العينات السلبية) بشكل كبير عدد الكائنات محل الاهتمام (العينات الإيجابية). الطرق القياسية، مثل Cross-Entropy Loss، تعامل جميع الأخطاء على قدم المساواة، مما يؤدي غالبًا إلى إرباك النموذج بسبب الحجم الهائل لبياناتclassify . تعمل خسارة التركيز على تعديل حساب الخسارة القياسي لتقليل وزن هذه الأمثلة السهلة، مما يجبر خوارزمية التحسين على تركيز قدرتها التعلمية على الأمثلة "الصعبة" —classify النادرةclassify التي تعتبر حاسمة لأداء النموذج .
تكمن الابتكار الأساسي لـ Focal Loss في قدرته على تقييم العقوبة المخصصة لكل عينة بشكل ديناميكي بناءً على ثقة النموذج. في سيناريو التعلم الخاضع للإشراف النموذجي ، قد يقوم الكاشف بتقييم آلاف المواقع المرشحة في الصورة. نظرًا لأن معظم هذه المواقع لا تحتوي على أي كائنات، فإن وظيفة الخسارة القياسية تجمع العديد من إشارات الخطأ الصغيرة من هذه السلبية السهلة، والتي يمكن أن تطغى على الإشارة القيمة من الحالات الإيجابية القليلة.
يقدم Focal Loss عامل تعديل يقلل من مساهمة الخسارة مع زيادة الثقة في الفئة الصحيحة . وهذا يعني أنه إذا كان النموذج متأكدًا بالفعل بنسبة 99٪ من أن رقعة الخلفية هي بالفعل خلفية، فإن الخسارة لتلك الرقعة تنخفض إلى ما يقرب من الصفر. وبالتالي، يتم تحديث أوزان النموذج بشكل أساسي بناءً على العينات المصنفة بشكل خاطئ أو تلك التي يكون النموذج غير متأكد منها. هذا النهج المستهدف ضروري لتدريب أجهزة الكشف عن الأجسام عالية الأداء ذات المرحلة الواحدة مثل YOLO26، مما يتيح لها تحقيق دقة عالية دون الحاجة إلى مراحل أخذ عينات معقدة.
يعد التعامل مع بيانات التدريب غير المتوازنة أمرًا بالغ الأهمية لنشر أنظمة ذكاء اصطناعي قوية في بيئات تتسم فيها السلامة والدقة بأهمية قصوى.
إن ultralytics تتضمن المكتبة تطبيقات محسّنة لوظائف الخسارة المتقدمة لدعم
أحدث النماذج. في حين أن منصة Ultralytics تقوم تلقائيًا
بتكوين هذه المعلمات الفائقة من أجل تدريب مثالي، ويمكن للمطورين أيضًا الوصول إلى هذه المكونات مباشرةً من أجل إجراء أبحاث مخصصة
.
يوضح المثال التالي كيفية تهيئة Focal Loss باستخدام ultralytics حزمة الأدوات المساعدة و
حساب الخطأ لمجموعة من التنبؤات.
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}")
إن فهم مكانة فقدان البؤرة في المشهد الأوسع لقياس الأخطاء يساعد في اختيار الاستراتيجية الصحيحة لمهام الرؤية الحاسوبية المحددة.