توابع التفعيل Activation Functions

1 دقيقة

ما هو تابع التفعيل؟

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

مثلاً إذا أردنا تصنيف صور الأعداد من واحد إلى عشرة فنقوم بتحديد عشر قيم للمخرجات، ويعرف خرج تابع التنشيط بالانتشار الأمامي “انتشار المعلومات”.

لماذا نحتاج تابع التفعيل في الشبكة العصبونية؟

تعتبر توابع التفعيل ضرورية لاستخراج النتائج اللاخطية. وبدونها، ستمر البيانات عبر العقد وطبقات الشبكة بغض النظر عن عدد طبقات الشبكة ما يعني أن النتيجة ستكون تابعاً خطيّاً دائماً، أي لن يتم استخراج أي نتائج معقدة من البيانات.

أنواع توابع التفعيل

يوجد بشكل عام نوعان أساسيان من توابع التفعيل في الشبكات العصبونية وهما: 

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

أشهر أنواع توابع التفعيل اللاخطية

يعتمد تحديد نوع تابع التفعيل المستخدم في الشبكة العصبونية على نوع المدخلات وطبيعة المخرجات المطلوبة: 

  • تابع التفعيل السيني (sigmoid): يستخدم عند العمل على مدخلات ثنائية الفئات مثل تصنيف مجموعة بيانات تحتوي على صور كلاب وقطط فالنتيجة دائماً إما كلب أو قطة.
  • تابع التفعيل سوفت ماكس (Softmax): يستخدم عند التصنيف متعدد الفئات، مثل تصنيف الأعداد والأمراض وهكذا. وهو النوع الأكثر شيوعاً.
  • تابع التصحيح الخطي (ReLU): يستخدم في التعلم العميق بكثرة، يقوم بتحويل جميع القيم السالبة لصفر، ما يعتبر ميزة سلبية في بعض الحالات.