تعرف على كيفية تأثير مشكلة التدرج المتلاشي على التعلم العميق واستكشف الحلول الفعالة مثل ReLU والوصلات المتبقية المستخدمة في Ultralytics .
تعد مشكلة التدرج المتلاشي تحديًا كبيرًا يواجهه تدريب الشبكات العصبية الاصطناعية العميقة . وتحدث هذه المشكلة عندما تصبح التدرجات — وهي القيم التي تحدد مقدار التغيير الذي يجب أن تطرأ عليه معلمات الشبكة — صغيرة للغاية أثناء انتشارها عكسيًا من طبقة الإخراج إلى طبقات الإدخال. ونظرًا لأن هذه التدرجات ضرورية لتحديث أوزان النموذج، فإن اختفاءها يعني توقف الطبقات السابقة من الشبكة عن التعلم. تمنع هذه الظاهرة النموذج بشكل فعال من التقاط الأنماط المعقدة في البيانات، مما يحد من عمق وأداء بنى التعلم العميق.
لفهم سبب حدوث ذلك، من المفيد النظر إلى عملية الانتشار العكسي. أثناء التدريب، تحسب الشبكة الخطأ بين توقعاتها والهدف الفعلي باستخدام دالة الخسارة. ثم يتم إرسال هذا الخطأ عكسيًا عبر الطبقات لتعديل الأوزان. يعتمد هذا التعديل على قاعدة السلسلة في حساب التفاضل والتكامل، والتي تتضمن ضرب مشتقات وظائف التنشيط طبقة تلو الأخرى.
إذا كانت الشبكة تستخدم وظائف تنشيط مثل وظيفة sigmoid أو التانجنت الزائدي (tanh)، فإن المشتقات غالبًا ما تكون أقل من 1. عندما يتم ضرب العديد من هذه الأرقام الصغيرة معًا في شبكة عميقة بها عشرات أو مئات الطبقات، فإن النتيجة تقترب من الصفر. يمكنك تصور ذلك على أنه لعبة "الهاتف" حيث يتم تمرير رسالة عبر سلسلة طويلة من الأشخاص؛ وبحلول الوقت الذي تصل فيه الرسالة إلى بداية السلسلة، تصبح غير مسموعة، ولا يعرف الشخص الأول ماذا يقول.
طور مجال الذكاء الاصطناعي عدة استراتيجيات قوية للتخفيف من التدرجات المتلاشية، مما مكن من إنشاء نماذج قوية مثل Ultralytics .
على الرغم من أنها تنبع من نفس الآلية الأساسية (الضرب المتكرر)، إلا أن التدرجات المتلاشية تختلف عن التدرجات المتفجرة.
NaN (ليس رقمًا). غالبًا ما يتم إصلاح هذا عن طريق
قص التدرج.
لقد كان التغلب على التدرجات المتلاشية شرطًا أساسيًا لنجاح تطبيقات الذكاء الاصطناعي الحديثة.
تجرد الأطر والنماذج الحديثة العديد من هذه التعقيدات. عند تدريب نموذج مثل YOLO26، تتضمن البنية تلقائيًا مكونات مثل تنشيط SiLU وتطبيع الدُفعات لمنع التدرجات من الاختفاء.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation, Jan 2026)
# This architecture includes residual connections and modern activations
# that inherently prevent vanishing gradients.
model = YOLO("yolo26n.pt")
# Train the model on a dataset
# The optimization process remains stable due to the robust architecture
results = model.train(data="coco8.yaml", epochs=10)