دالة التنشيط في الشبكة العصبونية واستخداماتها
يوصى بفهم الشبكات العصبونية قبل قراءة هذه المقالة!
لعل إحدى أهم الخيارات التي عليك اتخاذها في عملية بناء الشبكة العصبونية هي تحديد دالة التنشيط التي يجب استخدامها في الطبقة المخفية، وكذلك في طبقة الإخراج الخاصة بالشبكة. نقدم في مقالتنا هذه بعض الخيارات.
عناصر الشبكة العصبونية
طبقة الإدخال: تقبل هذه الطبقة ميزات الإدخال، أي أنها توفر معلومات من العالم الخارجي إلى الشبكة، ولا يتم إجراء أي حساب في هذه الطبقة، والعقد هنا تنقل المعلومات (الميزات) إلى الطبقة المخفية.
الطبقة المخفية: لا تظهر عقد هذه الطبقة للعالم الخارجي، فهي جزء من التجريد الذي توفره أي شبكة عصبية.
تطبق الطبقة المخفية مختلف أنواع العمليات الحسابية على الميزات التي تم إدخالها من خلال طبقة الإدخال، وتنقل النتيجة إلى طبقة الإخراج.
طبقة الإخراج: تظهر هذه الطبقة المعلومات التي تعلمتها الشبكة إلى العالم الخارجي.
ماهي دالة التنشيط ولماذا نستخدمها؟
تقرر دالة التنشيط ما إذا كانت الخلية العصبية (neuron) في حالة نشطة أم لا، وذلك عن طريق حساب المجموع الكلي لأوزان الخلايا العصبية وإضافة قيم التحيز إليها. والغرض من دالة التنشيط هو إدخال عدم الخطية (non-linearity) في خرج الخلية العصبية.
ولمزيد من الشرح:
نحن نعلم أن الشبكة العصبية تحتوي على خلايا عصبية تعمل بالتوافق مع الوزن وقيمة التحيز ودالة التنشيط الخاصة بكل منها.
في الشبكة العصبية، نحدّث أوزان وقيم تحيزات الخلايا العصبية على أساس الخطأ الذي نحصل عليه في الخرج. وتعرف هذه العملية باسم الانتشار العكسي back-propagation. تجعل دالة التنشيط عملية الانتشار العكسي ممكنةً حيث تستخدم المشتقات بما يتوافق مع الخطأ لتحديث الأوزان والتحيزات.
لماذا نحتاج إلى دالة التنشيط غير الخطية؟
الشبكة العصبية من دون دالة التنشيط هي في الأساس مجرد نموذج انحدار خطي، تطبق دالة التنشيط تحويلات غير خطية للمدخلات مما يجعلها قادرة على التعلم وأداء مهام أكثر تعقيداً.
البرهان الرياضي:
نفرض أن لدينا شبكة عصبية كما في الشكل التالي.
ستكون مكونات المخطط كالتالي:
إذا أشرنا للطبقة المخفية layer 1:
z(1) = W(1)X + b(1) a(1)
حيث:
- Z(1) هو الخرج الموجه من الطبقة layer 1
- W(1) هي الأوزان الموجهة المخصصة لخلايا الطبقة المخفية، أي w1 و w2 و w3 و w4
- X هي ميزات الدخل الموجه أي i1 و i2
- b هو قيمة التحيز الموجه المخصص لخلايا الطبقة المخفية، أي b1 و b2
- a(1) هي الصيغة الموجهة لأي تابع خطي.
(ملاحظة: في هذه الحالة لم تؤخذ دالة التنشيط بعين الاعتبار)
فإذا أشرنا إلى طبقة الخرج بـ Layer 2 سيكون دخلها هو خرج الطبقة المخفية:
z(2) = W(2)a(1) + b(2) a(2) = z(2)
سيكون الحساب في طبقة الخرج:
z(2) = (W(2) * [W(1)X + b(1)]) + b(2) z(2) = [W(2) * W(1)] * X + [W(2)*b(1) + b(2)]
لنفرض:
[W(2) * W(1)] = W [W(2)*b(1) + b(2)] = b
سيكون الخرج النهائي:
z(2) = W*X + b
وهو تابع خطي ايضاً.
ينتج عن هذه الملاحظة تابع خطي أيضاً، حتى مع وجود طبقة مخفية. وبالتالي يمكننا أن نستنتج أنه بغض النظر عن عدد الطبقات المخفية التي نضمّنها في الشبكة العصبية، فإن جميع الطبقات ستتصرف بنفس الطريقة، لأن تركيب تابعين خطيين ينتج عنه تابع خطي أيضاً. حيث لا يمكن للخلايا العصبية أن تتعلم فقط باستخدام تابع خطي مرتبط بها، أما دالة التنشيط غير الخطية فستسمح بالتعلم وفقا لخطأ الفرق، ومن هنا نحن بحاجة إلى دالة التنشيط.
أنواع دوال التنشيط في الشبكات العصبية
- دالة التنشيط الخطي:
- المعادلة: دالة خطية لها معادلة مشابهة لمعادلة الخط المستقيم، أي y = x
- بغض النظر عن عدد الطبقات التي لدينا، إذا كانت جميعها خطية بطبيعتها، فإن دالة التنشيط النهائي للطبقة الأخيرة ليست سوى تابع خطي لمدخلات الطبقة الأولى.
- المجال: -inf إلى +inf
- الاستخدامات: يتم استخدام دالة التنشيط الخطي في مكان واحد فقط، أي طبقة الإخراج.
- المشاكل: إذا قمنا باشتقاق دالة خطية لتحقيق عدم الخطية، فلن تعتمد النتيجة بعد الآن على الإدخال “x” وستصبح الدالة ثابتاً، وبالتالي لن تقدم أي سلوك مفيد لخوارزميتنا.
- مثال: حساب سعر المنزل هو مسألة انحدار. قد يكون لسعر المنزل أي قيمة سواء كانت كبيرة أو صغيرة. حتى نتمكن من تطبيق دالة التنشيط الخطي في طبقة الإخراج يجب أن يكون للشبكة العصبونية أي تابع غير خطي في الطبقات المخفية في هذه الحالة.
- دالة سيغمويد Sigmoid
- دالة تُرسم بيانياً على شكل حرف “S”.
- المعادلة: A = 1/(1 + e-x)
- الطبيعة: غير خطي، لاحظ أن قيم X تقع بين -2 إلى 2، وقيم Y شديدة الانحدار. هذا يعني أن التغيرات الصغيرة في x ستؤدي إلى تغيرات كبيرة في قيمة Y.
- المجال: 0 إلى 1
- الاستخدامات: تستخدم عادة في طبقة الإخراج ذات التصنيف الثنائي، حيث تكون النتيجة إما 0 أو 1، حيث أن قيمة تابع سيغمويد تقع بين 0 و 1 فقط، لذلك يمكن التنبؤ بالنتيجة بسهولة لتكون 1 إذا كانت القيمة أكبر من 0.5 و 0 بخلاف ذلك.
دالة الظل الزائدي tanh
- Tanh دالة تنشيط تعمل دائماً بشكل أفضل من دالة سيغمويد وتُعرف أيضاً باسم دالة الظل الزائدي. في الواقع، هي نسخة معدلة رياضياً من دالة سيغمويد، وهما متشابهتان ويمكن اشتقاق كل منهما من الأخرى.
- المجال: -1 إلى +1
- الطبيعة: غير خطية.
- الاستخدامات: تستخدم عادة في الطبقات المخفية للشبكة العصبية حيث تقع قيمها بين -1 إلى 1 ومن ثم فإن متوسط الطبقة المخفية يكون 0 أو قريباً جداً منها، وبالتالي يساعد في تجميع البيانات حول المركز عن طريق تقريب المتوسط من 0، وهذا يجعل التعلم للطبقة التالية أكثر سهولة.
دالة ريلو RELU
- اختصاراً لـ Rectified linear unit وتعتبر دالة ريلو دالة التنشيط الأكثر استخداماً، حيث يتم تطبيقها بشكل رئيسي في الطبقات المخفية من الشبكة العصبونية.
- المعادلة: A(x) = max(0,x)
- مجال القيم: ,inf)0]
- الطبيعة: غير خطية، وهذا يعني أنه يمكننا بسهولة القيام بعملية الانتشار العكسي لتصحيح الأخطاء كما يمكننا تنشيط طبقات متعددة من الخلايا العصبية بواسطة دالة ReLU.
- الاستخدامات: ReLu أقل تكلفة من الناحية الحسابية من tanh و sigmoid لأنها تتضمن عمليات رياضية أبسط. ففي وقت واحد يتم تنشيط عدد قليل فقط من الخلايا العصبية مما يجعل الشبكة متناثرة وهذا ما يجعلها فعالة وسهلة الحساب.
بكلمات بسيطة يمكن الاستنتاج أن RELU تتعلم أسرع بكثير من tanh و sigmoid
دالة سوفت ماكس Softmax
- دالة softmax هي أيضاً نوع من أنواع دوال sigmoid ولكنها أكثر فاعلية عندما نحاول التعامل مع مشاكل التصنيف متعددة الفئات.
- الطبيعة: غير خطية.
- الاستخدامات: تستخدم عادة عند محاولة التعامل مع التصنيفات ذات الفئات المتعددة. نجد دالة Softmax بشكل شائع في طبقة الإخراج في مسائل تصنيف الصور. تضغط دالة softmax مخرجات كل فئة لتصبح بين 0 و 1 ثم تُقسّم أيضاً على مجموع المخرجات.
- الإخراج: يتم استخدام وظيفة softmax بشكل مثالي في طبقة الإخراج الخاصة بالمصنفات عندما نحاول بالفعل تحديد الفئات المحتملة لكل مدخل.
إذا كان الإخراج هو تصنيف ثنائي فسيكون تابع sigmoid هو الخيار الطبيعي لطبقة الإخراج.
أما إذا كان الإخراج هو تصنيف متعدد الفئات، فإن Softmax مفيدة جداً للتنبؤ باحتمالات كل فئة من المدخلات.
المصدر: هنا
ترجمة: يارا علي، مراجعة: علي العلي، تدقيق لغوي: حنين غالية، تصميم: علي العلي، تحرير: معتصم حفيان.