تقنية

LayerNorm: أي أبعاد تدخل متوسط المثال؟

مصفوفة تتفرع إلى نطاق آخر ميزتين أو آخر بعدين، فتختلف الإحصاءات بحسب الشكل المحدد
مخطط من إعداد بحر العلوم؛ الأرقام حساب يدوي بإعداد معلن وليست نتيجة تشغيل وحدة.

أبعاد LayerNorm تتحدد من normalized_shape: تحسب الوحدة المتوسط والتباين على الأبعاد الأخيرة التي يحددها هذا الشكل. لا يكفي اسم LayerNorm للقول إن محورًا معينًا مستبعد من الحساب. [1]

الخلاصة السريعة

سم معنى الأبعاد ثم اقرأ normalized_shape؛ استقلال صف عن صف آخر في مثال محدد يعتمد على نطاق التطبيع الذي اخترته.

  • إذا كان normalized_shape يحدد آخر بعد ذي ميزتين، يشترك رقما كل صف في إحصاء مستقل؛ المصدر يربط الحساب بالأبعاد الأخيرة المحددة. [1]
  • لصفين 1 و 5 ثم 7 و 9، مع eps = 1 وتحجيم 1 وإزاحة صفر، يعطي الأول سالب 0.89443 وموجبها، والثاني سالب 0.70711 وموجبها.
  • اختيار normalized_shape=(2,2) للمصفوفة نفسها يدخل القيم الأربع في حساب واحد؛ المتوسط 5.5 والتباين 8.75، فيتغير خرج أول عنصر إلى نحو سالب 1.44115.
  • تستعمل LayerNorm إحصاءات المدخل في التدريب والتقييم، لكن ذلك لا يثبت ثبات النموذج كله أو استبعاد محور سميناه دفعة إذا أدخلناه في الشكل المختار. [1]

اربط شكل التطبيع بمعنى المدخل

يعرف المصدر متوسطًا وتباينًا عبر آخر D أبعاد، حيث D عدد أبعاد normalized_shape؛ ويستعمل تباينًا مقسومًا على عدد القيم. [1]

نعلن مصفوفة من صفين وميزتين، ونسمّي الصف حالة والعمود ميزة. عندما نختار الشكل (2)، يدخل آخر بعد فقط في التطبيع. كتابة صفين لا تعني أنهما يدخلان معًا؛ الحدود في هذا الاختيار تأتي من الشكل المعلن.

نثبت eps عند 1 لتبسيط المثال، ونختار معاملي تحجيم كلاهما 1 وإزاحتين صفريتين. لا نجري تحديثًا لهذه المعاملات أو ندعي أن اختيارنا افتراضي. غرض الإعداد أن نقرأ النطاق دون أن يخفيه معامل آخر.

احسب صفين بإحصاءين مستقلين

في الصف الأول 1 و 5، المتوسط 3 وتباين القيمتين 4. بعد طرح المتوسط والقسمة على جذر 4 + 1، نحصل على سالب 2 ÷ جذر 5 وموجبها، أي نحو سالب 0.89443 وموجب 0.89443.

في الصف الثاني 7 و 9، المتوسط 8 والتباين 1. الناتجان سالب 1 ÷ جذر 2 وموجبه، أي نحو سالب 0.70711 وموجب 0.70711. لا نجمع التباينين أو متوسطَي الصفين في هذا الحساب.

إذا بدلنا الصف الثاني إلى 70 و 90، يبقى حساب الصف الأول كما هو تحت الشكل (2) والمعاملات الثابتة. هذا استنتاج عن نطاقنا المحدد، وليس وعدًا باستقلال صفوف كل بنية تستعمل LayerNorm.

الصفالمتوسط والتباينالخرج مع الشكل (2)
1، 53، 4سالب 0.89443، موجب 0.89443
7، 98، 1سالب 0.70711، موجب 0.70711

ماذا لو شمل الشكل المصفوفة كلها؟

نغير نطاق التمرين إلى normalized_shape=(2,2). الآن آخر بعدين هما المصفوفة كاملة. نجمع 1 و 5 و 7 و 9، فنحصل على متوسط 5.5. مجموع مربعات الفروق 35، وقسمته على 4 تعطي تباينًا 8.75.

العنصر الأول يصبح (1 − 5.5) ÷ جذر (8.75 + 1)، نحو سالب 1.44115. ليس الفرق خطأ تقريب في الجدول السابق؛ القيم التي شاركت المقام والطرح تغيرت.

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

هل يغير وضع التقييم هذه الإحصاءات؟

يوثق المصدر استعمال إحصاءات المدخل في وضعي التدريب والتقييم، ومعاملات التحجيم والإزاحة لكل عنصر عند تفعيلها. [1]

لا نبحث هنا عن مخزن متوسط جارٍ نبدله كما فعلنا في مثال BatchNorm؛ المعلومة التي نراجعها هي شكل الأبعاد الحالية والمعاملات وeps. وإذا كان حول الوحدة إسقاط أو تحويل آخر، لا نثبت خرج النموذج الكامل من هذه الجملة وحدها.

لم نستدع LayerNorm أو نقارن دقة نموذجين. سجل الشكل الكامل ومعنى كل بعد ونطاق التطبيع قبل نقل جدول أرقام. هذه المراجعة تفسر من دخل المتوسط، ولا تثبت أن طريقة التطبيع أفضل لمهمة معينة.

المصادر ومتابعة القراءة

  1. PyTorch 2.8.0: LayerNorm (يفتح في نافذة جديدة)raw.githubusercontent.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.