الانتشار العكسي والنزول التدرّجي
كيف تتعلّم الشبكة العصبية: الخسارة بوصفها دالة في الأوزان، والنزول التدرّجي، والانتشار العكسي بوصفه قاعدة السلسلة مطبَّقةً إلى الوراء، مع حساب كل مشتقّة جزئية لشبكة صغيرة يدوياً والتحقّق منها مقابل الاشتقاق التلقائي.
المتطلبات المسبقة: الانحدار الخطي من المبادئ الأولى, الانحدار اللوجستي والتصنيف
الشبكة العصبية سلسلة من عمليات بسيطة، لكلٍّ منها أوزان قابلة للضبط. والتدريب هو إيجاد أوزان تجعل الخرج صحيحاً. وفكرتان تؤدّيان العمل كلّه: النزول التدرّجي، الذي يحدّد إلى أين نحرّك الأوزان، والانتشار العكسي، الذي يحسب التدرّج بكفاءة مهما بلغ عمق السلسلة.
يُوصف الانتشار العكسي غالباً بأنه صعب. وهو قاعدة السلسلة، مطبَّقةً بترتيب محدّد. وتحسب هذه المقالة كل مشتقّة لشبكة صغيرة يدوياً ثم تتحقّق من النتائج مقابل محرّك اشتقاق تلقائي.
أ. الطبقات والأوزان والخسارة
تطبّق الطبقة الكثيفة تحويلاً خطياً يتبعه لاخطية عنصراً عنصراً:
حيث مصفوفة أوزان، و متجه انحياز، و دالة تنشيط. وبدون لكان تكديس الطبقات بلا طائل: فتركيب تطبيقات خطية ليس إلا تطبيقاً خطياً آخر، ولما أمكن للشبكة تمثيل شيء لا تمثّله طبقة واحدة.
نستخدم ReLU، أي ، ومشتقّتها عند و عند .
وتقيّم دالة الخسارة الخرجَ مقابل الهدف. ولخرج قياسي نستخدم
والـ تيسير يُلغى عند الاشتقاق.
وإعادة التأطير الجوهرية: مع تثبيت البيانات، تكون دالة في الأوزان. والتدريب هو تصغير تلك الدالة.
ب. النزول التدرّجي
يشير التدرّج في اتجاه أشدّ ازدياد، ولذا نخطو عكسه لخفض :
حيث معدّل التعلّم. فإن صغر زحف التدريب؛ وإن كبر تجاوز الهدف - وهو الإخفاق نفسه المبرهَن عددياً في الانحدار اللوجستي، حيث أساءت خطوة مقدارها إلى الهدف إساءةً بالغة.
ومن ثم تختزل المسألة كلها إلى حساب لكل وزن. وقد تضمّ الشبكة ملايين الأوزان، وحساب كلٍّ منها على حدة ميؤوس منه. أما الانتشار العكسي فيحصل عليها جميعاً في مرور خلفي واحد.
ج. الشبكة التي سنشتقّها
مدخلان، وطبقة مخفية ReLU بوحدتين، وخرج خطي واحد. والانحيازات أصفار.
المرور الأمامي.
كلا المدخلين موجب، فتمرّرهما ReLU دون تغيير:
د. المرور الخلفي
نمشي الآن إلى الوراء، حاملين معنا مشتقّة بالنسبة إلى كل كمية. وكل خطوة تطبيق واحد لقاعدة السلسلة.
الخطوة 1 - الخرج.
الخطوة 2 - أوزان الخرج. بما أن ، فإن ، ومن ثم
لاحظ البنية: تدرّج الوزن هو إشارة الخطأ الواصلة إليه مضروبةً في التنشيط الداخل إليه. وهذا النمط يصحّ عند كل طبقة.
الخطوة 3 - العودة عبر طبقة الخرج. لنمضي قدماً نحتاج إلى كيفية تغيّر مع التنشيطات المخفية:
يُوزَّع الخطأ إلى الوراء بنسبة الأوزان التي حملت الإشارة إلى الأمام.
الخطوة 4 - عبر ReLU. اضرب عنصراً عنصراً في مشتقّة التنشيط. وكانت التنشيطتان القبليّتان موجبتين، فمشتقّتاهما :
من هنا تأتي الوحدات الميتة. لو كانت التنشيطة القبلية سالبة، لكانت مشتقّة ReLU ولأُفني التدرّج - فلا تصل إشارة خطأ إلى أي وزن يغذّي تلك الوحدة، ولا تستطيع التعلّم. والوحدة العالقة في السالب لكل المدخلات وحدة ميتة، وهي الدافع المعياري لمتغيّرات مثل leaky ReLU.
الخطوة 5 - أوزان الدخل. النمط نفسه كما في الخطوة 2: إشارة الخطأ في التنشيط الوارد، وهو هنا المدخل نفسه.
كل تدرّج في الشبكة، من مرور أمامي واحد ومرور خلفي واحد.
هـ. التحقّق مقابل الاشتقاق التلقائي
الاشتقاقات اليدوية عرضة للخطأ، ولا سبب للثقة باشتقاق لم يُتحقَّق منه:
يعمل في متصفحك. تُنزّل عملية التشغيل الأولى بيئة بايثون (~10 ميغابايت)، ثم تُخزّن مؤقتًا.
يطبع الاثنان True: أي أن التدرّجات المحسوبة يدوياً تتّفق مع اشتقاق PyTorch
التلقائي حتى دقة الفاصلة العائمة.
و. أخذ الخطوة
يتحرّك كل وزن عكس تدرّجه هو. ومع :
وإعادة حساب المرور الأمامي بالمصفوفتين المحدَّثتين تعطي و
هبوطاً من . خطوة واحدة خفضت الخسارة إلى أقل من نصفها. ولاحظ أن تحرّك من نحو الهدف - لم يتجاوزه بشيء، بل تحرّك في الاتجاه الصحيح فحسب، وهو كل ما تَعِد به خطوة تدرّج.
الشكل أدناه هو هذه الشبكة وعليها كل أرقامها: التفعيلات على الوحدات، وعلى كل وزنٍ التدرّجُ الذي يبلغه. تحقّق من أيٍّ منها بمقابلته بالحساب أعلاه. ثم حرّك معدّل التعلّم. فالدرس محقّ في أن الخطوات تتقلّص من تلقاء نفسها قرب النهاية الصغرى، ومن الجدير أن تعرف كم تبعد الهاوية على الجانب الآخر: فعند 0.5، أي خمسة أضعاف المعدّل المستعمل هنا، تدفع الخطوةُ المفرطة الأولى إحدى الوحدتين المخفيتين إلى السالب، وتدفع الثالثةُ الأخرى، فيحجب ReLU عندئذٍ كل تدرّج تحتهما، وتبقى الشبكة عند خسارة 0.5 إلى الأبد. وليس هذا تباعدًا، بل موتًا، ويقع في ثلاث خطوات.
تفاعلي: تمريرة خلفية واحدة، وكل الأرقام مكشوفة
شبكة الدرس. خذ خطوة، ثم جرّب معدّل تعلّم أكبر.
قيم التمرير الأمامي، وتدرّج كل وزن
- التنبّؤ
- -0.1500
- الخسارة
- 0.6612
- dL/dŷ
- -1.1500
- الخطوات المنفَّذة
- 0
التنبّؤ -0.15 مقابل هدف قدره 1، فالخسارة 0.6612 والمشتقة الأولى -1.15. واقرأ هذه الإشارة اتّجاهًا لا حكمًا: فالسالب يعني أن الخسارة تنخفض كلما ارتفع التنبّؤ، وهو الصواب لتنبّؤ يقع تحت هدفه. وكل تدرّج في الرسم هو هذا الرقم نفسه مدفوعًا إلى الوراء عبر الأوزان، وهذه هي الحيلة كلها: يُحسب مرة ويُعاد استعماله لكل معامل يغذّي الخرج.
ز. الدفعات، ولماذا تتوسّع الخوارزمية
لا يستخدم التدريب الحقيقي مثالاً واحداً. فـالنزول التدرّجي العشوائي يحسب التدرّج على دفعة صغيرة عشوائية ويخطو، مكرّراً ذلك عبر البيانات. وتدرّج الدفعة أكثر ضجيجاً من تدرّج البيانات كاملة لكنه أرخص بكثير، والضجيج نافع في الغالب - إذ قد يُخرج البارامترات من مناطق رديئة.
وكفاءة الانتشار العكسي هي ما يجعل هذا كله ممكناً: مرور أمامي واحد ومرور خلفي واحد يعطيان المشتقّة بالنسبة إلى كل بارامتر، بكلفة تتناسب مع المرور الأمامي لا مع عدد البارامترات. أما حساب كل واحدة من مليون مشتقّة جزئية على حدة بالفروق المنتهية فكان سيحتاج مليون مرور أمامي.
التدرّج محلي، وسطح الخسارة ليس محدّباً. فخلافاً للمربّعات الصغرى، لخسارة الشبكة صغريات ونقاط سرج كثيرة، ولا يقدّم النزول التدرّجي أي ضمان بالعثور على أفضلها. وفي الممارسة تكثر الصغريات الجيدة بما يكفي، لكن «تقارب» ليست «وجد المثالية».
الخلاصات الأساسية
- يعيد التدريب تأطير الخسارة بوصفها دالة في الأوزان ويصغّرها بالنزول التدرّجي، .
- التنشيطات اللاخطية ضرورية؛ فالطبقات الخطية المكدّسة تنهار إلى طبقة واحدة.
- الانتشار العكسي هو قاعدة السلسلة مطبَّقةً إلى الوراء، مع إعادة استخدام كل مشتقّة وسيطة.
- كل تدرّج وزن هو التنشيط الوارد × إشارة الخطأ الصادرة - القاعدة نفسها عند كل طبقة.
- شبكتنا المحلولة: ، و، و، مؤكَّدة مقابل الاشتقاق التلقائي.
- وحدات ReLU ذات التنشيط القبلي السالب تمرّر تدرّجاً صفرياً وقد تموت.
ما التالي
المرور الخلفي نفسه يدرّب المعمارية التي تقف خلف نماذج اللغة الحديثة، لكن تلك النماذج تحتاج آلية تتيح لكل موضع في المتتالية أن يستشير كل موضع آخر. وتلك الآلية هي الانتباه والانتباه الذاتي.
المراجع والقراءات الإضافية
- François Chollet, Deep Learning with Python, Manning (2nd edition, MEAP), 2020· مكتبة مراجع Kudos AI
تُذكر الأعمال المحمية بحقوق النشر للمرجعية فقط ولا تُستضاف هنا؛ يرجى الرجوع إلى الناشر للوصول إليها.