فهم نزول التدرج
يجيب نزول التدرج عن سؤال آلي: إذا كانت لدينا دالة تقيس مقدار خطأ النموذج، فإلى أي اتجاه تُحرَّك المعاملات لتقليله؟ إن تدرّج دالة الخسارة هذه، أي متجه مشتقاتها الجزئية بالنسبة إلى كل معامل، يشير إلى الاتجاه الذي تنمو فيه الخسارة أسرع ما يكون. ومن ثمّ فالتقدّم في الاتجاه المعاكس تمامًا يقلّلها بأسرع ما يمكن، محليًا على الأقل.
والخوارزمية هي الحلقة الناتجة عن ذلك: احسب التدرّج عند المعاملات الحالية، وخُذ خطوة صغيرة عكسه، ثم كرِّر. ويحدّد حجمَ الخطوة عددٌ واحد هو معدّل التعلّم، وهو ذو أثر بالغ. فإن صغُر أكثر مما ينبغي احتاج النموذج عددًا غير عملي من الخطوات، وإن كبُر تجاوزت الخطواتُ الصغرى فتذبذبت الخسارة أو تباعدت صراحة.
والطريقة محلية. فهي تتبع الميل تحت النقطة الحالية دون رؤية للمشهد الأوسع، ولذلك تتقارب إلى صغرى محلية. وعلى سطح خسارة محدّب، وهو ذو حوض واحد، تكون تلك الصغرى المحلية هي الشاملة. أما في الشبكات العصبية فالسطح غير محدّب، والملاحظة العملية أن ذلك يقلّ أهمية عمّا أوحت به النظرية: فالصغريات المبلوغة من نقاط انطلاق مختلفة تُعمِّم على نحو متقارب.
وعمليًا لا يكاد التدرّج يُحسب على مجموعة التدريب كاملة، إذ يكون ذلك باهظًا. فتقدّره طريقة نزول التدرج العشوائي من دفعة صغيرة تُسحب عشوائيًا. والتقدير أكثر ضجيجًا، لكن كل خطوة أرخص بكثير، بل إن الضجيج نفسه مفيد إذ يعين المسار على الإفلات من نقاط السرج والأودية الضيقة. وتبني المُحسِّنات الحديثة كالزخم وAdam على الهيكل ذاته مضيفةً ذاكرة للتدرجات السابقة.
كيفية الحساب
θ ← θ − η ∇L(θ)
حيث
- θ
- المعاملات المطلوب تحسينها
- η
- معدّل التعلّم، أي حجم الخطوة
- ∇L(θ)
- تدرّج الخسارة L بالنسبة إلى θ
- ←
- إسناد: تحلّ القيمة الجديدة محل القديمة في كل تكرار
مثال على نزول التدرج
لنأخذ أبسط خسارة ممكنة، f(w) = (w − 3)²، وصغراها بدهيًا عند w = 3. ومشتقتها f′(w) = 2(w − 3)، فتكون قاعدة التحديث w ← w − η · 2(w − 3). ولنبدأ متعمّدين من نقطة بعيدة عند w = 10 بمعدّل تعلّم η = 0.1.
تعطي الخطوات الخمس الأولى w = 8.6000 و7.4800 و6.5840 و5.8672 و5.2938، وتهبط الخسارة من 31.36 إلى 20.07 ثم 12.85 ثم 8.22 ثم 5.26. وتغلق كل خطوة 20% من المسافة المتبقية إلى 3، فيكون التقدّم سريعًا في البداية ثم يتباطأ مع تضاؤل التدرّج قرب الصغرى.
ومعدّل التعلّم ليس اختيارًا حرًّا. فلهذه الدالة يتقارب أي η بين 0 و1؛ وعند η = 1 بالضبط يقفز المُكرَّر إلى النقطة المرآتية فيتذبذب أبدًا دون تحسّن؛ وفوق 1 يتباعد. ولكل سطح خسارة عتبة استقرار مناظرة تحدّدها انحناؤه، ولهذا قد يدمّر معدّلُ تعلّمٍ ناجحٌ في نموذج تدريبَ نموذج آخر.
المزايا والعيوب
المزايا
- لا يتطلب سوى المشتقات الأولى، فيتوسّع إلى نماذج ذات مليارات المعاملات.
- اقتصادي في الذاكرة: لا حاجة إلى بناء مصفوفة مشتقات ثانية أو عكسها.
- تعمل صورته بالدفعات الصغيرة على مجموعات بيانات أكبر بكثير من أن تسع الذاكرة.
العيوب
- لا يتقارب إلا إلى صغرى محلية، دون ضمان أنها الشاملة في الخسائر غير المحدّبة.
- شديد الحساسية لمعدّل التعلّم، الذي يُضبط تجريبيًا في الغالب.
- يتعثّر في الأودية الضيقة الممدودة، فيتعرّج بدل السير على قاعها.
الأسئلة الشائعة
لماذا نطرح التدرّج بدل أن نجمعه؟
يشير التدرّج إلى أشدّ زيادة في الخسارة. ولما كان الهدف تصغيرها، تكون الخطوة في الاتجاه المعاكس. أما جمعه فيؤدي إلى صعود التدرج، وهو المطلوب تحديدًا عند تعظيم هدف بدل تصغير خطأ.
ما الفرق بين النزول بالدفعة الكاملة والعشوائي وبالدفعات الصغيرة؟
يحسب النزول بالدفعة الكاملة التدرّج على مجموعة التدريب كلها في كل خطوة: دقيق لكنه بطيء. ويستخدم النزول العشوائي مثالًا واحدًا لكل خطوة: سريع لكنه شديد الضجيج. أما الدفعات الصغيرة، وهي عادة عشرات إلى مئات الأمثلة، فتقع بينهما وهي المستخدمة فعليًا في التعلّم العميق.
هل يعلق نزول التدرج في صغريات محلية عند تدريب الشبكات العصبية؟
أقلّ مما يوحي به الحدس المستمد من الرسوم منخفضة الأبعاد. ففي فضاءات المعاملات العالية الأبعاد تكون نقاط السرج أكثر شيوعًا بكثير من الصغريات المحلية الرديئة، ويساعد ضجيج تدرجات الدفعات الصغيرة المسارَ على الابتعاد عنها.
الخلاصة
نزول التدرج هو المحرّك وراء معظم ملاءمة النماذج الحديثة: قِس ميل الخطأ، واخطُ نزولًا، وكرِّر. وبساطته هي ما يتيح توسّعه إلى نماذج هائلة، وصعوبتاه الملازمتان، اختيار معدّل التعلّم ومعالجة هندسة الخسارة العسيرة، هما ما تقوم عليه أدبيات المُحسِّنات.