Softmax
اكتشف كيف تحول Softmax الدرجات إلى احتمالات لمهام التصنيف في الذكاء الاصطناعي، مما يدعم التعرف على الصور ونجاح معالجة اللغة الطبيعية.
Softmax هي دالة رياضية تحول متجهًا من الدرجات الأولية ذات القيم الحقيقية، والتي تسمى غالبًا logits، إلى متجه من الاحتمالات. في سياق التعلم الآلي (ML)، تُستخدم Softmax بشكل أساسي كـ دالة تنشيط (activation function) في الطبقة الخارجية من شبكة عصبية (neural network). دورها الرئيسي هو تحويل الدرجات النهائية للشبكة إلى توزيع احتمالي ذي معنى عبر فئات متعددة وحصرية بشكل متبادل. مجموع الاحتمالات الناتجة يساوي واحدًا، مما يجعل من السهل تفسيرها على أنها ثقة النموذج لكل نتيجة ممكنة.
كيفية عمل Softmax
تخيل شبكة عصبية تحاول تحديد الفئة التي تنتمي إليها الصورة. تنتج الطبقة الأخيرة من الشبكة مجموعة من الدرجات الأولية لكل فئة. تشير الدرجة الأعلى إلى أن النموذج يميل أكثر نحو تلك الفئة، ولكن هذه الدرجات ليست موحدة وقد يكون من الصعب التعامل معها مباشرة.
تأخذ دالة Softmax هذه الدرجات وتنفذ خطوتين رئيسيتين:
- يطبق الدالة الأسية على كل نتيجة. هذا يجعل جميع القيم موجبة ويضخم الاختلافات بينها - تصبح الدرجات الأكبر أكبر بكثير نسبيًا.
- يقوم بتطبيع هذه الدرجات الأسية عن طريق قسمة كل واحدة على مجموعها. تعمل هذه الخطوة على تقليل القيم بحيث يصل مجموعها بشكل جماعي إلى 1.0، مما يؤدي فعليًا إلى إنشاء توزيع احتمالي.
الناتج النهائي هو قائمة بالاحتمالات، حيث تمثل كل قيمة الاحتمالية المتوقعة للنموذج بأن الإدخال ينتمي إلى فئة معينة. يتم بعد ذلك اختيار الفئة ذات الاحتمالية الأعلى باعتبارها التوقع النهائي.
التطبيقات في الذكاء الاصطناعي والتعلم الآلي
تعتبر Softmax أساسية لأي نموذج تعلم عميق (deep learning) يقوم بتصنيف متعدد الفئات. إن قدرتها على توفير مخرجات احتمالية واضحة تجعلها لا تقدر بثمن في مختلف المجالات.
- Image Classification: This is the most common use case. A Convolutional Neural Network (CNN) trained on a dataset like ImageNet will use Softmax in its final layer. For an image of a pet, the model might output probabilities like {Dog: 0.9, Cat: 0.08, Rabbit: 0.02}, clearly indicating its prediction. Models like Ultralytics YOLO use this for classification tasks.
- Natural Language Processing (NLP): في نمذجة اللغة، يتم استخدام Softmax للتنبؤ بالكلمة التالية في التسلسل. سيحسب نموذج مثل Transformer درجة لكل كلمة في مفرداته ويستخدم Softmax لتحويل هذه الدرجات إلى احتمالات. هذا هو المكون الأساسي لـ النماذج اللغوية الكبيرة (LLMs) ويعمل على تشغيل التطبيقات من الترجمة الآلية إلى إنشاء النصوص.
- تحليل الصور الطبية: عند تحليل الفحوصات الطبية لتصنيف أنواع مختلفة من الأنسجة أو تحديد الأمراض (مثل الحميدة أو الخبيثة أو الصحية)، سيستخدم النموذج Softmax لتعيين احتمال لكل تشخيص، مما يساعد الأطباء على اتخاذ قرارات أكثر استنارة.
- التعلم المعزز: في التعلم المعزز القائم على السياسة، يمكن استخدام Softmax لتحويل القيم المتعلمة للإجراءات المختلفة إلى سياسة، وهي توزيع احتمالي للإجراءات المحتملة التي يمكن أن يتخذها الوكيل.
Softmax مقابل دوال التنشيط الأخرى
من المهم التمييز بين Softmax ودوال التنشيط الشائعة الأخرى، لأنها تخدم أغراضًا مختلفة.
- سيجمويد (Sigmoid): تُخرج دالة سيجمويد (Sigmoid) أيضًا قيمًا بين 0 و 1، ولكنها تُستخدم للتصنيف الثنائي (فئة واحدة مقابل أخرى) أو التصنيف متعدد التصنيفات، حيث يمكن أن ينتمي الإدخال إلى فئات متعددة في وقت واحد. على سبيل المثال، يمكن تصنيف فيلم على أنه "كوميدي" و "أكشن" في نفس الوقت. في المقابل، Softmax مخصص للتصنيف متعدد الفئات، حيث تكون الفئات حصرية بشكل متبادل - يجب أن يكون الرقم المكتوب بخط اليد 7 أو 8، ولكن ليس كلاهما.
- ReLU (وحدة التقويم الخطي): يتم استخدام ReLU ومتغيراتها مثل Leaky ReLU و SiLU في الطبقات المخفية من الشبكة العصبية. مهمتهم الأساسية هي إدخال اللاخطية، مما يسمح للنموذج بتعلم الأنماط المعقدة في البيانات. إنها لا تنتج احتمالات ولا تستخدم كدوال إخراج للتصنيف.
- Tanh (ظل زائدى): تقوم Tanh بضغط القيم إلى نطاق بين -1 و 1. مثل ReLU، يتم استخدامه في الطبقات المخفية، خاصة في شبكة عصبية متكررة (RNN) القديمة. إنه غير مناسب لإنتاج مخرجات احتمالية لمهام التصنيف.
اعتبارات عملية
على الرغم من قوته، يمكن أن يكون Softmax حساسًا لنتائج الإدخال الكبيرة جدًا، مما قد يؤدي أحيانًا إلى عدم الاستقرار العددي (التدفق الزائد أو التدفق الناقص). لمعالجة هذا، تقوم أطر التعلم العميق (deep learning frameworks) الحديثة مثل PyTorch و TensorFlow بتنفيذ إصدارات مستقرة عدديًا من Softmax خلف الكواليس.
تقترن Softmax دائمًا تقريبًا بـ دالة خسارة (loss function) محددة تسمى Cross-Entropy Loss (أو Log Loss) أثناء تدريب النموذج (model training). هذا المزيج فعال للغاية لتدريب المصنفات متعددة الفئات. يعد فهم سلوك Softmax أمرًا بالغ الأهمية لتدريب النموذج وتفسيره بشكل فعال، والذي يمكن إدارته وتتبعه باستخدام منصات مثل Ultralytics HUB لتبسيط التجارب و عمليات النشر (deployments).