دالة التنشيط Activation Function لها دور أساسي في تحسين أداء النموذج وتمثيل البيانات بشكل أفضل من خلال تحديد ما إذا كان يجب تنشيط عقدة عصبية أم لا.
لقد علمت أن الشبكات العصبية هي محاكاة لدماغ الإنسان, وهي جزء أساسي في التعلم الآلي والتعلم العميق وجعل الآلات الذكية قادرة على التعلم وبالتالي أداء مهمة معينة. لذلك, يكون تكونيها من ثلاث طبقات أساسية: طبقة الإدخال وهي التي تستقبل البيانات المدخلة, والطبقة المخفية وهي كغرفة العمليات السرية تحدث فيها عمليات معالجة للبيانات, أخيرا طبقة الإخراج من اسمها هي التي تعطي النتائج النهائية للنموذج. ولكن يا ترى ما هو نوع العمليات التي يتم إجراؤها على البيانات في الطبقة الخفية؟ وكيف تجعلها تتعلم من البيانات وفهم العلاقات الغامضة بينها؟ إن إحدى أهم العناصر التي تلعب دورا حاسما في تحديد كيفية استجابتها للمعلومات وكيفية تكييفها مع تعقيدات البيانات, هي دالة التنشيط Activation Function.
ولكن ما هذه الدالة تحديدا وما أهميتها في تعلم الشبكات العصبية, ابق معنا لتتعرف على تفاصيل دالة التنشيط ودورها الفعال في الشبكات العصبية.
دالة التنشيط Activation Function في عالم الشبكات العصبية تشكل العنصر الرئيسي الذي يحدد ما إذا كان ينبغي تفعيل عقدة عصبية أم لا، ويتخذ هذا القرار استنادا إلى حساب المجموع المرجح للإشارات الواردة مع إضافة ميل. يتناول هذا العنصر الهام إدخال اللاخطية إلى إخراج العقدة، مما يعزز القدرة على فهم وتمثيل العلاقات المعقدة في البيانات. [1]
في إطار عمل الشبكات العصبية، تتم عملية تحديث الأوزان والانحرافات للعقد استنادا إلى الخطأ في المخرجات، وتعرف هذه العملية بالتدرج العكسي Backpropagation, ولكن ما علاقة دالة التنشيط بالتدرج العكسي؟ لدالة التنشيط دور فعال في تمكين هذه العملية حيث تعتبر مولدا للتدرجات التي تعبر عن كيفية تغيير الخطأ مع تغيير الوزن أو الانحراف. بمعنى آخر، تظهر دالة التنشيط كالمفتاح لحساب كميات التغيير اللازمة في الوزان والانحرافات لتقليل الخطأ, وهذا من شأنه أن يساعد في توجيه الشبكة نحو تحسين أدائها بشكل تدريجي وفعال خلال عملية التدريب.
استحدثت أنواع جديدة لدالة التنشيط مثل GELU التي استخدمت في نموذج BERT عام 2018, والدالة اللوجستية Sigmoid وتم استخدامها في نموذج التعرف على الصوت الذي تم تطويره عام 2012 بواسطة Hinton وزملائه, ودالة ReLU في نموذج رؤية الحاسوب AlexNet عام 2012 وكذلك في نموذج ResNet عام 2015. [2]
هل يمكننا التخلي عن دالة التنشيط في الشبكة العصبية؟ الجواب قطعا لا, لأنها تقوم بتحديد الإخراج النهائي للشبكة العصبية, بحيث على رسم القيم الناتجة من العمليات الحسابية داخل الشبكة إلى نطاق محدد، وعادة ما يكون بين 0 و1 أو -1 و1، وذلك حسب الدالة المستخدمة.[3]
بمعنى آخر تستخدم دالة التنشيط لتحويل الإشارات الناتجة من العمليات الخطية في الشبكة إلى إشارات غير خطية، مما يساعد في تعزيز قدرة الشبكة على فهم وتمثيل العلاقات المعقدة والتفاعلات في البيانات.
ولكن ما هذه الأهمية الكبيرة حول استخدام دالة تنشيط غير خطية؟ يمكن تفسير ذلك من خلال الآتي, عند بناء طبقة مخفية في شبكة عصبية، يتم استخدام دالة التنشيط لتحديد ما إذا كانت العقدة يجب أن تنشط وتنقل المعلومات أم لا, و إذا كانت وظيفة التنشيط خطية، فإن الجمع الخطي للإشارات يمكن أن يقلل من قوة التعبير للنموذج.
على سبيل المثال، إذا استخدمنا طبقات مخفية خطية متعددة دون دالة تنشيط غير خطية، فإنه من الممكن تقريب الشبكة بشكل مماثل لاستخدام طبقة واحدة خطية, أي كأنها عبارة عن طبقة واحدة وهذا يقلل من قوة التعبير للنموذج ويقيد قدرته على تحقيق تأثيرات تفاعلية أكبر, أي ستكون الشبكة العصبية نموذج انحدار خطي ذو قدرات محدودة.
قد يكون هذا محددا في بعض الحالات، ولكنه قد يكون غير كاف لتمثيل وفهم بنية البيانات المعقدة, لذلك استخدام دالة تنشيط غير خطية يضيف تعقيدا إلى النموذج وتمكنه من تمثيل وتعلم وظائف أكثر تعقيدا وتنوعا.
بشكل عام، يظهر هذا التحليل أن استخدام وظائف تنشيط غير الخطية يمكن أن يفتح المجال لتمثيل وفهم بنية البيانات بشكل أفضل ويسهم في قدرة النموذج على التعلم من المعلومات بشكل فعال.
أشهر أنواع دالة التنشيط: [4]
تعتبر دالة غير خطية يتم تمثيلها في شكل "S" على الرسم البياني، حيث يعبر A عن التعبير
1/(1 + e-x). حيث يظهر أن قيم Y تكون حادة، وتتراوح قيم X من -2 إلى 2, تسبب التغييرات الصغيرة في X تحولات كبيرة في قيمة Y، وتمتد القيمة من 0 إلى 1.
تستخدم عادة في التصنيف، حيث يكون الناتج إما 0 أو 1. بسبب تراوح قيمتها من 0 إلى 1، يمكن توقع النتيجة بسهولة، حيث تكون 1 إذا كانت القيمة أكبر من 0.5 وتكون 0 إذا لم تكن
وهي اختصار ل Rectified Linear Unit, تعد هذه الدالة الأكثر استخداما على مستوى العالم، حيث يتم توظيفها في معظم شبكات التحول الرقمي وأنظمة التعلم العميق. المشتقة والدالة في هذه الوظيفة في تسارع, أي أنهما تتسارعان في الاتجاه نفسه إما للزيادة أو النقصان.
ومع ذلك، يعتبر التحدي في أن جميع القيم السالبة تتحول فورا إلى الصفر، مما يقلل من قدرة النموذج على التكيف بشكل فعال أو التعلم من البيانات, وهذا يعني أن أي إدخال سالب لوظيفة التنشيط ReLU يتحول على الفور إلى الصفر في الرسم البياني، مما يؤثر على الرسم النهائي بطريقة غير صحيحة من خلال تخطي القيم السالبة
تتفرع من دالة Sigmoid, وتستخدم أيضا في بفعالية كبيرة في مهام التصنيف, وخصوصا في مهمة تصنيف الصور.
تعمل على تجزئة النتائج استنادا إلى مجموع المخرجات، مضغوطا كل إخراج لكل فئة في نطاق يتراوح بين 0 و1. تظهر أهمية استخدامها بشكل خاص في وحدة الإخراج، حيث نحاول فعليا
الحصول على الاحتمالات لتحديد فئة كل إدخال، وهو المكان الذي يطبق فيه دالة Softmax بشكل أفضل.
في الطبقات الخفية، ينصح عموما باستخدام وحدات RELU، وهي نموذج شائع في معظم السيناريوهات الحالية. وفي حالة عدم اليقين حول الوظيفة الأمثل للاستخدام، يمكن اعتبار دالة Sigmoid خيارا منطقيا للطبقة الأخيرة في حالة التصنيف الثنائي، في حين تظل دالة Softmax ذات أهمية في توقع الاحتمالات لكل فئة في حالة وجود إخراج يتضمن فئات متعددة.
الخاتمة
في ختام هذا المقال، نستنتج أن دالة التنشيط Activation Function تمثل العنصر الرئيسي في عالم الشبكات العصبية، حيث تلعب دورا مهما في تحديد ما إذا كان يجب تنشيط عقدة عصبية أم لا. تقوم دالة التنشيط بتحويل الإشارات الواردة من العمليات الخطية إلى إشارات غير خطية، مما يعزز قدرة الشبكة على فهم وتمثيل العلاقات المعقدة في البيانات.
تظهر عملية التدرج العكسي Backpropagation أهمية دالة التنشيط، حيث تسهم في إنشاء التدرجات التي تعبر عن كيفية تغيير الخطأ مع تغيير الوزن أو الانحراف.
تظهر أهميتها في تحديد الإخراج النهائي للشبكة العصبية وتقييد القيم في نطاق محدد، مما يسهم في توجيه الشبكة نحو تحسين أدائها خلال عملية التدريب.
من أهم أنواع دالة التنشيط، حيث تأتي Sigmoid كدالة غير خطية شائعة، وتُستخدم RELU بكثرة في شبكات التحول الرقمي، وتبرز Softmax في مهام التصنيف متعدد الفئات.
في الختام، يظهر أن استخدام دوال تنشيط غير خطية يعزز قدرة النموذج على تمثيل وتعلم وظائف معقدة وتنوعا، مما يساهم في تحسين أدائها وفهم البيانات بشكل أفضل.
المصادر