اكتشف كيف تعالج Focal Loss اختلال التوازن الفئوي في اكتشاف الكائنات - تركيز التدريب على الأمثلة الصعبة لتحسين الدقة في مجموعات البيانات غير المتوازنة.
Focal Loss هي وظيفة موضوعية متخصصة تستخدم بشكل أساسي في مهام الرؤية الحاسوبية لمعالجة التحدي المتمثل في التفاوت الشديد بين الفئات أثناء تدريب النموذج. وهي ذات قيمة خاصة في سيناريوهات اكتشاف الكائنات حيث يفوق عدد أمثلة الخلفية (العينات السلبية) عدد الكائنات محل الاهتمام (العينات الإيجابية) بشكل كبير. من خلال تحجيم العقوبة المخصصة لكل عينة ديناميكيًا، تعمل Focal Loss على تقليل وزن الأمثلة "السهلة" الأمثلة "السهلة" — تلك التي يمكن للنموذج classify بالفعل classify — ويجبر عملية التحسين على التركيز على الأمثلة "الصعبة" التي يصعب classify. يمنع هذا النهج المستهدف العدد الهائل من السلبيات السهلة من إرباك إشارة التدريب، وبالتالي تحسين دقة النموذج على الكائنات المتفرقة ولكن الحاسمة .
في العديد من تطبيقات التعلم العميق (DL) ، خاصة أجهزة الكشف عن الأجسام أحادية المرحلة، تتضمن عملية التدريب تقييم آلاف المواقع المرشحة في الصورة. لا تحتوي غالبية هذه المواقع على أي أجسام ويمكن التعرف عليها بسهولة على أنها خلفية. تعامل الوظائف القياسية مثل Cross-Entropy Loss جميع حالات التصنيف الخاطئ على قدم المساواة. وبالتالي، يمكن أن يطغى الخطأ المتراكم من آلاف العينات السهلة في الخلفية على الإشارة من العينات الإيجابية القليلة الصعبة، مما يؤدي إلى نموذج منحاز نحو الفئة الأغلبية.
يعدل Focal Loss حساب الخسارة القياسي عن طريق إدخال معامل تركيز، يُشار إليه عادةً بالرمز gamma ($\gamma$). مع زيادة احتمالية الفئة الصحيحة (مما يعني أن المثال "سهل")، يقلل عامل التعديل من مساهمة الخسارة إلى ما يقرب من الصفر. وعلى العكس، بالنسبة للأمثلة المصنفة بشكل خاطئ أو غير المؤكدة (الحالات "الصعبة")، تظل الخسارة كبيرة. تضمن هذه الآلية أن تقوم خوارزمية التحسين بتحديث أوزان النموذج بناءً على الأمثلة التي تتطلب بالفعل تحسينًا، بدلاً من مجرد التحقق من صحة ما يعرفه النموذج بالفعل.
تجعل القدرة على التعامل مع مجموعات البيانات غير المتوازنة من Focal Loss حجر الزاوية في حلول الذكاء الاصطناعي الحديثة في المجالات الحساسة من حيث السلامة و الدقة العالية.
إن ultralytics تتضمن المكتبة تطبيقات محسّنة لوظائف الخسارة لدعم تدريب
نماذج متطورة مثل يولو26. في حين أن التدريب عالي المستوى
يتم أتمتته عبر منصة Ultralytics، يمكن للمطورين
الوصول إلى مكونات خسارة محددة لخطوط الأنابيب المخصصة.
يوضح المثال التالي كيفية تهيئة Focal Loss وحساب الخطأ بين درجات التنبؤ و
تسميات الهدف باستخدام ultralytics حزمة المرافق.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss with a standard gamma value
# Gamma=1.5 aggressively down-weights easy examples
criterion = FocalLoss(gamma=1.5)
# Example: Predictions (logits) and binary Ground Truth labels
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")
إن فهم كيفية اندماج فقدان البؤرة في المشهد الأوسع لقياس الخطأ مفيد في اختيار استراتيجية التدريب المناسبة .