الشبكات العصبية: التدريب على الانتشار العكسي

الانتشار العكسي هو خوارزمية التدريب الأكثر شيوعًا للشبكات العصبونية. وهي تجعل عملية "النزول التدريجي" ممكنة للشبكات العصبونية المتعددة الطبقات. تتعامل العديد من مكتبات رموز تعلُّم الآلة (مثل Keras) مع الانتشار العكسي تلقائيًا، لذا لن تحتاج إلى إجراء أي من العمليات الحسابية الأساسية بنفسك. يمكنك مشاهدة الفيديو التالي للحصول على نظرة عامة حول طريقة عمل الانتشار الخلفي:

أفضل الممارسات لتدريب الشبكات العصبونية

يوضّح هذا القسم حالات تعذُّر الانتشار العكسي والطريقة الأكثر شيوعًا لتنظيم شبكة عصبية.

تلاشي التدرّجات

يمكن أن تصبح التدرّجات للطبقات السفلية من الشبكة العصبية (الطبقات الأقرب إلى طبقة الإدخال) صغيرة جدًا. في الشبكات العميقة (الشبكات التي تتضمّن أكثر من طبقة مخفية واحدة)، يمكن أن تتضمّن عملية حساب هذه التدرّجات أخذ ناتج العديد من الحدود الصغيرة.

عندما تقترب قيم التدرّج من 0 بالنسبة إلى الطبقات السفلية، يُقال إنّ التدرّجات "تتلاشى". تتدرب الطبقات التي تتضمّن تدرّجات متلاشية ببطء شديد أو لا تتدرب على الإطلاق.

يمكن أن تساعد دالة التنشيط ReLU في منع التدرجات المتلاشية.

التدرّجات المتفجرة

إذا كانت الأوزان في الشبكة كبيرة جدًا، فإنّ التدرّجات للطبقات السفلية تتضمّن نواتج العديد من الحدود الكبيرة. في هذه الحالة، يمكن أن تحدث مشكلة تضخّم التدرّجات، أي التدرّجات التي تصبح كبيرة جدًا بحيث لا يمكنها التقارب.

يمكن أن يساعد التوحيد على مستوى المجموعة في منع تضخّم التدرّجات، كما يمكن أن يساعد خفض معدّل التعلّم.

وحدات ReLU غير نشطة

عندما ينخفض المجموع المرجّح لوحدة ReLU إلى أقل من 0، يمكن أن تتعطّل وحدة ReLU. وتُنتج هذه العقدة القيمة 0، ما يعني أنّها لا تساهم في ناتج الشبكة، كما لا يمكن أن تمرّ التدرّجات من خلالها أثناء الانتشار العكسي. في حال عدم توفّر مصدر للتدرجات، قد لا يتغيّر الإدخال إلى دالة ReLU بشكل كافٍ لإعادة المجموع المرجّح إلى ما فوق 0.

يمكن أن يساعد خفض معدّل التعلّم في منع وحدات ReLU من التوقّف عن العمل.

تسوية الإسقاط

هناك شكل آخر من أشكال التسوية، يُعرف باسم تسوية التساقط، وهو مفيد للشبكات العصبية. تعمل هذه الطريقة من خلال "إيقاف" عمليات تنشيط الوحدات بشكل عشوائي في شبكة لخطوة تدرّج واحدة. كلما زاد عدد مرات التسرب، زادت قوة التسوية:

  • ‫0.0 = بدون تسوية الإسقاط
  • ‫1.0 = إزالة جميع العُقد لا يتعلّم النموذج أي شيء.
  • القيم بين 0.0 و1.0 = أكثر فائدة.