قراءة
وضع القصص

تدريب الشبكات العصبية

~24 دقيقة قراءة الدرس 4 من 4 في الوحدة 6

من التدرجات إلى نموذج قابل للاستخدام

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

يتناول هذا الدرس الآليات العملية للتدريب — المكونات التي تُجمِّعها في كل مرة تبني فيها شبكة عصبية وتُدرِّبها في العالم الحقيقي.

دوال الخسارة: ماذا نُصغِّر؟

دالة الخسارة هي الرقم الوحيد الذي يسعى التدريب إلى تقليله. اختيارها ليس اعتباطيًا — يجب أن يتوافق مع المهمة وتوزيع الإخراج الذي تُنمذجه.

في الانحدار (التنبؤ بقيمة مستمرة)، الخيار الشائع هو متوسط مربع الخطأ (MSE). يُعاقب الأخطاء الكبيرة تربيعيًا، مما يجعله حساسًا للقيم الشاذة لكنه مريح رياضيًا: التدرج هو ببساطة خطأ التنبؤ مضروبًا بـ 2/n.

متوسط مربع الخطأ
\mathcal{L}_{\text{MSE}} = \frac{1}{n}\sum_{i=1}^{n}(\hat{y}_i - y_i)^2
متوسط مربع الفرق بين التنبؤات ŷi والأهداف yi على n مثال. التربيع يُعاقب الانحرافات الكبيرة بشكل غير متناسب، وهو جيد للبيانات النظيفة لكنه يجعل MSE حساسًا للقيم الشاذة. متوسط القيمة المطلقة للخطأ (MAE) هو البديل الأكثر مقاومة للشذوذات، مع أن تدرجه غير سلس عند الصفر.

في التصنيف، الخيار السائد هو خسارة الإنتروبيا المتقاطعة (تُعرف أيضًا بخسارة اللوغاريتم). تقيس عدم التشابه بين توزيع الاحتمالية المتوقع وتوزيع التسمية الحقيقية. مع طبقة إخراج softmax، تُنتج الإنتروبيا المتقاطعة تدرجًا أنيقًا δ[L] = â − y الذي اشتققناه في الدرس السابق.

خسارة الإنتروبيا المتقاطعة
\mathcal{L}_{\text{CE}} = -\sum_{k=1}^{K} y_k \log \hat{p}_k = -\log \hat{p}_{\text{true}}
لمثال واحد بـ K فئة، الإنتروبيا المتقاطعة هي سالب لوغاريتم الاحتمالية المتوقعة للفئة الصحيحة. ومع متجه تسمية أحادي التنشيط y، تتساقط كل الحدود ما عدا حد الفئة الصحيحة. تُعاقب بشدة التنبؤات الخاطئة الواثقة (التنبؤ بـ 0.01 عندما تكون الإجابة 1 يُسهم بـ −log(0.01) ≈ 4.6)، وتُكافئ بلطف التنبؤات الصحيحة الواثقة.
لماذا لا نستخدم MSE للتصنيف؟

MSE مع مخرجات sigmoid/softmax يُنشئ تضاريس خسارة مسطحة عندما تكون التنبؤات خاطئة جدًا — يكاد التدرج يتلاشى لأن sigmoid قريب من التشبع. الإنتروبيا المتقاطعة تتجنب هذا: تدرجها دائمًا متناسب مع خطأ التنبؤ â − y، مما يوفر إشارة قوية حتى عندما يكون النموذج مخطئًا بثقة.

المُحسِّنات: كيف نُطبِّق التدرجات

المُحسِّن يحدد كيفية استخدام التدرجات لتحديث الأوزان. أبسط مُحسِّن هو النزول التدرجي العشوائي (SGD): اطرح كسرًا η (معدل التعلم) من التدرج من كل وزن. وهو نفس معدل التعلم الذي كُتب α في مقدمة النزول التدرجي (الدرس 2.1)؛ وη هو ببساطة الرمز الشائع له في التعلم العميق.

قاعدة تحديث SGD
w \leftarrow w - \eta \,\nabla_w L(w)
يُحدَّث متجه الوزن w بطرح معدل التعلم η مضروبًا في تدرج الخسارة ∇L(w). في SGD بالدفعات الصغيرة، يُقدَّر التدرج من مجموعة فرعية عشوائية من بيانات التدريب بدلًا من مجموعة البيانات الكاملة، وهذا يُدخل ضجيجًا يساعد على الهروب من الحدود الدنيا المحلية الحادة.

SGD الخالص فعّال لكنه بطيء على أسطح الخسارة السيئة التكييف (حيث تنحني التضاريس بحدة في بعض الاتجاهات وبلطف في اتجاهات أخرى). SGD مع الزخم يعالج هذا بتجميع متجه سرعة يخفف التذبذبات ويُسرِّع الحركة في اتجاهات التدرج المتسقة — مثل كرة تتدحرج إلى أسفل التل وتكتسب سرعة.

يستخدم التعلم العميق الحديث بشكل ساحق Adam (تقدير العزم التكيفي)، الذي يجمع الزخم مع معدلات تعلم تكيفية لكل معامل. يحتفظ Adam بمتوسطَين متدحرجَين: تقدير العزم الأول (متوسط التدرجات) وتقدير العزم الثاني (متوسط التدرجات المربعة). المعاملات التي تتلقى تدرجات كبيرة ومتسقة تحصل على معدل تعلم فعلي أصغر؛ والمعاملات ذات التدرجات الصغيرة المشوَّشة تحصل على معدل أكبر.

تحديث Adam
m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t \quad v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2 \quad w_t = w_{t-1} - \frac{\eta}{\sqrt{\hat{v}_t}+\epsilon}\hat{m}_t
يتتبع Adam المتوسط المتحرك الأسي للتدرجات (m، العزم الأول) والتدرجات المربعة (v، العزم الثاني) بمعدلات انحلال β1 ≈ 0.9 وβ2 ≈ 0.999. التقديرات المصحَّحة من الانحياز m̂ وv̂ تمنع الخطوات الأولى من أن تكون أصغر مما ينبغي. التحديث الفعلي هو التدرج مُعيَّرًا بتباينه التاريخي — التدرجات الكبيرة المتسقة تُنتج خطوات مُعيَّرة أصغر؛ والصغيرة المشوَّشة تُنتج خطوات أكبر.

AdamW هو متغيِّر شائع الاستخدام يفصل تلاشي الأوزان عن تحديث التدرج. في Adam القياسي، يُدمج تنظيم L2 (تلاشي الأوزان) داخل التدرج — ومعنى ذلك أن العزم الثاني يُكيِّفه هو أيضًا، فيُقلِّل أثره. أما AdamW فيُطبِّق تلاشي الأوزان على الأوزان مباشرة قبل خطوة التدرج، فيستعيد للتنظيم قوته المقصودة. تستخدم معظم النماذج المتطورة AdamW.

جداول معدل التعلم

معدل التعلم الثابت نادرًا ما يكون مثاليًا. في بداية التدريب يُسرِّع معدل تعلم كبير التقارب؛ وفي نهاية التدريب يسمح معدل صغير بالضبط الدقيق للحد الأدنى. جداول معدل التعلم تُغيِّر المعدل خلال مسار التدريب.

الانخفاض المتدرج يقلل معدل التعلم بعامل ثابت (مثلًا ×0.1) كل عدد ثابت من الحقب. بسيط وقابل للتفسير، لكنه يتطلب ضبطًا يدويًا لتوقيت الانخفاض.

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

التبريد الكوسيني
\eta_t = \eta_{\min} + \tfrac{1}{2}(\eta_{\max}-\eta_{\min})\left(1 + \cos\!\left(\frac{t\pi}{T}\right)\right)
معدل التعلم ηt عند الخطوة t ينخفض من ηmax إلى ηmin وفق نصف منحنى كوسيني على T خطوة إجمالية. الانحلال السلس يتجنب الانتقالات المفاجئة ويمنح المُحسِّن وقتًا للاستقرار في حد أدنى مسطح، وهو ما يُعمِّم عادةً أفضل من الحدود الدنيا الحادة.

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

تأثيرات حجم الدفعة

حجم الدفعة — عدد أمثلة التدريب المعالَجة في تمرير أمامي/خلفي واحد — هو أحد أهم مُعامِلات الضبط، رغم أن تأثيره دقيق.

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

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

قاعدة التحجيم الخطي

عند مضاعفة حجم الدفعة بعامل k، اضرب معدل التعلم بـ k أيضًا. هذا يحافظ على حجم التحديث المتوقع للأوزان. مثلًا، الانتقال من حجم دفعة 256 إلى 2048 (8×) يجب أن يكون مصحوبًا بزيادة 8× في معدل التعلم. هذه القاعدة تصمد جيدًا في الممارسة لكنها تنهار عند أحجام الدفعات الكبيرة جدًا، وهناك يصبح الإحماء مهمًا بشكل خاص.

التسرب: التنظيم بالضجيج

التسرب (Dropout) هو تقنية تنظيم بسيطة وفعّالة بشكل لافت. خلال كل خطوة تدريب، تُضبط كل خلية عصبية في طبقة التسرب إلى الصفر باستقلالية باحتمالية p (معدل التسرب، عادةً 0.1–0.5). تُضخَّم مخرجات الخلايا الناجية بمقدار 1/(1−p) للحفاظ على حجم التفعيل المتوقع.

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

التدريب مقابل الاستدلال

التسرب نشط فقط أثناء التدريب. أثناء التقييم والاستدلال، تكون جميع الخلايا العصبية موجودة وتُضرب مخرجاتها في (1−p) — أو بالمقابل، تُضخَّم المخرجات بمقدار 1/(1−p) أثناء التدريب (التسرب المعكوس، وهو التنفيذ القياسي). عدم تعطيل التسرب في وقت الاستدلال هو خطأ شائع يُدهور أداء النموذج.

تطبيع الدفعة: استقرار توزيع التدريب

مع تدريب الشبكة، يتغير توزيع المُدخلات لكل طبقة بتغيُّر أوزان الطبقات السابقة. هذه الظاهرة — المعروفة بـ التحول الداخلي لإحداثيات المتغيرات المشتركة — تُجبر الطبقات اللاحقة على التكيف باستمرار مع هدف متحرك، مما يُبطئ التدريب. تطبيع الدفعة (BN) يعالج هذا بتطبيع مُدخلات ما قبل التفعيل لكل طبقة عبر الدفعة الصغيرة لتحصل على متوسط صفري وتباين وحدوي، ثم يُطبِّق معاملات تحجيم (γ) وإزاحة (β) قابلة للتعلم.

تطبيع الدفعة
\hat{x} = \frac{x - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}} \qquad y = \gamma \hat{x} + \beta
لكل بُعد ميزة، يحسب BN متوسط الدفعة الصغيرة μB وتبايُنها σ2B، ويُطبِّع كل تفعيل إلى x̂، ثم يُطبِّق معاملات تقاربية قابلة للتعلم γ وβ. أثناء الاستدلال، تُستبدَل μ وσ2 بإحصائيات متدحرجة مُجمَّعة أثناء التدريب.

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

موضع BN: قبل التفعيل أم بعده؟

الورقة الأصلية تُطبِّق BN قبل دالة التفعيل (BN ما قبل التفعيل). وكثير من التنفيذات الحديثة — وبخاصة شبكات ResNet — تستخدم ResNet بصيغة ما قبل التفعيل، حيث يظهر BN قبل كل من التفعيل والوصلة المتخطية، وهذا يُحسِّن سريان التدرج. عمليًا، كِلا الموضعين يعمل عادةً؛ والاتساق داخل النموذج الواحد يهم أكثر من الخيار نفسه.

وصفة تدريب كاملة

تتحد هذه المكونات في إعداد تدريب قياسي لنموذج تعلم عميق حديث. بينما تتباين الخيارات الدقيقة حسب البنية والمهمة، تبدو وصفة افتراضية معقولة على النحو التالي:

الوصفة الافتراضية للتعلم العميق

الخسارة: إنتروبيا متقاطعة للتصنيف، MSE أو خسارة Huber للانحدار.

المُحسِّن: AdamW مع β1 = 0.9، β2 = 0.999، ε = 10−8، تلاشي الأوزان = 0.01–0.1.

معدل التعلم: تبريد كوسيني مع إحماء خطي على 5–10% من الخطوات الإجمالية. المعدل الأولي ~10−3 لمُحسِّنات عائلة Adam، ~10−1 لـ SGD.

حجم الدفعة: 32–256 لمعظم المهام. حجِّم معدل التعلم بشكل متناسب عند زيادة حجم الدفعة.

التنظيم: تسرب (p = 0.1–0.3) بعد الطبقات الكثيفة. تطبيع دفعة بعد الطبقات الخطية/التلافيفية قبل التفعيل. تلاشي الأوزان في المُحسِّن.

التهيئة: He لشبكات ReLU، Xavier لـ sigmoid/tanh.

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

النقاط الرئيسية
  • يجب أن تتوافق دالة الخسارة مع المهمة: MSE للانحدار، والإنتروبيا المتقاطعة للتصنيف. الإنتروبيا المتقاطعة تتجنب تشبع التدرج الذي يعاني منه MSE مع مخرجات sigmoid.
  • SGD هو الأساس؛ الزخم يُسرِّعه على أسطح سيئة التكييف. Adam يُكيِّف معدلات التعلم لكل معامل باستخدام تقديرات العزم الأول والثاني. AdamW يفصل تلاشي الأوزان مستعيدًا تأثير التنظيم.
  • جداول معدل التعلم — الانخفاض المتدرج، والتبريد الكوسيني، والإحماء — تُحسِّن الأداء النهائي بالبدء بعدوانية والانتهاء بدقة. الإحماء حاسم لمُحسِّنات عائلة Adam.
  • الدفعات الكبيرة تُدرِّب بسرعة لكنها تُخاطر بحدود دنيا حادة تُعمِّم بشكل سيء. الدفعات الصغيرة تُدخل ضجيجًا مفيدًا. قاعدة التحجيم الخطي: اضرب معدل التعلم بـ k عند مضاعفة حجم الدفعة بـ k.
  • التسرب يُصفِّر التفعيلات بشكل عشوائي أثناء التدريب، مانعًا التكيف المشترك وعاملًا كتجميع ضمني. يجب تعطيله في وقت الاستدلال.
  • تطبيع الدفعة يُطبِّع مُدخلات الطبقة عبر الدفعة الصغيرة، مستقر التوزيعات، مُمكِّنًا معدلات تعلم أعلى، وعاملًا كتنظيم خفيف. معاملات γ وβ القابلة للتعلم تستعيد القدرة التمثيلية.
  • الوصفة الكاملة تجمع هذه الخيارات. الاستئصال المنهجي — تغيير مكون واحد في كل مرة — هو الأسلوب القياسي لفهم مساهمات كل جزء.
السابق الانتشار الخلفي نظرة عامة التالي الالتواء للصور