ML 101
M06 · L03
الوحدة السادسة

الانتشار الخلفي

ارتكبت الشبكة خطأً. ماذا بعد؟ يُجيب الانتشار الخلفي على أصعب سؤال في التعلم العميق: أي الأوزان مسؤولة عن الخطأ، وبمقدار كم يجب أن يتغير كل وزن تحديدًا؟

1 / 13
ML 101
M06 · L03
المشكلة الجوهرية

تحديد المسؤولية

ملايين الأوزان، وإشارة خطأ واحدة. وزنٌ في الطبقة الأولى لا يؤثر في المخرجات إلا عبر كل طبقة فوقه. كيف تُوزّع اللوم بعدلٍ عبر عشرات المستويات؟

الإجابة
قاعدة السلسلة
الأسلوب
الانتشار الخلفي
2 / 13
ML 101
M06 · L03
الأساس

قاعدة السلسلة

الشبكة العصبية هي تركيب متداخل من الدوال. تدرّج الخسارة بالنسبة إلى أي وزن هو حاصل ضرب المشتقات الجزئية على طول المسار من ذلك الوزن إلى الخسارة. هذا الحاصل يُحسَب بقاعدة السلسلة.

قاعدة السلسلة
\frac{\partial L}{\partial z} = \frac{\partial L}{\partial a} \cdot f'(z)
3 / 13
ML 101
M06 · L03
التمرير الأول

التمرير الأمامي: تخزين كل شيء

يحسب التمرير الأمامي التنبؤ — ويُخزّن كل قيمة وسيطة. تُحفظ قبل التنشيطات z[l] والتنشيطات a[l] في كل طبقة في الذاكرة. سيحتاجها التمرير الخلفي لاحساب المشتقات المحلية.

تكلفة الذاكرة
يمكن أن تستهلك كل التنشيطات المُخزَّنة جيجابايتات في الشبكات العميقة — هذا هو ثمن الكفاءة
4 / 13
ML 101
M06 · L03
طبقة المخرجات

دلتا الأولى

ابدأ من المخرجات. إشارة الخطأ δ[L] هي تدرّج الخسارة مضروبًا في مشتقة دالة التنشيط. بالنسبة لـ softmax + cross-entropy، تبسّط المعادلة إلى â − y فقط — المتنبَّأ به ناقص الصحيح.

دلتا المخرجات
\boldsymbol{\delta}^{[L]} = \nabla_{\mathbf{a}}L \odot f'\!\bigl(\mathbf{z}^{[L]}\bigr)
5 / 13
ML 101
M06 · L03
التمرير الثاني: الخلفي

انتشار الإشارة

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

دلتا الطبقة المخفية
\boldsymbol{\delta}^{[l]} = \bigl(W^{[l+1]\top}\boldsymbol{\delta}^{[l+1]}\bigr) \odot f'\!\bigl(\mathbf{z}^{[l]}\bigr)
6 / 13
ML 101
M06 · L03
تحديث الأوزان

التدرّج في يدك

حين يُعرَف δ[l]، يصبح تدرّج الوزن فوريًا: الضرب الخارجي بين δ[l] وتنشيطات الطبقة السابقة. تدرّج الانحياز هو δ[l] ذاته. سلّمها للمُحسِّن وهو سيُحدّث الأوزان.

تدرّج الوزن
\frac{\partial L}{\partial W^{[l]}} = \boldsymbol{\delta}^{[l]}\,\mathbf{a}^{[l-1]\top}
7 / 13
ML 101
M06 · L03
الخوارزمية

حلقة التدريب

  • اختر دفعة صغيرة من B مثال
  • التمرير الأمامي: احسب التنبؤات، وخزّن كل z وa
  • احسب الخسارة على تنبؤات الدفعة مقابل التسميات
  • التمرير الخلفي: احسب جميع دلتا والتدرجات
  • المُحسِّن يُحدّث كل وزن — كرّر
8 / 13
ML 101
M06 · L03
مشكلة أولى

التدرجات المتلاشية

كل طبقة تضرب التدرج بعدد أقل من 1. أقصى مشتقة لـ sigmoid هو 0.25. بعد 20 طبقة: 0.2520 ≈ 10−12. تتوقف الطبقات الأولى عن التعلم كليًا — تفقد الشبكة قدرتها الهرمية.

الحل
تنشيطات ReLU، والاتصالات القافزة، وتطبيع الدفعات، وبوابات LSTM
9 / 13
ML 101
M06 · L03
مشكلة ثانية

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

الكارثة المعاكسة: تنمو التدرجات أسيًا طبقة بعد طبقة. تصبح التحديثات ضخمة هائلة. يتباعد التدريب وتظهر قيم NaN. شائعة في الشبكات التكرارية مع التسلسلات الطويلة.

الحل
قص التدرج — إذا تجاوز ‖g‖ الحد، قلّصه ليصبح ‖g‖ = الحد المحدد
10 / 13
ML 101
اختبار سريع

تحقّق ممّاترسّخ

أربعة أسئلة عن الانتشار الخلفي — تحديد المسؤولية، وتخزين التمرير الأمامي، ودلتا المخرجات، والتدرجات المتلاشية.

السؤال 1 من 0
النتيجة 0/0

11 / 13
ML 101
M06 · L03
تهيئة الأوزان

البداية الصحيحة

  • كلها أصفار — مشكلة التماثل: جميع الخلايا متطابقة، لن تتباعد أبدًا
  • كبيرة جدًا — تشبع التنشيطات قبل بدء التدريب
  • Xavier — ضبط بـ 1/√nin؛ لشبكات sigmoid/tanh
  • He — ضبط بـ √(2/nin)؛ لشبكات ReLU
12 / 13
ML 101
ملخص
مراجعة

ما تعلّمته

الانتشار الخلفي = قاعدة السلسلة مُطبَّقة للخلف. التمرير الأمامي يُخزّن التنشيطات؛ التمرير الخلفي يحسب دلتا طبقة بطبقة. دلتا المخرجات هي â−y لـ softmax+CE. دلتا المخفية تُسقَط عبر WT ثم تُضرَب في f′(z). التدرجات هي حواصل الضرب الخارجية. احذر من التدرجات المتلاشية والمتفجرة، وهيّئ الأوزان بعناية.

اكتملت الوحدة
الوحدة السابعة: التنظيم ←
13 / 13