الدرس 2 — لماذا العمق
نظرياً، شبكة بطبقة خفيّة واحدة عريضة بما يكفي تستطيع تقريب أيّ دالّة. هذه نتيجة مثبتة تُسمّى نظرية التقريب الشامل. فإذا كان الأمر كذلك، لماذا العمق أصلاً؟
الجواب هو أنّ النظرية تقول «ممكن»، ولا تقول «بكفاءة».
العمق يقايض العرض بالتركيب
الطبقة الواحدة العريضة تستطيع تمثيل الدالّة، لكنّها تحتاج إلى عدد هائل من العصبونات، ولا تعيد استخدام أيّ شيء: كلّ نمط تتعلّمه مستقلّ عن الآخر.
والعمق يفعل شيئاً مختلفاً نوعياً: يبني على ما بُني. الطبقة الثانية لا تنظر إلى البكسلات بل إلى ما استخرجته الطبقة الأولى، فتركّب منه أشكالاً أعقد. والثالثة تركّب من الثانية.
النتيجة: نفس القدرة التمثيلية بمعاملات أقلّ بمراتب، ومع تعميم أفضل، لأنّ المكوّنات المتوسّطة تُعاد استخدامها في حالات كثيرة.
التسلسل الهرمي الذي ينشأ وحده
هذه أجمل نتيجة تجريبية في المجال. عند فحص شبكة رؤية مدرَّبة، طبقةً بطبقة، يظهر تدرّج منظّم:
- الطبقات الأولى: حدود، واتّجاهات، وتدرّجات لونية.
- الطبقات الوسطى: ملامس، وزوايا، وأشكال بسيطة، وأنماط متكرّرة.
- الطبقات العميقة: أجزاء ذات معنى — عين، عجلة، حرف.
- الطبقات الأخيرة: أشياء كاملة، ومفاهيم.
ولم يبرمج أحد هذا التسلسل. لم يخبر أحد الشبكة أن تبدأ بالحدود. هذا ما نشأ من تصغير الكلفة على البيانات، لأنّه التمثيل الأكفأ الذي وجدته.
لأنّه أساس نقل التعلّم. الطبقات الأولى تتعلّم شيئاً عامّاً — الحدود والملامس موجودة في كلّ الصور — والطبقات الأخيرة فقط هي المتخصّصة في المهمّة. ومن هنا يمكن أخذ نموذج دُرِّب على ملايين الصور، وتبديل طبقاته الأخيرة، وتدريبها على ألف صورة من مجالك. والدرس الخامس يفصّل ذلك.
العقبة التي عطّلت المجال عشرين سنة
كانت الرياضيات جاهزة في الثمانينيات، والعمق كان يفشل عملياً. والسبب مشكلة رياضية عميقة: التدرّجات المتلاشية.
كما رأينا في دورة الرياضيات, الانتشار العكسي يضرب الميول عبر الطبقات. وإذا كان كلّ عامل أصغر من واحد — وهذا ما تفعله دالّة السيغمويد بطبيعتها — فجداء عشرين عاملاً يقترب من الصفر.
النتيجة الملموسة: الطبقات الأولى تتلقّى ميلاً شبه معدوم، فلا تتعلّم شيئاً تقريباً. تدرّب شبكة من ثلاثين طبقة فتحصل عملياً على أداء شبكة من خمس، مع كلفة ثلاثين.
الحلول الثلاثة التي غيّرت كلّ شيء
ما فتح الباب لم يكن اختراعاً واحداً بل ثلاثة حلول تراكمت بين 2010 و2016.
ReLU بدل السيغمويد. ميل ReLU للقيم الموجبة يساوي واحداً بالضبط، فلا يقلّص شيئاً في الجداء. هذا وحده سمح بشبكات أعمق بكثير.
التطبيع بين الطبقات. إعادة توسيط وتقييس المخرجات بين الطبقات يحفظها في مدى مستقرّ، فيمنع الانفلات والتلاشي، ويسرّع التدريب بشكل ملحوظ. النسخ المعروفة: batch normalization في الرؤية، وlayer normalization في المحوّلات.
الوصلات المتخطّية (residual connections). الفكرة بسيطة إلى حدّ الاستغراب: أضف مدخل الطبقة إلى مخرجها. فيصبح للميل طريق مباشر إلى الطبقات الأولى، لا يمرّ بكلّ الجداءات. هذه الفكرة، في معمارية ResNet سنة 2015، جعلت تدريب شبكات بمئة طبقة وأكثر أمراً روتينياً.
مقاومة فرط التخصيص
شبكة بملايين المعاملات تحفظ بياناتها بسهولة تامّة. وثلاث تقنيات تُستخدم دائماً لمقاومة ذلك:
- Dropout: تعطيل عصبونات عشوائية في كلّ خطوة تدريب. هذا يمنع النموذج من الاعتماد على مسار واحد، فيوزّع المعرفة. يُلغى عند الاستخدام.
- التوقّف المبكر (early stopping): راقب الكلفة على مجموعة التحقّق، وتوقّف عندما تبدأ بالصعود بينما كلفة التدريب تنزل. هذا هو التوقيت الذي يبدأ فيه الحفظ.
- تعزيز البيانات (augmentation): توليد نسخ معدّلة من الأمثلة — قلب الصورة، تدويرها، تغيير سطوعها. النموذج يرى تنوّعاً أكبر فيعمّم أفضل. رخيص وفعّال جدّاً في الرؤية.
زيادة الطبقات بلا بيانات كافية تزيد فرط التخصيص وكلفة الحساب ولا تزيد الأداء. البنية المناسبة تُختار بالتجربة على مجموعة التحقّق، والقاعدة العملية اليوم: ابدأ من معمارية مدرَّبة معروفة بدل تصميم شبكة من الصفر.
دفعة، حقبة، وخطوة
مفردات تظهر في كلّ سجلّ تدريب، ويستحقّ توضيحها:
- الدفعة (batch): مجموعة أمثلة تُعالَج معاً قبل تحديث الأوزان. حجمها يوازن بين استقرار التدرّج واستهلاك الذاكرة.
- الخطوة (step): تحديث واحد للأوزان، أي دفعة واحدة.
- الحقبة (epoch): مرور كامل على كلّ بيانات التدريب.
تدريب نموذج يُقاس عادةً بعدد الحقب، والمراقبة تكون على منحنيَي الكلفة: كلفة التدريب وكلفة التحقّق. تباعدهما هو صورة فرط التخصيص وهي تحدث.
في ثلاث جمل
العمق ليس ضرورياً نظرياً بل ضروري عملياً، لأنّه يبني تمثيلات تركيبية تُعاد استخدامها فتحقّق القدرة نفسها بمعاملات أقلّ بمراتب. والتسلسل الهرمي — من الحدود إلى الأشياء — ينشأ من البيانات وحده، وهو أساس نقل التعلّم. وما عطّل المجال عشرين سنة هو التدرّجات المتلاشية، وقد حُلّت بـReLU والتطبيع والوصلات المتخطّية.
التالي — الدرس 3: الشبكات التلافيفية ←