الوحدة 8 — التطبيع بالحزم وبالطبقات
ألحّت دورة هندسة المتغيّرات على تسوية سلّم المُدخلات. ويوسّع التطبيع بالحزم هذه الفكرة إلى داخل الشبكة، وقد فعل تقديمه في 2015 لاستقرار التدريب أكثر مما فعلته أي تقنية أخرى في تلك الفترة على الأرجح.
المشكلة: كلّ طبقة ترى توزيع مُدخَلها يتحرّك
تستقبل الطبقة المخفية تنشيطات الطبقة السابقة. لكن أوزان هذه الطبقة السابقة تتغيّر في كلّ تحديث، فيتحرّك توزيع ما تستقبله طبقتنا حركة متّصلة أثناء التدريب.
وهذا مُقلق: فعلى الطبقة أن تتكيّف مع هدف متحرّك. وقد سمّى مؤلّفو الطريقة هذه الظاهرة الانزياح التغايري الداخلي. وينبغي معرفة أنّ هذا التفسير قد نوقش لاحقًا: فأعمال تالية تُرجع فاعلية الطريقة إلى تنعيم مشهد الخسارة، الذي يسمح بمعدّلات تعلّم أعلى. فالآلية ما تزال محلّ جدال؛ أمّا الفاعلية العملية فلا.
الحساب، وخصوصًا الوسيطان المُتعلَّمان
من أجل كلّ متغيّر تنشيط، نُطبّع على مشاهدات الحزمة:
فالخطوة الأولى تُمركز وتُقلّص. أمّا الثانية فهي التي تُنسى غالبًا، مع أنّها جوهرية: فـ و وسيطان مُتعلَّمان يسمحان للشبكة بإعادة السلّم وبالإزاحة.
فلماذا نُطبّع ثم نأذن بإلغاء التطبيع؟ لأنّ فرض متوسّط معدوم وتباين واحدي قيد قويّ قد يضرّ. فمع سيغمويد، حصر المُدخلات في مجال ضيّق حول الصفر يحجز التنشيط في جزئه الخطّي ويُفقده فائدته. والوسيطان و يجعلان التحويل اختياريًا: فتستطيع الشبكة، إن احتاجت، أن تُعيد تعلّم التطابق. فنحن نُقدّم لها إمكانًا، لا نفرض عليها نظامًا.
والمنافع المرصودة معتبرة: فمعدّلات تعلّم أعلى تصير قابلة للاستخدام، وتنخفض الحساسية تجاه التهيئة انخفاضًا واضحًا، ويظهر أثر تنظيمي ناتج عن ضجيج إحصائيات الحزمة — إلى حدّ أنّه يمكن غالبًا تقليص الإسقاط.
النظامان، والمصيدة الناتجة عنهما
كالإسقاط، يتصرّف التطبيع بالحزم تصرّفًا مختلفًا حسب الطور، لكنّ المخاطر أكبر هنا.
في التدريب يستخدم متوسّط وتباين الحزمة الجارية، ويُحدّث في أثناء ذلك متوسّطات جارية. وفي الاستدلال لا تكون إحصائيات الحزمة هذه قابلة للاستخدام: فسيعتمد التوقّع على المشاهدات الأخرى الحاضرة في الحزمة، وهذا عبث — ومن أجل مثال واحد سيكون التباين معدومًا. لذا يستخدم المتوسّطات الجارية المُراكَمة أثناء التدريب.
ومن هنا النتيجة العملية: نسيان modele.eval() مع تطبيع بالحزم لا يُدهور النتائج فقط، بل يجعل التوقّعات تعتمد على تركيب الحزمة. فالمثال نفسه يحصل على توقّعات مختلفة حسب ما يُرافقه. وهذه علّة مُخيفة لأنّها لا ترفع أي خطأ وتزول حين نختبر مثالًا مثالًا.
الحدود، والتطبيع بالطبقات
ثلاث حالات تُوقع التطبيع بالحزم في صعوبة. فمع الحزم الصغيرة تصير الإحصائيات قليلة الموثوقية — فتحت 8 أو 16 مشاهدة تفقد الطريقة فائدتها. ومع متتاليات متغيّرة الطول، كما في معالجة اللغة، يفقد مفهوم الإحصائية لكلّ موضع معناه. وسلوكه اللامتناظر بين التدريب والاستدلال مصدر حوادث في الإنتاج.
ويُجيب التطبيع بالطبقات عن ذلك كلّه بتغيير المحور: فبدلًا من تطبيع متغيّر واحد عبر مشاهدات الحزمة، يُطبّع جميع تنشيطات مشاهدة معيّنة.
| التطبيع بالحزم | التطبيع بالطبقات | |
|---|---|---|
| محور الحساب | عبر الحزمة | عبر متغيّرات مشاهدة واحدة |
| يعتمد على الحزمة | نعم | لا |
| نظامان متمايزان | نعم | لا |
| مجال التفضيل | الرؤية، الشبكات الالتفافية | المحوّلات، المتتاليات |
والميزة الحاسمة هنا: فالتطبيع بالطبقات لا يعتمد على الحزمة. لذا يتصرّف تصرّفًا متطابقًا في التدريب والاستدلال، ويعمل بحزمة من مشاهدة واحدة، ويتلاءم مع متتاليات بأي طول. ولهذه الأسباب يُجهّز جميع المحوّلات، وستجده الدورة 12 في كلّ كتلة.
import torch.nn as nn
# الرؤية: تطبيع بالحزم، بعد الطبقة وقبل التنشيط.
bloc_vision = nn.Sequential(
nn.Linear(256, 128),
nn.BatchNorm1d(128),
nn.ReLU(),
)
# المتتاليات: تطبيع بالطبقات، غير حساس لحجم الحزمة.
bloc_sequence = nn.Sequential(
nn.Linear(256, 128),
nn.LayerNorm(128),
nn.GELU(),
)
يضع العُرف التاريخي التطبيع بعد التحويل الخطّي وقبل التنشيط، كما في الأعلى. أمّا معماريات المحوّلات الحديثة فتعتمد غالبًا الترتيب المسمّى pre-norm، الذي يُطبّع قبل ا لكتلة: وهو يُثبّت تدريب الشبكات العميقة جدًّا تثبيتًا واضحًا. ولاحظ أخيرًا أنّ الطبقة الخطّية التي تسبق تطبيعًا بالحزم لا تحتاج إلى انحياز، بما أنّ الوسيط يؤدّي هذا الدور سلفًا — ومن هنا bias=False الذي نصادفه في كود النماذج الكبيرة.
الخلاصة
- يعالج التطبيع انزياح التوزيع الذي تتعرّض له كلّ طبقة؛ والتفسير الأصلي محلّ جدال، أمّا الفاعلية فلا.
- يجعل الوسيطان المُتعلَّمان و التحويل اختياريًا: فتستطيع الشبكة إعادة تعلّم التطابق إن احتاجت.
- للتطبيع بالحزم نظامان؛ ونسيان
eval()يجعل التوقّعات تعتمد على تركيب الحزمة. - التطبيع بالطبقات لا يعتمد على الحزمة، ويتصرّف تصرّفًا متطابقًا في الطورين، ويُجهّز جميع المحوّلات.
الوحدة التالية: قراءة منحنيات التعلّم، أداة التشخيص التي تربط جميع الوحدات السابقة.