Batch Normalization
التطبيع الدفعي
التعريف
تقنية تطبّع مخرجات طبقة داخل الدفعة الواحدة إلى متوسط صفر وتباين واحد ثم تعيد تحجيمها بمعاملات قابلة للتعلم.
يقلل التطبيع الدفعي اضطراب توزيع مدخلات الطبقات أثناء التدريب، فيسمح بمعدلات تعلم أكبر ويسرّع التقارب ويضيف أثراً منظِّماً خفيفاً.
أثناء الاستدلال تُستخدم متوسطات وتباينات متحركة محسوبة أثناء التدريب بدل إحصاءات الدفعة.
Definition
Batch normalization normalises layer activations using the mini-batch mean and variance, then applies learnable scale and shift parameters to stabilise and accelerate training.
شرح مبسّط للمبتدئين
كأن تحوّل درجات كل الاختبارات إلى مقياس واحد قبل المقارنة، فتصبح القيم قابلة للمقارنة العادلة.
شرح أكاديمي متخصص
لدفعة \(\{x_i\}\): \(\hat{x}_i=(x_i-\mu_B)/\sqrt{\sigma_B^2+\epsilon}\) ثم \(y_i=\gamma\hat{x}_i+\beta\). التفسير الأصلي «انزياح التغاير الداخلي» نوقش لاحقاً بأدلة تربطها بملاسة سطح الخسارة.
أمثلة عملية
- إضافة BatchNorm بعد كل طبقة التفاف في ResNet.
التطبيقات والاستخدامات
- الشبكات الالتفافية العميقة.
المزايا
- تدريب أسرع وأكثر ثباتاً.
- تقلل الحساسية للتهيئة.
القيود والعيوب
- يتأثر الأداء بحجم الدفعة الصغير.
- لا يناسب التسلسلات؛ تُفضَّل Layer Norm في المحوّلات.
المعادلات الرياضية
التطبيع الدفعي
\hat{x}_i=\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}},\quad y_i=\gamma\hat{x}_i+\betaنطرح متوسط الدفعة ونقسم على انحرافها المعياري، ثم نسمح للشبكة بإعادة تحجيم المخرج وإزاحته.
| الرمز | المعنى |
|---|---|
| \(\mu_B\) | متوسط الدفعة |
| \(\sigma_B^2\) | تباين الدفعة |
| \(\epsilon\) | ثابت صغير لتجنب القسمة على صفر |
| \(\gamma, \beta\) | معاملان قابلان للتعلم |
