مترجممقالات

أطر عمل للنهوض بعملية تعلم الآلة

كتابة: Matthew Mayo   ترجمة: أسيل المسعد   مراجعة: هيا الداوود

[المقال الأصلي بالانجليزي اضغط هنا]

هل يجب عمل مقارنة لأساليب عملية تعلم الآلة؟ هل هناك أي اختلافات جوهرية بين هذه الأطر؟

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

أحدث مصدرين مررت عليهما لتحديد أطر العمل للتعامل مع عملية تعلم الآلة هما “الخطوات السبع لتعلم الآلة” لـ يوفنج جوو و”التعلم العميق” في القسم 4.5  لـ فرانسوا شوليت. هل يختلف أي من هذين الإجراءين عن الطريقة المتعارف عليها لمعالجة مثل هذه المهمة؟

فيما يلي الخطوط العريضة لأساليب تعلم الآلة الموجه (supervised)، ومقارنة موجزة، ومحاولة للتوفيق بين الاثنين في إطار ثالث يبرز أهم مجالات عملية تعلم الآلة (الموجه).

الخطوات السبع لتعلم الآلة

لقد صادفت مقالة جوو عن طريق مشاهدة مقطع الفيديو الخاص به أولاً على موقع يوتيوب، والذي جاء بعد التوصية به خلال ظهيرة أمضيتها بمشاهدة متواصلة لفيديوهات عن مهرجان جوجل I/O 2018. المنشور التالي هو نفس محتوى الفيديو، لذا إذا كنت مهتم فمصدر واحد من هذين المصدرين سوف يفي بالغرض.

مصدر الصورة

وضع جوو الخطوات كما يلي (مع القليل من الاسترسال مني):

  1. جمع البيانات

  • كمية ونوعية البيانات الخاصة بك هي التي تحدد مدى دقة نموذجنا
  • نتيجة هذه الخطوة عموماً هي تمثيل للبيانات (يسهلها جوو بتحديدها على شكل جدول) والذي سنستخدمه في التدريب
  • استخدام البيانات التي تم جمعها مسبقًا، عن طريق مجموعات البيانات من Kaggle و UCI وغيرها، ما زالت تتناسب مع هذه الخطوة
  1. إعداد البيانات

  • جهز البيانات وأعدها للتدريب
  • قم بتنظيف البيانات التي تتطلب ذلك (إزالة التكرارات وتصحيح الأخطاء والتعامل مع القيم المفقودة وتسوية البيانات وتحويل أنواع البيانات وما إلى ذلك)
  • رتب البيانات عشوائياً، بحيث تمحو آثار الترتيب الذي تشّكل أثناء جمع و/أو أثناء إعداد بياناتنا
  • تصوير البيانات للمساعدة في اكتشاف العلاقات ذات الصلة بين المتغيرات أو الاختلالات التصنيفية (تنبيه التحيز!)، أو إجراء تحليلات استكشافية أخرى
  • قسم البيانات إلى مجموعات التدريب والتقييم
  1. اختر نموذجاً

  • الخوارزميات المختلفة أعدت لمهام مختلفة، اختر المناسب
  1. تدريب النموذج

  • الهدف من التدريب هو الإجابة على سؤال أو التنبؤ بشكل صحيح قدر الإمكان
  • مثال على الانحدار الخطي: ستحتاج الخوارزمية إلى معرفة قيم m (أو W) و bـ (x is input, y is output)
  • كل تكرار لعملية هو خطوة تدريب
  1. تقييم النموذج

  • استخدم بعض المقاييس أو مجموعة منها لـ”قياس” الأداء الموضوعي للنموذج
  • اختبار النموذج على بيانات جديدة
  • تهدف هذه البيانات الجديدة إلى أن تكون ممثلة إلى حد ما للأداء النموذجي في العالم الحقيقي، لكنها لا تزال تساعد في ضبط النموذج (على عكس بيانات الاختبار ، التي لا تساعد)
  • تدريب جيد/ التقسيم باستخدام دالة eval؟ 80/20 ، 70/30 ، أو ما شابه ذلك، اعتمادًا على المجال، وتوافر البيانات، وتفاصيل مجموعة البيانات، إلخ
  1. ضبط المدخل

  • تشير هذه الخطوة إلى تعديل مُدخل ضبط (hyperparameter)، الذي يمكن اعتباره كـ “فن” بدلاً من اعتباره علماً
  • تعديل مدخلات النموذج لتحسين الأداء.
  • مدخلات ضبط النموذج البسيطة قد تشمل: عدد خطوات التدريب، ومعدل التعلم، وقيم التهيئة والتوزيع ، إلخ
  1. وضع تنبؤات

  • استخدام مزيد من البيانات (مجموعة الاختبار) التي تم حجبها حتى الآن من النموذج (والتي تُعرف كعلامات للفئات) لكي تستخدم لاختبار النموذج؛ وتقريب أفضل لكيفية أداء النموذج في العالم الحقيقي

 

نظام العمل الشامل لتعلم الآلة

في القسم 4.5 من كتابه، يحدد شوليت الخطوط العريضة لنظام العمل الشامل لتعلم الآلة، والذي يصفه بأنه مخطط تفصيلي لحل مشكلات تعلم الآلة.

|المخطط التفصيلي (Blueprint) يربط بين المفاهيم التي تعلمناها في هذا الفصل: تعريف المشكلة، وتقييمها، وهندسة الميزات، وضبط المدخلات.

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

  1. تحديد المشكلة وتجميع مجموعة البيانات
  2. اختيار مقياس النجاح
  3. اتخاذ قرار بشأن بروتوكول التقييم
  4. إعداد البيانات الخاصة بك
  5. وضع نموذج بحيث يكون أفضل من الأساس المرجعي
  6. التوسع: تطوير نموذج متلائم
  7. تسوية النموذج الخاص بك وضبط المدخلات

مصدر الصورة:  Andrew Ng’s Machine Learning class at Stanford

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

نموذج جيد  ←  نموذج “جيد جدًا”  ←  تعديله، نموذج “قابل للتعميم”

 صياغة إطار مبسط

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

دمج منهج شوليت مع منهج جوو، حيث يمكننا رؤية الخطوات مرتبة (فطريقة جوو مرقمة، بينما طريقة شوليت يتم ذكرها تحت خطوة جوو المشابهه مع ذكر رقمها بين قوسين) :

  1. جمع البيانات

← تحديد المشكلة وتجميع مجموعة البيانات (1)

  1. إعداد البيانات

← إعداد البيانات الخاصة بك (4)

  1. اختر نموذجا
  2. تدريب النموذج

← وضع نموذج بحيث يكون أفضل من الأساس المرجعي (5)

  1. تقييم النموذج

← اختيار مقياس النجاح (2)

← اتخاذ قرار بشأن بروتوكول التقييم (3)

  1. تعديل/ضبط المدخل

← التوسع: تطوير نموذج متلائم (6)

← تسوية النموذج الخاص بك وضبط المدخلات (7)

  1. تنبؤ

أنه ليس مثالي، لكنّي أؤمن به.

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

دعنا نستخدم ما سبق لوضع إطار مبسط لتعلم الآلة، المجالات الخمسة الرئيسية لعملية تعلم الآلة:

  1. جمع البيانات وإعدادها: كل شيء بدءًا من اختيار مكان الحصول على البيانات، إلى درجة نظافتها وجاهزيتها لميزة الاختيار/الهندسة.
  2. مميزات الاختيار والهندسة: يشمل ذلك جميع التغييرات التي تطرأ على البيانات من لحظة تنظيفها إلى حين إدخالها في نموذج تعلم الآلة.
  3. اختيار خوارزمية تعلم الآلة وتدريب نموذجنا الأول: الحصول على نتيجة “أفضل من الأساس” والتي يمكننا (آملين) تحسينها.
  4. تقييم نموذجنا: ويشمل ذلك اختيار المقياس إلى جانب التقييم الفعلي؛ على ما يبدو هذه خطوة أصغر من غيرها ولكنها مهمة لتحقيق النتيجة النهائية لدينا.
  5. التغيير والتبديل للنماذج والضبط وتعديل مُدخل ضبط: هذا هو المكان الذي ننتقل فيه بشكل متكرر من نموذج “جيد بما فيه الكفاية” إلى نموذج بذلنا فيه قصارى جهدنا.

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

الوسوم
اظهر المزيد

Aseel Almesad

مهندسة كمبيوتر مع ماجستير في دراسات المعلومات، مهتمة بعلم البيانات وأعمل على التعريف بالبيانات الضخمة والتوعية حول أهميتها لذا سعيت لتأسيس مجتمع المرأة للبيانات بالكويت (تحت الاشهار حاليا)

مقالات ذات صلة

رأي واحد على “أطر عمل للنهوض بعملية تعلم الآلة”

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شاهد أيضاً

إغلاق
إغلاق