الكاتب:Sarfaraz Hussein ترجمة: نضال إمام مراجعة: هيا الداوود
[ رابط المقال الأصلي هنا ]أي جهاز ذكاء اصطناعي (Artificial Intelligent) ذكي بما فيه الكفاية لاجتياز اختبار تورينج، هو ذكي بما فيه الكفاية لمعرفة فشله.
آيان ماك دونالد
نفترض أنك تعمل على مشكلة ذات تأثير كبير و في نفس الوقت تشكل تحدي لك، ألا وهي تصنيف البرامج الضارة. لديك قاعدة بيانات كبيرة، وتستطيع تدريب مصنف يعتمد على تعليم الآلة (Machine Learning) بدقة ٩٨٪. بينما أنت تخفي حماسك، و تريد إقناع الفريق بإستخدام النموذج، وأنت تعتقد أنه لن يعارض أحد استخدام نموذج بهذا الأداء المذهل؟ ثم تصتدم بخيبة أمل كبيرة للغاية، وهي فشل النموذج في الكشف عن التهديدات في العالم الحقيقي!؟ هذا السيناريو المؤسف شائع جدًا عند تطوير مصنفات تعلم الآلة. على الرغم من وجود العديد من المذنبين، إلا أن السبب الشائع في مجال الأمان هو مشكلة عدم التوازن (class imbalance) في الصنف. في حالة عدم توازن الصنف، يتدرب أحدهم على مجموعة بيانات تحتوي على عدد كبير من الحالات التي تنتمي الى نوع واحد، على سبيل المثال، ملفات ضارة، وحالات قليلة تعود الى الأنواع الأخرى، على سبيل المثال، ملفات نظيفة.
المحافظة على التوازن ليست بالأمر السهل أبداً. قط صغير يحاول المحافظة على توازنه من على السياج. إريك ويتسو.
المصطلحات (Terminology)
دعونا نقوم بتعريف عدم توازن الصنف وبعض المصطلحات المرتبطة به. سنستخدم مثالًا بسيطًا لتصنيف البرامج الضارة لتوضيح الأمور.
الخصائص (Features)
الخصائص أو الميزات هي خواص قياس البيانات. يتم تمثيلها عمومًا كمصفوفة لعدد الأبعاد للخصائص × عدد الأبعاد. في سياق تصنيف البرامج الضارة، يمكن أن تكون الخصائص عبارة عن أكواد العمليات، الذاكرة، وأنشطة نظام الملفات، إنتروبيا أو تعلم الخصائص من خلال التعلم العميق.
المسميات (Labels)
المسميات هي ارتباطات صنفية يتم توفيرها مع كل متجه للخصائص. يتم تحديد المسميات أثناء التدريب في حين يتم توقع المسمى في وقت الاختبار. التسميات في مثالنا لتصنيف البرامج الضارة هي نظيفة وخبيثة.
المصنفات (Classifier)
المصنفات ترسم خريطة الخصائص إلى المسميات. هناك العديد من أنواع المصنفات، ولكن في هذه المقالة، سنفكر في الخوارزميات المعروفة مثل الغابة العشوائية Random Forest وآلة المتجهات الداعمة Support Vector Machines والشبكات العصبية الترشيحية (Convolution Neural Networks). يمكن استخدام أي من هذه المصنفات لتدريب نموذج تصنيف البرامج الضارة.
عدم توازن الفئة (Class Imbalance)
كما يوحي الاسم، فإن عدم توازن الفئة يمثل تحديًا، لأن نسبة البيانات من كل فئة غير متساوية. يمكن أن تكون درجة عدم التوازن بسيطة، على سبيل المثال، 4:1، أو أقصى، مثل 1000000:1.
يمثل عدم توازن الفئة مشكلة صعبة في تعلم الآلة، حيث قد يؤدي إلى تحيز (bias) المصنف للتركيز على فئة الأغلبية، والتي يمكن أن تشوه حدود قرار المصنف وتسبب فرط التخصيص (overfitting).
أمثلة عملية لعدم توازن الفئة
فيما يلي, بعض الحالات من العالم الحقيقي التي قد يحدث فيها عدم توازن الفئة. لاحظ أن المصنف الناجح لهذه التطبيقات يجب أن يتغلب في النهاية على اختلال توازن الفئة حتى يكون فعالاً.
- تصنيف البريد المزعج
- فحص الورم في البيانات الطبية
- التعرف على الإنسان والسيارة للقيادة الذاتية
- تصنيف البرامج الضارة
- تمييز الوجوه
- الكشف عن الغش
تقنيات للتغلب على أو معالجة عدم توازن الفئة (Techniques for Overcoming or Addressing Class Imbalance)
الآن، دعونا نتحدث عن بعض الطرق لمعالجة عدم توازن الفئة.
مناهج مستوى الخصائص (Feature Level Approaches)
هذه الأساليب تغيير من توزيع البيانات إما عن طريق (undersampling) تقليل عينات الأصناف التي تشكل الأغلبية أو (overampling) تكثيف عينات الأصناف التي تشكل الأقلية وذلك لتحقيق التوازن في توزيع البيانات. في (undersampling)، يمكن للمرء إزالة بعض الأمثلة (instances) من فئة الأغلبية، في حين يتم إضافة نسخ مكررة من بعض أمثلة فئة الأقلية إلى مجموعة التعلم. عموماً، فإنه من المستحسن اللجوء إلى (undersampling) عندما يكون لديك عدد كبير من عينات التدريب و يستحسن ايضاً استخدام (overampling) عندما يكون عدد عينات التدريب صغير.
كل من هذين التقنيتين لديها عيوب. (Undersampling) يمكن أن يؤدي إلى فقدان معلومات مفيدة او معلومات يحتمل أن تكون مساعدة على عملية التمييز لفئة الأغلبية، في حين أن (overampling) يسبب (overfitting). هذا (overfitting) بينما (overampling) يمكن معالجته باستخدام أساليب مثل تقنية تكثيف الأقلية اصطناعياً (Synthetic Minority Over-sampling Technique- SMOTE)، وأخذ العينات الاصطناعية التكيفيه (Adaptive Synthetic Sampling- ADASYN).
في (SMOTE)، يتم أخذ عينات عدد من الأمثلة المتجاورة (n-neighboring) حول كل مثال من الأقلية، ثم يتم إنشاء نقاط عشوائية على خط يربط بين هذه الأمثلة المتجاورة، والتي تعمل كأمثلة معززة (augmented). من ناحية أخرى، (ADASYN) يستخدم التوزيع الموزون لأمثلة فئة الأقلية على أساس الكثافة المحلية، مما يمثل في حد ذاته توزيع التسمية المنحرف (skewed label distribution).
الكثير من البيانات يتفوق على الخوارزميات الذكية، ولكن البيانات الأفضل تتفوق على الكثير من البيانات.
بيتر نورفيج
تعزيز البيانات (Data Augmentation)
جمع المزيد من البيانات يعد أحد خيارات التعامل مع عدم توازن الفئة. ولكن في كثير من الحالات، يكون هذا الخيار مكلف من حيث الوقت والجهد والموارد. لذلك في مثل هذه الحالات، تعزيز البيانات (data augmentation) يعد الخيار الأكثر شيوعاً لإضافة عينات إضافية من فئة الأقلية. في سياق الصور، من الممكن تعزيز البيانات عن طريق إضافة تغيير للبيانات بإستخدام احد هذه الإجراءات: الترجمة، أو التناوب، اوتغيير المقياس وكذلك إضافة أنواع مختلفة من الضوضاء مثل ضوضاء Gaussian و Poisson و Salt-and-Pepper. هذه التحولات إلى الصور يمكن أن تؤدي إلى نماذج أكثر قوة.
زيادة البيانات يمكن أن توفر أيضًا الحماية ضد فرط التخصيص (overfitting) والإسقاط (dropout) والضبط (regularization). عموماً، عند توفر فئة التحولات المحافظة (مثل الصور)، يفضل استخدام تعزيز البيانات على مناهج تعزيز مستوى الخصائص مثل (SMOTE and ADASYN). في حالة الحفاظ على البيانات التي تم تسميتها، يمكن تعميم التحويل المذكور أعلاه على بيانات غير الصور. كما تم استكشاف شبكات الخصومات التوليدية (GANs) لتوليد بيانات تدريب معززة لمصنف [بولز وآخرون. 2018].
هنا تم استخدام تعزيز البيانات عن طريق التدرج والتدوير والضوضاء لتدريب شبكة ترشيحية عميقة من طرف إلى طرف والتي تستخدم لتحديد الأورام الخبيثة [حسين وآخرون. 2017].
المناهج القائمة على القياس (Metric Based Approaches)
المناهج التي تعتمد على القياس تغير معايير التقييم المستخدمة للحكم على أداء المصنف. وتشمل هذه استخدام الدقة (accuracy) الإحكام (precision) والاستدعاء (recall)، ومنحنى دقّة الأداء (ROC)، مصفوفة الدقّة (confusion matrices)، وغيرها من الإحصاءات كمقاييس. على سبيل المثال، في سيناريو عدم توازن الفئة 95٪ – 5٪، لا يمكن اعتبار الدقة مقياسًا موثوقًا لتقييم المصنف، حيث إنه قد يعين مسمى (lebel) فئة الأغلبية لجميع الأمثلة، وبالتالي تكون الدقة 95٪. وبهذه الطريقة، فإننا نتجاهل بشدة سوء التصنيف لفئة الأقلية، بينما نعطي أهمية أكبر لتصنيف فئة الأغلبية.
مناهج مستوى الخوارزميات (Algorithm Level Approaches)
تقوم مناهج مستوى الخوارزميات بتعديل خوارزمية التعلم لتحسين أداء المصنف في فئة الأقلية. تفرض هذه المناهج تكلفة إضافية لأي خطأ في التصنيف يتعلق بفئة الأقلية، وتحيز المصنف للتركيز أكثر على أخطاء فئة الأقلية. تقليديًا، يتم استخدام الخوارزمية الحساسة من حيث التكلفة (SVM) كمنهج مستوى الخوارزمية لمعالجة عدم توازن الفئة [مسنادي شيرازي وآخرون. 2010]:
حيث C1 و C2 هي تكاليف متغيرات الركود (slack variables) الإيجابية والسلبية. في الآونة الأخيرة، مع شعبية التعلم العميق (Deep Learning) والشبكات العصبية الترشيحية للتصنيف، أصبح هناك اهتمام متزايد بالمعالجة الضمنية للاختلال في توازن الفئة داخل الشبكة. هناك طريقة واحدة يمكن من خلالها تنفيذ ذلك وهي تطبيق التشوهات المرنة (Elastic deformations). يتم تطبيق هذه التشوهات المرنة لتوليد عينات إضافية لتدريب البنية التجزئية للصورة كما في U-NET [رونبيرجر وآخرون. 2015].
في مراجع رؤية الحاسب (Computer vision)، تم اقتراح فقدان التركيز (focal loss) لمعالجة عدم توازن الفئة الشديد بين المقدمة والخلفية لكشف الأشياء (object detection) [لن وآخرون. 2018]. فقدان التركيز يخطو خطوة أبعد من مجرد التعامل مع عدم توازن الفئة إلى إعطاء أهمية أكبر للسلبيات الصعبة. فقدان التركيز يقوم بتعديل الانتروبيا التقاطعية (cross-entropy loss) عن طريق إضافة عامل قياس يخفف من أهمية إسهام الأمثلة المصنفة جيدًا، ويركز أكثر على مجموعة متفرقة من الأمثلة الصعبة. وبهذه الطريقة، يتحايل على الكاشف و يمنعه من الإصابة بالإرهاق الذي ينتج من خلال التعامل مع عدد كبير من الأمثلة السهلة.
يمكن لتعدين التصنيفات السلبية (Hard-negative mining) أن يكون أحد الوسائل التي تستطيع و بكفاءة استغلال أقصى قدر من المعلومات التمييزية الموجودة في مجموعة البيانات الصغيرة. تتضمن هذه الأساليب تمهيد (bootstrapping) المصنف عن طريق إضافة التصنيفات الخاطئة الإيجابية (false-positive) إلى المجموعة السلبية في دورة التدريب التالية.
التصنيف مع المسميات مفقودة (Classification with Missing Labels)
بالإضافة إلى عدم توازن الفئة، يمثل عدم وجود مسميات مشكلة عملية كبيرة في تعلم الآلة. عند توفر عدد قليل فقط من الأمثلة التي تحمل مسميات في قاعدة البيانات المستخدمة، ولكن هناك عدد كبير من الأمثلة لا تحمل مسميات، يمكن معالجة مشكلة التصنيف باستخدام طرق تعلم شبه خاضعة للإشراف (semi-supervised). التعلم شبه الخاضع للإشراف مفيد جدًا لتصنيف صفحات الويب وتصنيف الصور والتصنيف الهيكلي والوظيفي للبروتين ومشاكل التعرف على الكلام.
رسم توضيحي لبيانات تدريب كلاً من التعلم الخاضع للإشراف وشبه الإشراف وغير الخاضع للإشراف.
هناك ثلاثة أساليب شائعة لمعالجة مشكلات التعلم شبه الخاضعة للإشراف: (1) التدريب الذاتي، (2) التدريب المشترك، (3) النماذج الشبكية.
التدريب الذاتي (self-training)
في التدريب الذاتي، يتم أولاً تدريب المصنف على البيانات التي تحمل مسميات، ومن ثم يتم استخدام النموذج الذي تم تعليمه للتنبؤ الأمثلة الغير مسماة. يتم إضافة الأمثلة التي تم التنبؤ بها بثقة عالية (high-confidence) من العينات غير المسماة، ومسمياتها المتوقعة إلى بيانات التدريب. ومن ثم يتم تدريب النموذج على بيانات التدريب الجديدة. يتم تكرار العملية إما لعدد محدد من التكرارات أو حتى لا توجد أمثلة عالية الثقة في مجموعة الأمثلة الغير مسماة. العيب الرئيسي للتدريب الذاتي هو أن الثقة العالية من الممكن ان تؤدي إلى إضافة تنبؤات غير صحيحة إلى مجموعة التدريب وتضخيم الأخطاء في التدريب اللاحق.
التدريب المشترك (Co-training)
يتطلب التدريب المشترك تمثيلين للخصائص المرتبطة بمجموعة البيانات، وهما بمثابة عرضين مختلفين للبيانات. هذه التماثيل متباينة ومستقلة بشكل مشروط، لكنها يمكن أن توفر معلومات تكاملية عن البيانات. مثالاً عند بناء مصنف لمواقع التصيد و الاحتيال (phishing website)، يمكننا الحصول على صور ونص كطريقتين مختلفتين لعرض البيانات.
في التدريب المشترك، يتم تدريب نموذجين بشكل منفصل نموذج واحد لكل تمثيل للبيانات. أثناء الاختبار يتم إضافة العينات الغير مسمى مع التنبؤات عالية الثقة لأحد النماذج لتدريب البيانات الخاصة بالنموذج الآخر. على عكس التدريب الذاتي، يعد التدريب المشترك أقل عرضة للأخطاء من نموذج واحد. ومع ذلك، فإن النماذج التي تستخدم كلتا المجموعتين من الخصائص، من المحتمل أن تعمل بشكل أفضل. من أشكال التدريب المعمم للتدريب المشترك هو التدريب متعدد النظرات (multi-view training)، حيث يتم تدريب العديد من المصنفات على تمثيلات مختلفة لبيانات التدريب المسماة. و من ثم يتم إستخدم تصويت الأغلبية (majority voting) لإضافة الأمثلة غير المسماة إلى ببيانات التدريب المسماة.
الأساليب الشبكية (Graph-based Approaches)
في الأساليب الشبكية يتم تمثيل الأمثلة المُسمى وغير المُسمى بعقد مختلفة في الشبكة، حيث تشير الحواف في هذه الشبكة إلى التشابه أو التقارب بين العقد المجاورة، الافتراض في هذا الأسلوب هو أن العقود ذات الحواف القوية من المحتمل أن تشترك في نفس المُسمى. يتم حساب دالة التقارب (affinity function) في الحواف بناءً على ميزات او ملامح العقد. يمكن تسمية العقد غير المُسماة في الشبكة باستخدام المشي العشوائي (random-walk) المطبق على الشبكة. في أسلوب السير العشوائي، تبدأ العقدة الغير مسماة بإنشاء شبكة اجتيازية قائمة على قوة الحواف. ينتهي السير عند الوصول إلى عقدة ذات مسمى، ويحتمل أن يبدأ السير العشوائي في عقدة معينة غير مسماة إلى أنه ينتهي في عقدة معينة ذات مسمى. بمعنى آخر، قد تتشابه نقطتان إذا كانت لديهما نقاط انطلاق لا يمكن تمييزها. يعتبر أسلوب التعلم شبه الخاضع للإشراف الشبكي شائعًا في مشاكل تجزئة الصورة (image segmentation)، حيث يتم تمثيل كل بكسل في الصورة بواسطة عقدة، ويتم تسمية بعض وحدات البكسل الأمامية والخلفية يدويًا من قبل المستخدم أو مسميات متخصصة عبر عناوين الصور.
ملاحظات ختامية
في الختام، تعتمد طرق معالجة هذين التحديين في تعلم الآلة بشكل كبير على البيانات بالإضافة إلى تعقيد المشكلة. في المواقف التي تتوفر فيها تحويلات الحفاظ على المسميات (label preserving transformations)، تكون اليد العليا للأساليب المعتمدة على البيانات. في الآونة الأخيرة مع التعلم العميق (Deep learning)، أصبحت مناهج التدريب ذات التكلفة الحساسة تكتسب شعبية أكثر. أيضًا في الآونة الأخيرة، أصبح هناك بعض الأعمال المثيرة للاهتمام لاستكشاف العلاقة بين نقل التعلم (Transfer Learning) والتعلم شبه الخاضع للإشراف [تشو وآخرون. 2018]. رغم أنه خارج نطاق هذه المدونة، تجدر الإشارة إلى أن عدم توازن الفئة يمثل أيضًا مشكلة عملية للانحدار (regression). باختصار، يعتبر عدم التوازن في الفئة والمسميات المفقودة بمثابة ساحات بحثية مفتوحة ذات إمكانات كبيرة للتأثير على كيفية تعاملنا مع مجموعة واسعة من مشاكل تعلم الآلة في العالم الحقيقي.