Sigmoid
استكشف دور دالة Sigmoid في تعلم الآلة. تعلم كيف تُمكّن دالة التنشيط هذه التصنيف الثنائي في نماذج مثل Ultralytics YOLO26.
تُعد دالة Sigmoid عنصراً رياضياً أساسياً يُستخدم على نطاق واسع في مجالات تعلم الآلة (ML) والتعلم العميق (DL). وغالباً ما يُشار إليها باسم "دالة الضغط"، حيث تأخذ أي رقم ذي قيمة حقيقية كمدخل وتقوم بتعيينه إلى قيمة تتراوح بين 0 و1. هذا المنحنى المميز الذي يشبه حرف "S" يجعله مفيداً للغاية في تحويل مخرجات النموذج الخام إلى احتمالات قابلة للتفسير. في سياق الشبكة العصبية (NN)، تعمل دالة Sigmoid كـ دالة تنشيط، مما يدخل خاصية غير خطية تسمح للنماذج بتعلم أنماط معقدة تتجاوز العلاقات الخطية البسيطة. وعلى الرغم من أنها استُبدلت إلى حد كبير بدوال أخرى في الطبقات المخفية العميقة، إلا أنها تظل خياراً قياسياً لطبقات المخرجات في مهام التصنيف الثنائي.
Link to this sectionآلية عمل Sigmoid في الذكاء الاصطناعي#
في جوهرها، تقوم دالة Sigmoid بتحويل بيانات المدخلات—التي يشار إليها غالباً باسم logits—إلى نطاق مُطبع. يعد هذا التحويل أمراً حاسماً للمهام التي يكون الهدف منها التنبؤ باحتمالية وقوع حدث ما. من خلال حصر المخرجات بين 0 و1، توفر الدالة درجة احتمالية واضحة.
- الانحدار اللوجستي: في النمذجة الإحصائية التقليدية، تُعد Sigmoid المحرك وراء الانحدار اللوجستي. فهي تسمح لعلماء البيانات بتقدير احتمالية نتيجة ثنائية، مثل ما إذا كان العميل سيغادر الخدمة أو يبقى.
- التصنيف الثنائي: بالنسبة للشبكات العصبية المصممة للتمييز بين فئتين (مثل "قطة" مقابل "كلب")، غالباً ما تستخدم الطبقة النهائية تنشيط Sigmoid. إذا كانت المخرجات أكبر من حد معين (غالباً 0.5)، يتنبأ النموذج بالفئة الإيجابية.
- التصنيف متعدد التسميات: على عكس المشكلات متعددة الفئات حيث تكون الفئات حصرية بشكل متبادل، تسمح المهام متعددة التسميات للصورة أو النص بالانتماء إلى فئات متعددة في آن واحد. هنا، يتم تطبيق Sigmoid بشكل مستقل على كل عقدة مخرجات، مما يمكن النموذج من اكتشاف "سيارة" و"شخص" في نفس المشهد دون تعارض.
Link to this sectionالاختلافات الرئيسية عن دوال التنشيط الأخرى#
على الرغم من أن Sigmoid كانت في السابق الخيار الافتراضي لجميع الطبقات، فقد اكتشف الباحثون قيوداً مثل مشكلة تلاشي التدرج، حيث تصبح التدرجات صغيرة جداً بحيث لا يمكنها تحديث الأوزان بفعالية في الشبكات العميقة. أدى هذا إلى اعتماد بدائل للطبقات المخفية.
- Sigmoid مقابل ReLU (وحدة خطية مصححة): تُعد ReLU أسرع حسابياً وتتجنب تلاشي التدرجات عن طريق إخراج المدخلات مباشرة إذا كانت موجبة، وصفر بخلاف ذلك. وهي الخيار المفضل للطبقات المخفية في البنى الحديثة مثل YOLO26، بينما تظل Sigmoid مخصصة لطبقة المخرجات النهائية في مهام محددة.
- Sigmoid مقابل Softmax: كلاهما يقوم بتعيين المخرجات إلى نطاق 0-1، لكنهما يخدمان أغراضاً مختلفة. تعالج Sigmoid كل مخرج بشكل مستقل، مما يجعلها مثالية للمهام الثنائية أو متعددة التسميات. بينما تجبر Softmax جميع المخرجات على أن يكون مجموعها 1، مما ينشئ توزيعاً احتماليًا يُستخدم في التصنيف متعدد الفئات حيث تكون فئة واحدة فقط هي الصحيحة.
Link to this sectionتطبيقات العالم الحقيقي#
تمتد فائدة دالة Sigmoid عبر مختلف الصناعات التي تتطلب تقدير الاحتمالات.
-
التشخيص الطبي: تستخدم نماذج الذكاء الاصطناعي المستخدمة في تحليل الصور الطبية غالباً مخرجات Sigmoid للتنبؤ باحتمالية وجود مرض في الأشعة السينية أو تصوير الرنين المغناطيسي. على سبيل المثال، قد يخرج النموذج قيمة 0.85، مما يشير إلى احتمالية 85% لوجود ورم، مما يساعد الأطباء في الكشف المبكر.
-
كشف الرسائل المزعجة (Spam): تستخدم أنظمة تصفية البريد الإلكتروني نماذج معالجة اللغات الطبيعية (NLP) مع مصنفات Sigmoid لتحديد ما إذا كانت الرسالة الواردة "رسالة مزعجة" أم "ليست رسالة مزعجة". يحلل النموذج الكلمات الرئيسية والبيانات الوصفية، ويخرج درجة تحدد ما إذا كان البريد الإلكتروني سينتهي به المطاف في صندوق الوارد أم في مجلد الرسائل غير المرغوب فيها.
Link to this sectionالتنفيذ العملي#
يمكنك ملاحظة كيفية قيام Sigmoid بتحويل البيانات باستخدام PyTorch، وهي مكتبة شائعة لبناء نماذج التعلم العميق. يوضح هذا المثال البسيط تأثير "الضغط" على نطاق من قيم المدخلات.
import torch
import torch.nn as nn
# Create a Sigmoid layer
sigmoid = nn.Sigmoid()
# Define input data (logits) ranging from negative to positive
input_data = torch.tensor([-5.0, -1.0, 0.0, 1.0, 5.0])
# Apply Sigmoid to squash values between 0 and 1
output = sigmoid(input_data)
print(f"Input: {input_data}")
print(f"Output: {output}")
# Output values near 0 for negative inputs, 0.5 for 0, and near 1 for positive inputsبالنسبة لأولئك الذين يتطلعون إلى تدريب نماذج تستخدم هذه المفاهيم دون كتابة كود منخفض المستوى، توفر منصة Ultralytics واجهة بديهية لإدارة مجموعات البيانات وتدريب أحدث النماذج مثل YOLO26. ومن خلال التعامل مع التعقيدات الهيكلية تلقائياً، فإنها تتيح للمستخدمين التركيز على جمع بيانات تدريب عالية الجودة لتطبيقات الرؤية الحاسوبية الخاصة بهم.






