سيجمويد (Sigmoid)
اكتشف قوة دالة Sigmoid في الذكاء الاصطناعي. تعلم كيف تتيح اللاخطية، وتساعد في التصنيف الثنائي، وتقود تطورات التعلم الآلي!
دالة Sigmoid هي دالة تنشيط شائعة تستخدم في التعلم الآلي (ML) و التعلم العميق (DL). وهي دالة رياضية تنتج منحنى مميزًا على شكل "S"، أو منحنى sigmoid. غرضها الأساسي هو أخذ أي رقم حقيقي "وضغطه" في نطاق بين 0 و 1. غالبًا ما يتم تفسير هذا الناتج على أنه احتمال، مما يجعل Sigmoid مفيدًا بشكل خاص في النماذج التي يكون الهدف فيها هو التنبؤ باحتمالية النتيجة. من خلال إدخال اللاخطية في شبكة عصبية (NN)، فإنها تمكن النموذج من تعلم أنماط معقدة من البيانات التي كانت ستكون مستحيلة بخلاف ذلك مع التحويلات الخطية البسيطة.
الدور والتطبيقات
إن قدرة دالة Sigmoid على تعيين المدخلات إلى ناتج يشبه الاحتمالية يجعلها حجر الزاوية لأنواع معينة من المهام. في حين أنها أصبحت أقل شيوعًا في الطبقات المخفية للشبكات العصبية العميقة الحديثة، إلا أنها تظل خيارًا قياسيًا لطبقة الإخراج في سيناريوهات محددة.
التطبيقات الرئيسية
- التصنيف الثنائي (Binary Classification): في مسائل التصنيف الثنائي، الهدف هو تصنيف الإدخال إلى إحدى الفئتين (على سبيل المثال، رسالة غير مرغوب فيها أو ليست كذلك، مرض موجود أو غائب). توفر دالة Sigmoid في طبقة الإخراج قيمة واحدة بين 0 و 1، تمثل احتمالية انتماء الإدخال إلى الفئة الموجبة. على سبيل المثال، قد يستخدم نموذج تحليل الصور الطبية (medical image analysis) Sigmoid لإخراج احتمال 0.9، مما يشير إلى فرصة بنسبة 90٪ لكون الورم خبيثًا.
- تصنيف متعدد التصنيفات: على عكس التصنيف متعدد الفئات حيث ينتمي الإدخال إلى فئة واحدة فقط، تسمح مهام التصنيف متعدد التصنيفات بربط الإدخال بتصنيفات متعددة في وقت واحد. على سبيل المثال، قد يحلل نموذج اكتشاف الكائنات مثل Ultralytics YOLO صورة ويحدد "سيارة" و "مشاة" و "إشارة مرور" في وقت واحد. في هذه الحالة، يتم تطبيق دالة Sigmoid على كل عصبون إخراج بشكل مستقل، مما يعطي احتمالية لكل تصنيف ممكن. يمكنك معرفة المزيد حول تطور اكتشاف الكائنات.
- آليات البوابة في الشبكات العصبية المتكررة (RNNs): تعد دوال Sigmoid مكونًا أساسيًا في آليات البوابة الخاصة بـ الشبكات العصبية المتكررة (RNNs)، مثل الذاكرة طويلة المدى (LSTM) و وحدات البوابة المتكررة (GRU). تستخدم هذه البوابات Sigmoid للتحكم في تدفق المعلومات، وتحديد البيانات التي يجب الاحتفاظ بها أو تجاهلها في كل خطوة. هذه الآلية ضرورية لتعلم التبعيات طويلة المدى في البيانات التسلسلية، كما هو موضح في منشور المدونة المفصل هذا حول فهم LSTMs.
مقارنة مع دوال التنشيط الأخرى
من المهم التمييز بين دالة Sigmoid ودوال التنشيط الأخرى لفهم متى يتم استخدامها.
- سوفتماكس (Softmax): تُستخدم دالة سوفتماكس (Softmax) عادةً لمشاكل التصنيف متعدد الفئات، حيث ينتمي كل إدخال إلى فئة واحدة فقط من عدة فئات ممكنة. على عكس سيجمويد (Sigmoid)، التي تحسب احتمالات مستقلة لكل مخرج، تحسب سوفتماكس (Softmax) توزيعًا احتماليًا عبر جميع الفئات التي يصل مجموعها إلى 1. على سبيل المثال، سيستخدم نموذج يصنف الأرقام المكتوبة بخط اليد من مجموعة بيانات MNIST سوفتماكس (Softmax) لتعيين احتمال واحد لكل رقم من 0 إلى 9.
- ReLU (وحدة التقويم الخطي): أصبحت ReLU هي المعيار الفعلي للطبقات المخفية في الشبكات العميقة. إنها أكثر كفاءة من الناحية الحسابية وتساعد على التخفيف من مشكلة تلاشي التدرج - وهي مشكلة كبيرة في Sigmoid حيث تصبح التدرجات صغيرة للغاية أثناء الانتشار الخلفي، مما يبطئ أو يوقف عملية التعلم. يمكنك قراءة المزيد عن تحديات التدرجات في مقالة DeepLearning.AI هذه.
- SiLU (وحدة سيجمويد الخطية): تُعرف SiLU أيضًا باسم Swish، وهي دالة تنشيط أكثر حداثة مشتقة من Sigmoid. غالبًا ما يكون أداؤها أفضل من ReLU في النماذج الأعمق، بما في ذلك بنى رؤية الكمبيوتر المتقدمة. غالبًا ما تستفيد نماذج Ultralytics من وظائف التنشيط المتقدمة لتحقيق توازن أفضل بين السرعة والدقة.
الاستخدام الحديث والتوافر
على الرغم من أنها أقل شيوعًا في الطبقات المخفية اليوم، إلا أن Sigmoid لا تزال خيارًا قياسيًا لطبقات الإخراج في مهام التصنيف الثنائي ومتعدد التصنيفات. كما أنها تشكل مكونًا أساسيًا في آليات البوابة داخل الهياكل المعقدة التي تتعامل مع البيانات المتسلسلة.
Sigmoid متاح بسهولة في جميع أطر عمل التعلم العميق، بما في ذلك PyTorch (مثل torch.sigmoid) و TensorFlow (مثل tf.keras.activations.sigmoid). منصات مثل Ultralytics HUB تدعم النماذج التي تستخدم وظائف تنشيط متنوعة، مما يسمح للمستخدمين بـ تدريب و نشر حلول رؤية حاسوبية متطورة.