دوال التنشيط

1 دقيقة

الهدف: اختيار دالة تنشيط وفهم التشبّع والتدرجات والمخرج.

دوالّ تنشيط الطبقات المخفية

دالة التنشيطالتعبير/الفكرةالاستخدام والحذر
ReLUmax(0, z)بسيطة وسريعة؛ عصبونات ميّتة محتملة
LeakyReLUميل ضعيف عندما z<0يُقلّل الوحدات المُصفَّرة نهائياً
tanhمخرج ضمن [-1, 1]مركزيّة، لكنها تتشبّع عند الأطراف
sigmoidمخرج ضمن [0, 1]خصوصاً لمخرج ثنائي؛ تشبّع
GELUتعديل ناعمشائعة في المحوّلات (Transformers)

مشتقّ ReLU يساوي 1 عندما z>0 و0 عندما z<0. الوحدة التي تتلقّى دائماً ما قبل تنشيط سالبة لا تُمرّر تدرجاً بعد ذلك: تصير «ميتة».

المخارج

  • انحدار غير محدود: مخرج خطي.
  • احتمال ثنائي: sigmoid للتفسير، لكن Logits عند BCEWithLogitsLoss.
  • أصناف متعارضة: softmax لقراءة الاحتمالات، لكن Logits عند CrossEntropyLoss.
  • علامات متعدّدة (Multilabel): sigmoid مستقلّة لكل علامة.

Softmax

softmax(z_i) = exp(z_i) / Σ_j exp(z_j) تُحوِّل K من Logits إلى أعداد موجبة مجموعها 1. إضافة ثابت واحد إلى جميع Logits لا يُغيّر الاحتمالات. تطرح التطبيقات المستقرّة القيمةَ القصوى قبل الأس.

قاعدة عملية

استخدم ReLU خط أساس لـ MLP/CNN، وGELU للمحوّلات، ولا تضع دالة تنشيط للمخرج إلاّ إذا فرضتها الخسارة أو الواجهة صراحةً.

تحقّق سريع

لماذا يجب أن تكون دوالّ التنشيط غير خطية؟ أيّ دالة تُنتج احتمالات متعارضة؟

الأجوبة

وإلاّ فإن كل الشبكة تُختزل إلى تحويل تآلفي. تُنتج softmax توزيعاً على أصناف متعارضة.

نشاط الإتقان — اختيار وحساب

احسب ReLU وsigmoid عند z = {-2, 0, 2}، ثم softmax مستقر لـ [1000, 1001, 999]. اربط بعد ذلك مخرَجاً بأربع مهام: ثنائية، ومتعدّدة الأصناف، ومتعدّدة العلامات، وانحدار غير محدود. النجاح: لا تنشيط مضاعف قبل خسارة تعمل على Logits.

اختيار دالة التنشيط في الموضع الصحيح

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