اختيار دالة الخسارة المناسبة للشبكات العصبية في مسائل الانحدار والتصنيف

مقدمة

يُعد اختيار دالة الخسارة المناسبة للشبكات العصبية في مسائل الانحدار والتصنيف قراراً أساسياً يؤثر مباشرةً في جودة النموذج وسرعة تدريبه وقدرته على التعميم على بيانات جديدة. فالشبكة العصبية لا تتعلم من البيانات بصورة مباشرة، بل تعتمد على دالة الخسارة لقياس مقدار الفرق بين تنبؤاتها والقيم الحقيقية. ثم يستخدم خوارزم الانحدار المتدرج هذا القياس لتحديث الأوزان وتقليل الخطأ تدريجياً.

لذلك لا يكفي اختيار بنية شبكة قوية أو زيادة عدد الطبقات والعُصبونات؛ إذ يمكن لدالة خسارة غير ملائمة أن تدفع النموذج إلى تحسين هدف خاطئ. فمثلاً، استعمال دالة مناسبة للانحدار في مسألة تصنيف ثنائي قد يؤدي إلى احتمالات غير معايرة جيداً وتدريب أبطأ، بينما استعمال خسارة التصنيف في تنبؤ قيمة مالية مستمرة لا ينسجم مع طبيعة المخرجات.

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

ما دالة الخسارة ولماذا تتحكم في سلوك التعلم؟

دالة الخسارة هي دالة رياضية تستقبل القيم الحقيقية والتنبؤات الناتجة من الشبكة العصبية، ثم تُنتج رقماً يمثل كلفة الخطأ. كلما كانت هذه القيمة أقل، كان النموذج أقرب إلى السلوك المطلوب. أثناء التدريب، تُحسب مشتقات الخسارة بالنسبة إلى أوزان النموذج باستخدام الانتشار العكسي، ثم تُعدّل الأوزان باتجاه يخفض الخسارة.

من المهم التمييز بين دالة الخسارة ومقياس التقييم. الخسارة يجب أن تكون قابلة للاشتقاق أو قابلة للتحسين بكفاءة، أما المقياس فيعبّر عن نجاح النموذج من منظور العمل. في تصنيف رسائل البريد المزعج مثلاً، قد تُدرّب الشبكة باستخدام الانتروبيا المتقاطعة الثنائية، لكنك تراقب أيضاً الدقة والاستدعاء ودرجة إف واحد. وفي التنبؤ بأسعار العقارات، قد يكون متوسط مربع الخطأ مناسباً للتدريب، بينما يستخدم متوسط الخطأ المطلق لتفسير الأداء بوحدة العملة.

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

لهذا ينبغي أن تبدأ عملية الاختيار بسؤالين: هل القيمة المستهدفة عدد مستمر أم فئة منفصلة؟ وهل تريد من مخرج الشبكة أن يمثل قيمة مباشرة أم احتمالاً؟ الإجابة عن هذين السؤالين تقود عادةً إلى الاختيار الصحيح.

دوال الخسارة في مسائل الانحدار

تكون المسألة انحدارية عندما يكون المتغير الهدف قيمة عددية مستمرة، مثل درجة الحرارة المتوقعة، أو استهلاك الطاقة، أو سعر سهم، أو مدة توصيل طلب. الدالة الأكثر شيوعاً في هذا السياق هي متوسط مربع الخطأ، الذي يحسب متوسط مربعات الفروق بين القيمة الحقيقية y والتنبؤ ŷ:

متوسط مربع الخطأ = متوسط (y − ŷ)²

تكمن قوة هذه الدالة في أنها تعاقب الأخطاء الكبيرة بصورة تربيعية. فإذا أخطأ النموذج بمقدار 10 وحدات بدلاً من وحدة واحدة، فإن العقوبة لا تزيد عشر مرات فقط، بل مئة مرة. وهذا مفيد عندما تكون الأخطاء الكبيرة مكلفة فعلاً، كما في التنبؤ بحمل كهربائي قد يؤدي الخطأ الكبير فيه إلى قرارات تشغيلية غير آمنة.

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

يوجد أيضاً خيار وسط هو خسارة هوبر. فهي تتصرف كمربع الخطأ عندما تكون الأخطاء صغيرة، وكالخطأ المطلق عندما تتجاوز الأخطاء عتبة محددة. لذلك تعد مناسبة عند توقع وجود ضوضاء أو قيم شاذة محدودة دون الرغبة في تجاهل الأخطاء الكبيرة تماماً.

في أغلب مسائل الانحدار، تكون طبقة الإخراج ذات عصبون واحد وتنشيط خطي، أي من دون تقييد للمخرج ضمن مجال محدد. أما إذا كانت القيمة المستهدفة موجبة دائماً، مثل عدد الزيارات أو كمية المبيعات، فقد يكون تنشيط مثل «سوفت بلس» مفيداً لضمان عدم إنتاج قيم سالبة، مع مراعاة ملاءمة تحويل البيانات ودالة الخسارة.

الانتروبيا المتقاطعة للتصنيف الثنائي

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

لهذا تُستخدم غالباً الانتروبيا المتقاطعة الثنائية. تقارن هذه الدالة بين التسمية الحقيقية، التي تكون صفراً أو واحداً، والاحتمال الذي يتنبأ به النموذج. وهي تمنح عقوبة صغيرة عندما يتوقع النموذج احتمالاً مرتفعاً للفئة الصحيحة، وعقوبة كبيرة جداً عندما يكون واثقاً من تنبؤ خاطئ. فإذا كانت العينة احتيالية فعلاً، وتنبأ النموذج باحتمال 0.99 لكونها سليمة، فإن الخسارة تكون مرتفعة بوضوح.

تتوافق هذه الدالة عادةً مع تنشيط سيغمويد في طبقة الإخراج، إذ يحوّل القيمة الخام الناتجة من الشبكة إلى احتمال. وبعد التدريب يمكن تحويل الاحتمال إلى قرار فئوي باختيار عتبة، مثل 0.5. لكن هذه العتبة ليست ثابتة بالضرورة؛ ففي اكتشاف الأمراض قد يكون من الأفضل خفضها لزيادة اكتشاف الحالات الإيجابية، حتى لو أدى ذلك إلى بعض الإنذارات الكاذبة.

لا يُنصح غالباً باستخدام متوسط مربع الخطأ بدلاً من الانتروبيا المتقاطعة الثنائية في التصنيف الثنائي. صحيح أن ذلك ممكن رياضياً إذا استُخدم مخرج بين صفر وواحد، لكنه لا يعامل الاحتمالات وفق النموذج الإحصائي الملائم، وقد ينتج تدرجات أقل فاعلية عندما تكون تنبؤات سيغمويد قريبة من الصفر أو الواحد.

التصنيف متعدد الفئات ومطابقة طبقة الإخراج

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

إذا كانت الفئة الحقيقية هي «دراجة»، فيجب أن يدفع التدريب احتمال الدراجة نحو الواحد، وأن يخفض احتمالات الفئات الأخرى. يمكن تمثيل التسمية الحقيقية بترميز أحادي ساخن، مثل [0، 1، 0، 0]، أو كرقم صحيح يمثل رقم الفئة. في الحالة الأولى تستخدم النسخة الفئوية المعتادة من الخسارة، وفي الثانية تستخدم النسخة الفئوية المتناثرة التي تتعامل مع أرقام الفئات مباشرة.

أما إذا كانت العينة يمكن أن تنتمي إلى عدة فئات مستقلة في الوقت نفسه، فهذه ليست مسألة سوفت ماكس. صورة واحدة قد تحتوي على «سيارة» و«شخص» و«إشارة مرور» معاً. هنا يستخدم عصبون سيغمويد مستقل لكل فئة، وتطبق الانتروبيا المتقاطعة الثنائية على كل مخرج. الفارق بين التصنيف متعدد الفئات والتصنيف متعدد العلامات جوهري؛ فالخلط بينهما يؤدي إلى مخرجات لا تمثل طبيعة المشكلة.

ينبغي دائماً مطابقة ثلاثة عناصر: شكل التسمية، وتنشيط طبقة الإخراج، ودالة الخسارة. فمخرجات سيغمويد تتوافق مع احتمالات مستقلة، ومخرجات سوفت ماكس تتوافق مع فئات متنافية، والمخرج الخطي يتوافق غالباً مع القيم المستمرة.

التعامل مع عدم توازن الفئات والحالات الخاصة

تظهر مشكلة عدم التوازن عندما تكون إحدى الفئات نادرة جداً، كما في اكتشاف الاحتيال المصرفي حيث قد تمثل المعاملات الاحتيالية أقل من واحد في المئة من البيانات. في هذه الحالة قد يتعلم النموذج التنبؤ دائماً بالفئة الأكثر شيوعاً ويحقق دقة ظاهرية مرتفعة، لكنه يفشل في اكتشاف الحالات المهمة.

يمكن معالجة ذلك باستخدام أوزان الفئات داخل دالة الخسارة، بحيث تكون عقوبة خطأ النموذج في الفئة النادرة أكبر. ويمكن كذلك استخدام الخسارة البؤرية، التي تقلل أثر الأمثلة السهلة وتركز التدريب على الأمثلة الصعبة أو النادرة. وهي مفيدة في مهام مثل كشف الأجسام في الصور، حيث توجد أمثلة خلفية كثيرة مقارنةً بالأجسام المستهدفة.

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

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

مثال عملي في بايثون باستخدام كيراس

يوضح المثال التالي الفرق بين إعداد شبكة للتنبؤ بسعر مستمر وإعداد شبكة لاتخاذ قرار تصنيف ثنائي. في نموذج الانحدار يستخدم الإخراج الخطي ومتوسط مربع الخطأ، بينما يستخدم نموذج التصنيف مخرج سيغمويد والانتروبيا المتقاطعة الثنائية.

import tensorflow as tf
from tensorflow import keras

# نموذج انحدار: التنبؤ بسعر عقار
نموذج_انحدار = keras.Sequential([
    keras.layers.Dense(64, activation="relu", input_shape=(10,)),
    keras.layers.Dense(32, activation="relu"),
    keras.layers.Dense(1, activation="linear")
])

نموذج_انحدار.compile(
    optimizer="adam",
    loss="mean_squared_error",
    metrics=["mean_absolute_error"]
)

# نموذج تصنيف ثنائي: اكتشاف معاملة احتيالية
نموذج_تصنيف = keras.Sequential([
    keras.layers.Dense(64, activation="relu", input_shape=(10,)),
    keras.layers.Dense(32, activation="relu"),
    keras.layers.Dense(1, activation="sigmoid")
])

نموذج_تصنيف.compile(
    optimizer="adam",
    loss="binary_crossentropy",
    metrics=["accuracy", keras.metrics.Recall()]
)

عند التدريب، يجب تمرير أسعار حقيقية إلى النموذج الأول، مثل 250000 أو 430000، بينما يجب تمرير تسميات صفرية أو أحادية إلى النموذج الثاني. وإذا كانت بيانات الاحتيال غير متوازنة، يمكن إضافة أوزان للفئات عند استدعاء دالة التدريب، بدلاً من الاعتماد على الدقة وحدها.

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

خاتمة

اختيار دالة الخسارة ليس تفصيلاً برمجياً ثانوياً، بل هو تعريف صريح لما يعنيه «الخطأ» بالنسبة إلى الشبكة العصبية. في الانحدار، يمثل متوسط مربع الخطأ نقطة بداية قوية عندما تكون الأخطاء الكبيرة مهمة ولا تهيمن القيم الشاذة على البيانات. وفي التصنيف الثنائي، تمثل الانتروبيا المتقاطعة الثنائية مع سيغمويد الخيار القياسي، بينما يناسب سوفت ماكس والانتروبيا المتقاطعة الفئوية التصنيف متعدد الفئات المتنافية.

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

تعليقات