Focal Loss
استكشف كيف يحل Focal Loss مشكلة عدم توازن الفئات في التعلم العميق. تعلم تنفيذه مع Ultralytics YOLO26 للتركيز على الأمثلة الصعبة وتحسين دقة النموذج.
تُعد Focal Loss دالة هدف متخصصة تُستخدم بشكل أساسي في التعلم العميق لمعالجة تحدي عدم التوازن الشديد في الفئات. في العديد من مهام الرؤية الحاسوبية، مثل اكتشاف الكائنات، يتجاوز عدد أمثلة الخلفية (العينات السالبة) بشكل كبير عدد الكائنات محل الاهتمام (العينات الموجبة). تعالج الأساليب القياسية، مثل Cross-Entropy Loss المستخدمة على نطاق واسع، جميع الأخطاء بالتساوي، وهو ما يجعل النموذج غالبًا غارقًا في الحجم الهائل لبيانات الخلفية سهلة التصنيف. تعمل Focal Loss على تعديل حساب الخسارة القياسي لتقليل وزن هذه الأمثلة السهلة، مما يجبر خوارزمية التحسين على تركيز قدرتها التعليمية على الأمثلة "الصعبة" - وهي الكائنات النادرة والتي يصعب تصنيفها، والتي تعد بالغة الأهمية لأداء النموذج.
Link to this sectionآلية التركيز#
يكمن الابتكار الجوهري لـ Focal Loss في قدرتها على تغيير مقياس العقوبة المخصصة لكل عينة ديناميكيًا بناءً على ثقة النموذج. في سيناريو التعلم الموجه النموذجي، قد يقوم المكتشف بتقييم آلاف المواقع المرشحة في الصورة. ونظرًا لأن معظم هذه المواقع لا تحتوي على أي كائنات، فإن دالة الخسارة القياسية تراكم العديد من إشارات الخطأ الصغيرة من هذه العينات السالبة السهلة، والتي يمكن أن تطغى على الإشارة القيمة من حالات قليلة موجبة.
تُقدم Focal Loss عامل تعديل يقلل من مساهمة الخسارة مع زيادة الثقة في الفئة الصحيحة. وهذا يعني أنه إذا كان النموذج واثقًا بنسبة 99% من أن جزء الخلفية هو بالفعل خلفية، يتم تقليل الخسارة لهذا الجزء إلى ما يقرب من الصفر. ونتيجة لذلك، يتم تحديث أوزان النموذج بشكل أساسي بناءً على العينات المصنفة بشكل خاطئ أو تلك التي يكون فيها النموذج غير متأكد. يعد هذا النهج الموجه ضروريًا لتدريب مكتشفات الكائنات من مرحلة واحدة عالية الأداء مثل YOLO26، مما يسمح لها بتحقيق دقة عالية دون الحاجة إلى مراحل أخذ عينات معقدة.
Link to this sectionتطبيقات العالم الحقيقي#
تعد معالجة بيانات التدريب غير المتوازنة أمرًا بالغ الأهمية لنشر أنظمة ذكاء اصطناعي قوية في البيئات التي تكون فيها السلامة والدقة في غاية الأهمية.
- الذكاء الاصطناعي في الرعاية الصحية: في مجالات مثل تحليل الصور الطبية، غالبًا ما يكون تحديد الأمراض مشابهًا للعثور على إبرة في كومة قش. على سبيل المثال، في تصوير الرنين المغناطيسي الذي يبحث عن آفات صغيرة، قد تشكل الأنسجة السليمة أكثر من 99% من البكسلات. قد يقوم نموذج قياسي بتعظيم الدقة البسيطة عن طريق التنبؤ بـ "سليم" في كل مكان، مما يؤدي إلى ضياع التشخيص الحرج. تُمكّن Focal Loss النظام من كبت الإشارة من الأنسجة السليمة الوفيرة وإعطاء الأولوية لتعلم السمات الدقيقة للشذوذ، مما يحسن الاستدعاء للاكتشافات المنقذة للحياة.
- المركبات ذاتية القيادة: يجب أن تكتشف أنظمة الإدراك للسيارات ذاتية القيادة مستخدمي الطريق المعرضين للخطر مثل المشاة أو راكبي الدراجات مقابل خلفيات معقدة من المباني والطرق والسماء. بينما يسهل تعلم الخلفية، فإن العوائق الصغيرة أو البعيدة تشكل تحديًا كبيرًا. من خلال استخدام Focal Loss، يمكن لتطبيقات الذكاء الاصطناعي في السيارات ضمان عدم تجاهل مكدس الإدراك لهذه الكائنات التي يصعب اكتشافها، والحفاظ على معايير السلامة حتى عندما تشغل المخاطر جزءًا ضئيلًا فقط من المجال البصري.
Link to this sectionالتنفيذ باستخدام Ultralytics#
تتضمن مكتبة 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}")Link to this sectionالتمييز عن المفاهيم ذات الصلة#
يساعد فهم المكان الذي تتناسب فيه Focal Loss مع المشهد الأوسع لقياس الخطأ في اختيار الاستراتيجية الصحيحة لمهام رؤية حاسوبية محددة.
- Focal Loss vs. Cross-Entropy Loss: Cross-Entropy is the foundational metric for classification that penalizes predictions based on logarithmic error. Focal Loss is strictly an extension of Cross-Entropy; if the focusing parameter is set to zero, it mathematically reverts to standard Cross-Entropy. The key distinction is Focal Loss's ability to automatically down-weight easy negatives, making it superior for imbalanced datasets like COCO.
- Focal Loss مقابل IoU Loss: بينما تم تصميم Focal Loss لـ التصنيف (تحديد ماهية الكائن)، تُستخدم IoU Loss لـ التوطين (تحديد مكان الكائن). تستخدم المكتشفات الحديثة دالة خسارة مركبة تجمع بين Focal Loss لاحتمالات الفئة ومقاييس قائمة على IoU لانحدار صندوق التحديد.
- Focal Loss مقابل Dice Loss: Dice Loss هي تقنية أخرى تُستخدم للتعامل مع عدم التوازن، بشكل أساسي في مهام تجزئة الصور. بينما تعمل Focal Loss على البكسلات أو العينات الفردية بناءً على الثقة، تعمل Dice Loss على تحسين التداخل بين المناطق المتنبأ بها ومناطق الحقيقة الأرضية عالميًا. من الشائع رؤية كلاهما مستخدمًا معًا في سير عمل تجزئة معقد.






