تخطّي إلى المحتوى
Kudos AI

الدالّة الأُسّيّة المعيّرة

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

يُعرف أيضاً باسم: softmax, softargmax

فهم الدالّة الأُسّيّة المعيّرة

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

وليس الأُسّ اختيارًا اعتباطيًّا لدالّة موجبة. فهو ما يجعل المخرج توزيعًا في العائلة الأُسّيّة، وهو ما يُرجع تدرّج الإنتروبيا المتقاطعة بالنسبة إلى الدرجات إلى التوزيع المتنبَّأ به ناقص التوزيع المشاهَد - طرحٌ واحد، بلا قسمة ولا سلسلة عوامل. وهذه البساطة سبب استعمالهما معًا بهذا الثبات.

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

والاسم مضلّل على نحو يستحقّ التسمية. فsoftmax بديل ناعم لـargmax لا للأعظم: فهي تُرجع توزيعًا على المواضع، يصير متّجهًا أحاديّ السخونة عند الموضع الفائز حين تؤول الحرارة إلى الصفر.

كيفية الحساب

\mathrm{softmax}(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}

حيث

z_i
الدرجة الخامّة، أو اللوجيت، للنتيجة i
K
عدد النتائج، كالأصناف أو رموز المفردات

مثال على الدالّة الأُسّيّة المعيّرة

خذ الدرجات 2 و1 و0. يعطي أخذ الأُسّ 7.389056 و2.718282 و1، ومجموعها 11.107338، فيكون التوزيع 0.665241 و0.244728 و0.090031. وفرقُ وحدةٍ واحدة في الدرجات صار نسبةً نحو 2.72 في الاحتمالات، وهذا هو الأُسّ في عمله.

أضِف 100 إلى كلّ درجة، فلا يتغيّر الجواب حتّى آخر رقم، لأنّ العامل المضاف يُختصر بين البسط والمقام. ولم يكن الحساب الساذج لينجو من ذلك: فـexp(1000) يطفح العدد العشريّ المزدوج صراحةً، ولهذا بعينه تطرح التطبيقات أكبر درجة أوّلًا.

وتغيير الحرارة يحرّك هذه الدرجات الثلاث نفسها بعيدًا. فعند حرارة 0.5 يكون التوزيع 0.8668 و0.1173 و0.0159؛ وعند 1 يكون 0.6652 و0.2447 و0.0900؛ وعند 10 يكون 0.3672 و0.3322 و0.3006، أي شبه منتظم على ثلاث نتائج.

الأسئلة الشائعة

لماذا لا نقسم كلّ درجة على المجموع فحسب؟

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

هل احتمال softmax العالي يعني أنّ النموذج واثق؟

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

الخلاصة

تحوّل softmax الدرجات إلى توزيع بأخذ الأُسّ والتعيير. تحفظ الترتيب، وتتجاهل أيّ ثابت يُضاف إلى كلّ الدرجات، وتحتدّ أو تنبسط مع الحرارة، وهي البديل الناعم لـargmax لا للأعظم.