Softmax
استكشف دالة Softmax في الذكاء الاصطناعي. تعرّف على كيفية تحويلها للقيم اللوغاريتمية (logits) إلى احتمالات للتصنيف متعدد الفئات باستخدام Ultralytics YOLO26 والشبكات العصبية.
سوفتماكس هي دالة رياضية محورية في مجال الذكاء الاصطناعي، وتُستخدم تحديدًا بوصفها الخطوة النهائية في العديد من خوارزميات التصنيف. وهي تحوّل متجهًا من الأرقام الخام، التي تُسمى غالبًا لوجِتات، إلى متجه من الاحتمالات. ويضمن هذا التحويل أن تكون جميع قيم الخرج موجبة وأن يكون مجموعها مساويًا تمامًا للواحد، مما ينشئ فعليًا توزيعًا احتماليًا صالحًا. وبفضل هذه الخاصية، تُعد سوفتماكس دالة التنشيط القياسية المستخدمة في طبقة الخرج في الشبكات العصبية المصممة للتصنيف متعدد الفئات، حيث يجب على النظام اختيار فئة واحدة من أكثر من خيارين متنافيين.
آلية عمل سوفتماكس#
في سير عمل نموذجي لـالتعلم العميق (DL)، تنفذ طبقات الشبكة عمليات ضرب وجمع معقدة للمصفوفات. ويتكون خرج الطبقة النهائية، قبل التنشيط، من درجات خام تُعرف باسم اللوجِتات. ويمكن أن تتراوح هذه القيم من سالب ما لا نهاية إلى موجب ما لا نهاية، مما يجعل تفسيرها مباشرةً على أنها مستويات ثقة أمرًا صعبًا.
تعالج سوفتماكس هذه المشكلة من خلال تنفيذ عمليتين رئيسيتين:
-
الأسّية: تحسب الدالة الأسّ لكل رقم من أرقام الإدخال. وتضمن هذه الخطوة أن تكون جميع القيم غير سالبة (لأن $e^x$ موجب دائمًا)، كما تقلل من تأثير القيم الأقل بكثير من القيمة العظمى، مع إبراز الدرجات الأكبر.
-
التطبيع: تجمع الدالة هذه القيم المُحوّلة بالأسّ وتقسم كل قيمة أسّية على المجموع الكلي. وتُعيد عملية التطبيع هذه تحجيم الأرقام بحيث تمثل أجزاءً من كلٍّ واحد، مما يتيح للمطورين تفسيرها على أنها درجات ثقة مئوية.
التطبيقات الواقعية#
تجعل القدرة على إخراج احتمالات واضحة سوفتماكس ضرورية في مختلف الصناعات ومهام التعلم الآلي (ML).
- تصنيف الصور: في رؤية الحاسوب، تستخدم النماذج سوفتماكس لتصنيف الصور. فعلى سبيل المثال، عندما يحلل نموذج التصنيف Ultralytics YOLO26 صورةً، قد ينتج درجات لفئات مثل "المسترد الذهبي" و"الراعي الألماني" و"البودل". وتحول سوفتماكس هذه الدرجات إلى احتمالات (مثل 0.85 و0.10 و0.05)، مما يشير إلى ثقة عالية في أن الصورة تحتوي على مسترد ذهبي. ويُعد ذلك بالغ الأهمية لتطبيقات تتراوح من تنظيم الصور آليًا إلى التشخيص الطبي في الذكاء الاصطناعي في الرعاية الصحية.
- معالجة اللغة الطبيعية (NLP): تُعد سوفتماكس المحرك الكامن وراء توليد النصوص في النماذج اللغوية الكبيرة (LLMs). فعندما ينشئ نموذج مثل Transformer جملةً، فإنه يتنبأ بالكلمة التالية (الرمز) من خلال حساب درجة لكل كلمة في مفرداته. وتحول سوفتماكس هذه الدرجات إلى احتمالات، مما يتيح للنموذج اختيار الكلمة التالية الأكثر ترجيحًا، ويدعم الترجمة الآلية السلسة والذكاء الاصطناعي الحواري.
- التعلم المعزز: غالبًا ما تستخدم الوكلاء في التعلم المعزز سوفتماكس لاختيار الإجراءات. وبدلًا من اختيار الإجراء ذي القيمة الأعلى دائمًا، قد يستخدم الوكيل الاحتمالات لاستكشاف استراتيجيات مختلفة، محققًا توازنًا بين الاستكشاف والاستغلال في بيئات مثل التحكم بالروبوتات أو ممارسة الألعاب.
مثال على شفرة Python#
يوضح المثال التالي كيفية تحميل نموذج تصنيف YOLO26 مُدرَّب مسبقًا والوصول إلى درجات الاحتمالات التي تُنشئها سوفتماكس.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")
# The model applies Softmax internally. Access the top prediction:
# The 'probs' attribute contains the probability distribution.
top_prob = results[0].probs.top1conf.item()
top_class = results[0].names[results[0].probs.top1]
print(f"Predicted Class: {top_class}")
print(f"Confidence (Softmax Output): {top_prob:.4f}")تمييز سوفتماكس عن المفاهيم ذات الصلة#
على الرغم من هيمنة سوفتماكس في سيناريوهات التصنيف متعدد الفئات، فمن المهم تمييزها عن الدوال الرياضية الأخرى المستخدمة في تدريب النماذج وتصميم البنى:
- سيغمويد: تعمل دالة سيغمويد أيضًا على تحجيم القيم بين 0 و1، لكنها تتعامل مع كل خرج بصورة مستقلة. وهذا يجعل سيغمويد مثالية لـالتصنيف الثنائي (نعم/لا) أو التصنيف متعدد التسميات، حيث لا تكون الفئات متنافية (مثلًا، يمكن أن تحتوي الصورة على كلٍّ من "شخص" و"حقيبة ظهر"). وتجبر سوفتماكس الاحتمالات على أن يكون مجموعها مساويًا للواحد، مما يجعل الفئات تتنافس فيما بينها.
- ReLU (الوحدة الخطية المصححة): تُستخدم ReLU أساسًا في الطبقات المخفية للشبكة لإدخال اللاخطية. وعلى خلاف سوفتماكس، لا تحصر ReLU المخرجات ضمن نطاق محدد (فهي تُخرج صفرًا ببساطة للمدخلات السالبة والمدخل نفسه للمدخلات الموجبة)، ولا تُنشئ توزيعًا احتماليًا.
- أرجماكس: بينما توفر سوفتماكس الاحتمالات لجميع الفئات، غالبًا ما تُستخدم دالة أرجماكس معها لاختيار الفهرس الوحيد ذي الاحتمال الأعلى. توفر سوفتماكس مستوى الثقة "المرن"، بينما يوفر أرجماكس القرار النهائي "الحاسم".
التكامل المتقدم#
في مسارات عمل التعلم الآلي الحديثة، غالبًا ما تُحسب سوفتماكس ضمنيًا داخل دوال الخسارة. فعلى سبيل المثال، تجمع خسارة الانتروبيا المتقاطعة بين سوفتماكس واحتمال اللوغاريتم السالب في خطوة رياضية واحدة لتحسين الاستقرار العددي أثناء التدريب. وتتعامل منصات مثل منصة Ultralytics مع هذه التعقيدات تلقائيًا، مما يتيح للمستخدمين تدريب نماذج متينة دون تنفيذ هذه العمليات الرياضية يدويًا.









