قواعد التعلم الآلي:

أفضل الممارسات في هندسة تعلُّم الآلة

مارتن زينكيفيتش

يهدف هذا المستند إلى مساعدة الذين لديهم معرفة أساسية بالتعلّم الآلي على الاستفادة من أفضل ممارسات Google في مجال تعلُّم الآلة. ويقدم أسلوبًا لتعلم الآلة، على غرار دليل أسلوب Google C++ والأدلة الشائعة الأخرى للبرمجة العملية. إذا كنت قد درست درسًا في التعلم الآلي، أو أنشأت أو عملت على نموذج تم تعلمه، فهذا يعني أن لديك الخلفية اللازمة لقراءة هذا المستند.

يقدّم "مارتن زينكيفيتش" 10 قواعد من أفضل ممارسات تعلّم الآلة. يمكنك مواصلة القراءة للتعرّف على جميع القواعد البالغ عددها 43.

المصطلحات

ستظهر المصطلحات التالية بشكل متكرر في مناقشتنا للتعلم الآلي الفعال:

  • المثيل: الشيء الذي تريد التنبؤ به. على سبيل المثال، قد تكون صفحة الويب التي تريد تصنيفها إما "حول القطط" أو "ليس عن القطط".
  • التصنيف: إجابة لمهمة متنبأ بها إما الإجابة الناتجة عن نظام التعلم الآلي، أو الإجابة الصحيحة المقدمة في بيانات التدريب. على سبيل المثال، قد يكون تسمية صفحة الويب "حول القطط".
  • الميزة: سمة لمثيل مستخدَم في مهمة توقّع. على سبيل المثال، قد تحتوي صفحة الويب على ميزة "تحتوي على كلمة قطة".
  • عمود الميزة: مجموعة من الميزات ذات الصلة، مثل مجموعة جميع البلدان المحتمَلة التي قد يعيش فيها المستخدمون. قد يحتوي أحد الأمثلة على ميزة أو أكثر في عمود الميزة. "عمود الميزات" هو مصطلح خاص بـ Google. يُشار إلى عمود الميزة باسم "namespace" في نظام VW (في Yahoo/Microsoft) أو حقل.
  • مثال: مثيل (مع ميزاته) وتصنيف.
  • النموذج: تمثيل إحصائي لمهمة توقّع. أنت تدرّب نموذجًا على أمثلة ثم تستخدم النموذج لعمل تنبؤات.
  • المقياس: رقم يهمك. وقد يتم تحسينه مباشرةً أو لا.
  • الهدف: مقياس تحاول خوارزميتك تحسينه.
  • Pipeline: البنية الأساسية التي تحيط بخوارزمية تعلُّم الآلة. تشمل جمع البيانات من الواجهة الأمامية ووضعها في ملفات بيانات تدريب وتدريب نموذج أو أكثر وتصدير النماذج إلى الإنتاج.
  • نسبة النقر إلى الظهور هي النسبة المئوية لزوّار صفحة ويب الذين ينقرون على رابط في إعلان.

نظرة عامة

لإنشاء منتجات رائعة:

هل أنت كمهندس عظيم في تعلّم الآلة، و ليس مثل خبير تعلّم الآلة؟

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

  1. تأكد من أن خط الأنابيب مُصمت من البداية إلى النهاية.
  2. ابدأ بهدف معقول.
  3. أضف ميزات الذوق العام بطريقة بسيطة.
  4. تأكد من أن خط الأنابيب يظل ثابتًا.

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

بعد تنفيذ الحيل البسيطة، قد يكون من الممكن الاستفادة من تقنية تعلُّم الآلة المتطوّرة في مستقبلك. يُرجى الاطّلاع على القسم الذي يتناول المرحلة الثالثة من مشاريع تعلُّم الآلة.

تم ترتيب هذا المستند على النحو التالي:

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

قبل التعلم الآلي

القاعدة 1: لا تتردد في إطلاق منتج بدون تعلم الآلة.

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

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

القاعدة رقم 2: أولاً، صمم المقاييس ونفذها.

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

  1. ويكون من الأسهل الحصول على إذن من مستخدمي النظام في مرحلة مبكرة.
  2. إذا كنت تعتقد أن شيئًا ما قد يكون مصدر قلق في المستقبل، فمن الأفضل الحصول على البيانات التاريخية الآن.
  3. إذا قمت بتصميم نظامك مع وضع الأدوات المترية في الاعتبار، فسوف تسير الأمور بشكل أفضل بالنسبة لك في المستقبل. على وجه التحديد، لا تريد أن تجد نفسك ممتعًا للسلاسل في السجلات لقياس مقاييسك!
  4. ستلاحظ الأشياء التي تتغير وما الذي يظل كما هو. على سبيل المثال، لنفترض أنّك تريد تحسين المستخدِمين النشطين ليوم واحد مباشرةً. ومع ذلك، أثناء عمليات التلاعب المبكرة بالنظام، قد تلاحظ أن التغييرات الكبيرة في تجربة المستخدم لا تغير هذا المقياس بشكل ملحوظ.

يقيس فريق Google Plus مدى التوسيع لكل قراءة، وإعادة المشاركة لكل قراءة، وعدد 1+ لكل قراءة، والتعليقات/القراءة، والتعليقات لكل مستخدم، وعمليات إعادة المشاركة لكل مستخدم، وما إلى ذلك. يُرجى العِلم أيضًا أنّه من المهم وضع إطار عمل للتجربة يمكنك من خلاله تجميع المستخدمين في مجموعات وتجميع الإحصاءات حسب التجربة. يُرجى الاطّلاع على القاعدة رقم 12.

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

القاعدة الثالثة: اختر التعلم الآلي بدلاً من استدلال معقد.

يمكنك الاستعانة بالدليل الاستكشافي البسيط للحصول على منتجك. أسلوب الاستكشاف المعقد لا يمكن الحفاظ عليه. بمجرد حصولك على البيانات وفكرة أساسية عما تحاول تحقيقه، انتقل إلى التعلم الآلي. وكما هو الحال في معظم مهام هندسة البرمجيات، ستحتاج إلى تحديث منهجك باستمرار، سواء كان نموذجًا إرشاديًا أو نموذجًا تتعلمه الآلة، وستجد أنه من السهل تحديث النموذج وصيانته وصيانته (راجع القاعدة رقم 16).

المرحلة الأولى من تعلُّم الآلة: مسارك الأول

ركّز على البنية الأساسية للنظام في مسارك الأول. بالرغم من أنّه من الممتع التفكير في كل تقنيات تعلُّم الآلة الخيالية التي ستقدّمها، إلا أنّه سيكون من الصعب معرفة ما يحدث إذا لم تكن تثق أولاً بمسار التعلّم.

القاعدة الرابعة: حافظ على بساطة النموذج الأول واحصل على البنية الأساسية المناسبة.

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

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

يؤدي اختيار ميزات بسيطة إلى تسهيل ضمان ما يلي:

  • تستخدم الميزات خوارزمية التعلم بشكل صحيح.
  • يتعرّف النموذج على أوزان معقولة.
  • تصل الميزات إلى نموذجك في الخادم بشكلٍ صحيح.

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

القاعدة الخامسة: اختبار البنية الأساسية بشكل مستقل عن تعلُّم الآلة.

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

  1. اختبار إدخال البيانات إلى الخوارزمية. تحقق من تعبئة أعمدة الميزة التي يجب تعبئتها. حيثما تسمح الخصوصية، افحص مدخلات خوارزمية التدريب يدويًا. إذا كان ذلك ممكنًا، فتحقق من الإحصاءات في مسار التعلّم لديك مقارنةً بإحصاءات البيانات نفسها التي تمت معالجتها في مكان آخر.
  2. اختبار الحصول على نماذج من خوارزمية التدريب. تأكَّد من أنّ النموذج في بيئة التدريب يمنح الدرجة نفسها التي يمنحها النموذج في بيئة التقديم (راجِع القاعدة رقم 37).

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

القاعدة رقم 6: كن حذرًا بشأن البيانات المسقطة عند نسخ المسارات.

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

القاعدة 7: حوّل الإرشادات إلى ميزات أو تعامل معها خارجيًا.

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

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

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

المراقبة

بشكل عام، يجب التنبّه إلى الإجراءات المناسبة للتنبيه، مثل جعل التنبيهات قابلة للتنفيذ وإنشاء صفحة للوحة البيانات.

القاعدة رقم 8: تعرف على متطلبات حداثة نظامك.

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

القاعدة رقم 9: عليك اكتشاف المشاكل قبل تصدير النماذج.

لدى العديد من أنظمة التعلم الآلي مرحلة يتم فيها تصدير النموذج إلى العرض. إذا كانت هناك مشكلة في نموذج تم تصديره، فهي مشكلة يواجهها المستخدم.

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

القاعدة رقم 10: احذر من الأعطال الصامتة.

هذه مشكلة تحدث في أنظمة تعلُّم الآلة أكثر من الأنواع الأخرى من الأنظمة. لنفترض أن الجدول المعين الذي يتم ضمه لم يعد يتم تحديثه. سيتكيف نظام التعلم الآلي وسيظل السلوك جيدًا على نحو معقول، حيث يتلاشى تدريجيًا. في بعض الأحيان تجد جداول قديمة بأشهر، ويُحسن التحديث البسيط من الأداء أكثر من أي عملية إطلاق أخرى في هذا الربع! قد تتغير تغطية إحدى الميزات بسبب تغييرات في التنفيذ: على سبيل المثال، قد تتم تعبئة عمود ميزة في 90% من الأمثلة، وتنخفض فجأة إلى 60% من الأمثلة. لقد كانت هناك لعبة Play كانت تتضمن منضدة قديمة لمدة 6 أشهر، وأدى تحديث الجدول وحده إلى زيادة بنسبة 2% في معدل التثبيت. إذا تتبّعت إحصاءات البيانات، وفحصت البيانات يدويًا في بعض الأحيان، يمكنك تقليل هذه الأنواع من الإخفاق.

القاعدة رقم 11: اذكر مالكي أعمدة الميزات والوثائق.

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

هدفك الأول

لديك العديد من المقاييس أو القياسات حول النظام الذي يهمّك، ولكن غالبًا ما تتطلب خوارزمية تعلُّم الآلة هدفًا واحدًا، وهو رقم "تحاول" خوارزميتك تحسينه. أنا أميّز هنا بين الأهداف والمقاييس: المقياس هو أيّ رقم يُبلغ عنه النظام في التقارير، والذي قد يكون مهمًا أو لا يكون مهمًا. راجِع أيضًا القاعدة الثانية.

القاعدة 12: لا تبالغ في التفكير في الهدف الذي تختار تحسينه مباشرةً.

فترغب في كسب المال، وإسعاد المستخدمين، وجعل العالم مكانًا أفضل. هناك الكثير من المقاييس التي تهمّك، وعليك قياسها كلها (راجع القاعدة رقم 2). ومع ذلك، في وقت مبكر من عملية التعلم الآلي، ستلاحظ تزايدها جميعًا، حتى تلك التي لم تحسّنها بشكل مباشر. على سبيل المثال، لنفترض أنك تهتم بعدد النقرات والوقت الذي تقضيه على الموقع. إذا أجريت تحسينًا لزيادة عدد النقرات، من المحتمل أن تلاحظ زيادة في الوقت المستغرَق.

لذا، اجعل الأمر بسيطًا ولا تفكر مليًا في الموازنة بين المقاييس المختلفة عندما لا يزال بإمكانك زيادة جميع المقاييس بسهولة. ولكن يجب عدم تطبيق هذه القاعدة بعد فوات الأوان: لا تخلط بين هدفك وسلامة النظام (راجع القاعدة رقم 39). وإذا وجدت نفسك تعمل على زيادة المقياس المحسّن مباشرةً، ولكنك قررت عدم الإطلاق، قد تحتاج إلى إجراء مراجعة موضوعية.

القاعدة رقم 13: اختر مقياسًا بسيطًا وقابلاً للملاحظة ويمكن نسبه إلى هدفك الأول.

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

أسهل شيء يمكن وضع نموذج له هو سلوك المستخدم الذي تتم ملاحظته ونسبه مباشرةً إلى أحد إجراءات النظام:

  • هل تم النقر على هذا الرابط المرتَّب؟
  • هل تم تنزيل هذا العنصر المرتَّب؟
  • هل تمت إعادة توجيه/الرد على هذا العنصر المرتَّب أو إرساله بالبريد الإلكتروني؟
  • هل تم تقييم هذا العنصر المرتَّب؟
  • هل تم وضع علامة على هذا الكائن المعروض كمحتوى غير مرغوب فيه أو محتوى إباحي أو مسيء؟

تجنّب وضع نماذج للتأثيرات غير المباشرة في البداية:

  • هل زار المستخدم في اليوم التالي؟
  • كم من الوقت زار المستخدم الموقع الإلكتروني؟
  • كم كان المستخدمون النشطون يوميًا؟

تصنع التأثيرات غير المباشرة مقاييس رائعة، ويمكن استخدامها أثناء اختبار A/B وأثناء قرارات الإطلاق.

أخيرًا، لا تحاول الاستعانة بالتعلم الآلي لمعرفة ما يلي:

  • هل المستخدم سعيد باستخدام المنتج؟
  • هل المستخدم راضٍ عن التجربة؟
  • هل المنتج يحسن الرفاهية العامة للمستخدم؟
  • كيف سيؤثر هذا على الصحة العامة للشركة؟

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

القاعدة رقم 14: يؤدي البدء بنموذج يمكن تفسيره إلى تسهيل عملية تصحيح الأخطاء.

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

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

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

القاعدة رقم 15: فلترة المحتوى غير المرغوب فيه وترتيب الجودة بشكل منفصل في طبقة سياسة

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

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

المرحلة الثانية من تعلُّم الآلة: هندسة الخصائص

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

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

القاعدة رقم 16: التخطيط لإطلاق التطبيقات وتكرارها

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

  • أنت تطرح ميزات جديدة.
  • أنت بصدد ضبط الإعدادات ودمج الميزات القديمة بطرق جديدة.
  • أنت تضبط الهدف.

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

القاعدة رقم 17: ابدأ بالميزات التي يتم رصدها والإبلاغ عنها مباشرةً بدلاً من الميزات التي تم تعلُّمها.

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

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

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

القاعدة رقم 18: الاستكشاف باستخدام ميزات المحتوى التي يتم تعميمها في سياقات مختلفة

غالبًا ما يمثّل نظام التعلّم الآلي جزءًا صغيرًا من منظومة أكبر بكثير. على سبيل المثال، إذا تخيلت أن هناك مشاركة يمكن استخدامها في المشاركات الساخنة، فإن العديد من الأشخاص سيضيفون مشاركة أو يعيدون نشرها أو يعلقون عليها قبل ظهورها في المشاركات "المشاركات الساخنة". وإذا قدمت هذه الإحصاءات إلى المتعلم، فيمكنها الترويج للمنشورات الجديدة التي لا تحتوي على بيانات لها في السياق الذي تعمل على تحسينه. قد تستخدم ميزة "المشاهدة تاليًا" في YouTube عدد المشاهدات أو المشاهدات مع الآخرين (عدد المرات التي تمّت فيها مشاهدة فيديو بعد مشاهدة فيديو آخر) من بحث YouTube. يمكنك أيضًا استخدام تقييمات المستخدمين الصريحة. أخيرًا، إذا كان لديك إجراء مستخدم تستخدمه كتسمية، فإن رؤية هذا الإجراء على الوثيقة في سياق مختلف يمكن أن تكون ميزة رائعة. تتيح لك كل هذه الميزات إضافة محتوى جديد إلى سياق المحتوى. ملاحظة: هذا الأمر لا يتعلّق بالتخصيص، لذا حاوِل معرفة ما إذا أبدى أحد المستخدمين إعجابه بالمحتوى في هذا السياق أولاً، ثم حدِّد من يعجبه المحتوى أكثر أو أقل.

القاعدة رقم 19: استخدِم ميزات محدّدة للغاية متى أمكن.

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

القاعدة رقم 20: دمج الميزات الحالية وتعديلها لإنشاء ميزات جديدة بطرق مفهومة للإنسان

هناك العديد من الطرق لدمج الميزات وتعديلها. تسمح لك أنظمة تعلُّم الآلة، مثل TensorFlow، بمعالجة بياناتك مسبقًا من خلال عمليات تحويل. الأسلوبان الأكثر شيوعًا هما "التمييز" و "التقاطع".

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

تجمع الصلبان بين عمودين أو أكثر من أعمدة الميزات. ويتكوّن عمود الخصائص في مصطلحات TensorFlow من مجموعة من الخصائص المتجانسة (مثل {male, female} {US, Canada, المكسيك} وهكذا). المتقاطع هو عمود ميزات جديد به ميزات، على سبيل المثال، {male, female} × {US,Canada, المكسيك}. سيحتوي عمود الميزة الجديد هذا على الميزة (ذكر، كندا). إذا كنت تستخدم TensorFlow وطلبت من TensorFlow إنشاء هذا النوع من الإعلانات من أجلك، ستظهر هذه الميزة (الذكور في كندا) في أمثلة تمثّل الذكور الكنديين. لاحظ أن الأمر يتطلب كميات هائلة من البيانات لتعلم نماذج بها ثلاثة أو أربعة أعمدة أو أكثر من أعمدة الميزات الأساسية.

قد تكون الصلبان التي تنتج أعمدة الخصائص الكبيرة للغاية قد تكون مفرطة في التخصيص. على سبيل المثال، تخيل أنك تجري نوعًا ما من البحث، ولديك عمود ميزة يحتوي على كلمات في طلب البحث، ولديك عمود ميزة يحتوي على كلمات في المستند. يمكنك دمج هذه العلامات مع علامة X، ولكن ستحصل في النهاية على الكثير من الميزات (راجِع القاعدة رقم 21).

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

القاعدة رقم 21: يتناسب عدد أوزان الخصائص التي يمكنك تعلمها في النموذج الخطي بشكل تقريبي مع مقدار البيانات المتوفرة لديك.

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

  1. إذا كنت تعمل على نظام لترتيب نتائج البحث وكانت هناك الملايين من الكلمات المختلفة في المستندات وطلب البحث وكان لديك 1,000 مثال مصنّف، عليك استخدام الضرب النقطي بين ميزات المستندات وطلبات البحث TF-IDF، ونصفها من الميزات الأخرى التي يبتكرها المستخدمون بشكل كبير. 1, 000 مثال، وعشرات الميزات.
  2. إذا كان لديك مليون مثال، فعندئذ يتقاطع مع أعمدة ميزات المستند والاستعلام، باستخدام التنظيم وربما تحديد الميزات. سيوفر لك ذلك ملايين الميزات، ولكن مع الانتظام، سيتوفّر لك عدد أقل من الميزات. عشرة ملايين مثال، أو ربما مئة ألف ميزة.
  3. إذا كان لديك المليارات أو مئات المليارات من الأمثلة، يمكنك خلط أعمدة الميزات مع الرموز المميزة للمستندات والاستعلامات، وذلك باستخدام اختيار الميزات والترتيب. سيكون لديك مليار مثال و10 ملايين ميزة. نادرًا ما تعطي نظرية التعلم الإحصائي حدودًا محدودة، ولكنها تقدم إرشادات رائعة لنقطة البداية.

في النهاية، استخدِم القاعدة رقم 28 لتحديد الميزات التي يجب استخدامها.

القاعدة رقم 22: إزالة الميزات التي لم تعُد تستخدمها

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

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

في الوقت نفسه، قد تكون بعض الميزات أكبر من وزنها. على سبيل المثال، إذا كانت لديك ميزة تغطي 1٪ فقط من البيانات، ولكن 90٪ من الأمثلة التي تتضمن الميزة إيجابية، فستكون ميزة رائعة لإضافتها.

التحليل البشري للنظام

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

القاعدة رقم 23: أنت لست مستخدمًا نهائيًا عاديًا.

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

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

إذا كنت تريد حقًا الحصول على ملاحظات المستخدمين، يمكنك استخدام منهجيات تجربة المستخدم. أنشئ شخصيات المستخدم (أحد الأوصاف هو في كتاب Bill Buxton) Sketching User Experiences) في وقت مبكر من العملية وإجراء اختبار قابلية الاستخدام (أحد الوصف في كتاب ستيف كروغ Don’t Make Me Think) لاحقًا. تتضمن شخصيات المستخدم إنشاء مستخدم افتراضي. على سبيل المثال، إذا كان فريقك من الذكور بالكامل، فقد يساعد تصميم شخصية مستخدم أنثى تبلغ من العمر 35 عامًا (مع ميزات المستخدم)، وانظر إلى النتائج التي يحققها بدلاً من 10 نتائج للذكور الذين تتراوح أعمارهم بين 25 و40 عامًا. كما أن جذب أشخاص حقيقيين لمشاهدة ردود فعلهم على موقعك (محليًا أو عن بُعد) في اختبار قابلية الاستخدام يمكن أن يمنحك أيضًا منظورًا جديدًا.

القاعدة رقم 24: قياس الدلتا بين النماذج

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

القاعدة رقم 25: عند اختيار النماذج، يتفوق الأداء النفعي على القدرة التنبؤية.

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

القاعدة رقم 26: البحث عن أنماط الأخطاء التي تم قياسها وإنشاء ميزات جديدة

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

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

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

القاعدة رقم 27: حاول تحديد السلوك غير المرغوب فيه المرصود.

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

القاعدة رقم 28: يجب الانتباه إلى أنّ السلوك المتطابق قصير المدى لا يشير ضمنًا إلى سلوك مماثل على المدى الطويل.

تخيل أن لديك نظامًا جديدًا يبحث في كل doc_id وexact_query، ثم يحسب احتمالية النقر لكل مستند لكل استعلام. وتجد أن سلوكها متطابق تقريبًا مع نظامك الحالي في كلا الأداة جنبًا إلى جنب وفي اختبار A/B، لذا ونظرًا لبساطتها، يمكنك إطلاقها. ومع ذلك، لاحظت أنه لا يتم عرض أي تطبيقات جديدة. لماذا؟ حسنًا، نظرًا لأن النظام لا يعرض مستندًا إلا استنادًا إلى تاريخه الخاص مع طلب البحث هذا، فلا توجد طريقة لمعرفة ما إذا كان يجب عرض مستند جديد.

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

تحريف تقديم التدريب

الانحراف في خدمة التدريب هو الفرق بين الأداء أثناء التدريب والأداء أثناء العرض. ويمكن أن ينتج هذا الانحراف عن:

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

لقد لاحظنا وجود انحراف في الأداء في عرض التدريب يؤثر سلبًا في الأداء بسبب أنظمة الإنتاج في Google. الحل الأفضل هو مراقبته بوضوح حتى لا تؤدي تغييرات النظام والبيانات إلى انحراف غير ملاحظ.

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

حتى إذا لم تتمكّن من تنفيذ هذا الإجراء في كل مثال، يمكنك تنفيذ ذلك مع جزء صغير، حتى تتمكّن من التحقّق من الاتّساق بين عرض الإعلانات والتدريب (راجِع القاعدة رقم 37). كانت الفرق التي قامت بهذا القياس في Google تفاجئ أحيانًا بالنتائج. تحوّلت صفحة YouTube الرئيسية إلى ميزات التسجيل في وقت العرض مع تحسينات كبيرة على الجودة وتقليل تعقيد الرموز، وتغير العديد من الفِرق بنيتها الأساسية في الوقت الحالي.

القاعدة رقم 30: أهمية البيانات المستندة إلى عينة، ولا تسقطها بشكل عشوائي!

عندما يكون لديك الكثير من البيانات، فهناك إغراء أخذ الملفات من 1 إلى 12، وتجاهل الملفات من 13 إلى 99. هذا خطأ. على الرغم من أنه يمكن إسقاط البيانات التي لم يتم عرضها للمستخدم مطلقًا، فإن ترجيح الأهمية هو الأفضل للبقية. يعني ترجيح الأهمية أنك إذا قررت أنك ستأخذ عينة من المثال س باحتمالية 30٪، فامنحها وزنًا 10/3. مع ترجيح الأهمية، تظل جميع خصائص المعايرة التي تمت مناقشتها في القاعدة رقم 14 معلّقة.

القاعدة رقم 31: احذر من أنه في حالة ضم البيانات من جدول خلال وقت التدريب والعرض، فقد تتغير البيانات في الجدول.

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

القاعدة رقم 32: أعِد استخدام الرمز البرمجي بين مسار التدريب ومسار التعلُّم كلما أمكن ذلك.

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

القاعدة رقم 33: إذا أنتجت نموذجًا يستند إلى البيانات حتى 5 كانون الثاني (يناير)، فاختبر النموذج استنادًا إلى البيانات من 6 كانون الثاني (يناير) وبعده.

بشكل عام، يجب قياس أداء النموذج استنادًا إلى البيانات التي تم جمعها بعد البيانات التي درّبت النموذج عليها، لأنّ ذلك يعكس بشكل أفضل ما سيفعله نظامك في الإنتاج. إذا نتجت نموذجًا يستند إلى البيانات حتى 5 كانون الثاني (يناير)، فاختبر النموذج استنادًا إلى البيانات من 6 كانون الثاني (يناير). سوف تتوقع ألا يكون الأداء جيدًا في البيانات الجديدة، لكن لا ينبغي أن يكون أسوأ جذريًا. ونظرًا لأنه قد تكون هناك تأثيرات يومية، فقد لا تتوقع متوسط معدل النقر أو معدل التحويل، ولكن المنطقة تحت المنحنى، والتي تمثل احتمالية إعطاء المثال الإيجابي نتيجة أعلى من المثال السلبي، يجب أن تكون قريبة بشكل معقول.

القاعدة رقم 34: في التصنيف الثنائي للفلترة (مثل اكتشاف الرسائل غير المرغوب فيها أو تحديد الرسائل الإلكترونية المثيرة للاهتمام)، قدّم تضحيات صغيرة قصيرة المدى في ما يتعلق بأداء البيانات النظيفة للغاية.

في مهمة التصفية، لا يتم عرض الأمثلة التي تم وضع علامة عليها باعتبارها سلبية للمستخدم. لنفترض أنّ لديك فلترًا يحظر% 75 من الأمثلة السلبية عند عرض الإعلانات. قد تميل إلى رسم بيانات تدريب إضافية من المثيلات الموضحة للمستخدمين. على سبيل المثال، إذا وضع المستخدم علامة على رسالة بريد إلكتروني كرسالة غير مرغوب فيها يسمح عامل التصفية الخاص بك بالوصول إليها، فقد ترغب في التعلم من ذلك.

لكن هذا النهج يقدم تحيزًا في أخذ العينات. يمكنك جمع بيانات أوضح إذا كنت، بدلاً من ذلك، أثناء العرض، تصنِّف 1% من جميع الزيارات على أنّها "معلّقة"، وأرسلت جميع الأمثلة المعلّقة إلى المستخدم. يحظر الفلتر الآن 74% على الأقل من الأمثلة السلبية. يمكن أن تصبح هذه الأمثلة البارزة بيانات التدريب الخاصة بك.

تجدر الإشارة إلى أنّه إذا كان الفلتر يحظر% 95 من الأمثلة السلبية أو أكثر، يصبح هذا النهج أقل قابلية للتطبيق. ومع ذلك، إذا كنت تريد قياس أداء العرض، فيمكنك عمل عينة أصغر (على سبيل المثال: 0.1% أو 0.001%). يكفي عشرة آلاف مثال لتقدير الأداء بدقة.

القاعدة رقم 35: يجب الانتباه إلى الانحراف الكامن في مشكلات الترتيب.

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

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

القاعدة رقم 36: تجنَّب تكرار الملاحظات باستخدام ميزات تحديد المواضع.

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

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

القاعدة رقم 37: قياس انحراف التدريب/العرض.

هناك العديد من الأشياء التي يمكن أن تسبب الانحراف بالمعنى العام. علاوة على ذلك، يمكنك تقسيمه إلى عدة أجزاء:

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

المرحلة الثالثة من تعلُّم الآلة: تباطؤ النمو وتحسين التحسين والنماذج المعقدة

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

القاعدة رقم 38: لا تهدر الوقت في تطوير ميزات جديدة إذا أصبحت الأهداف غير المتوافقة هي المشكلة.

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

القاعدة رقم 39: قرارات الإطلاق هي وكيل لأهداف المنتجات طويلة المدى.

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

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

يمكن بسهولة اتخاذ قرار بشأن عملية الإطلاق عند تحسين جميع المقاييس (أو على الأقل عدم زيادتها). إذا كان لدى الفريق حرية الاختيار بين خوارزمية تعلُّم الآلة المتطوّرة ونظام استدلالي بسيط، إذا كان الدليل الإرشادي البسيط يعمل بشكل أفضل على جميع هذه المقاييس، يجب أن يختار الموجِّه. علاوة على ذلك، لا يوجد ترتيب صريح لجميع قيم المقاييس المحتملة. على وجه التحديد، ضع في اعتبارك السيناريوهين التاليين:

ميزة تجريبية المستخدمون النشطون يوميًا الأرباح/اليوم
جيم مليون 4 مليون دولار أمريكي
B 2 مليون مليونا دولار أمريكي

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

علاوة على ذلك، لا يتناول أي مقياس المشكلة النهائية للفريق، "أين سيكون منتجي بعد خمس سنوات من الآن"؟

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

القاعدة رقم 40: حافظ على بساطة المقاسات.

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

استخدم نموذجًا بسيطًا للتجميع الذي يأخذ فقط مخرجات النماذج "الأساسية" الخاصة بك كمدخلات. وتريد أيضًا فرض الخصائص على نماذج المجموعات هذه. على سبيل المثال، يجب ألا تؤدي الزيادة في النتيجة التي يحققها النموذج الأساسي إلى خفض نتيجة المجموعة. كما أنه من الأفضل إذا كانت النماذج الواردة قابلة للتفسير دلاليًا (معايرتها) حتى لا تؤدي التغييرات في النماذج الأساسية إلى إرباك نموذج المجموعة. أيضًا، فرض أنّ الزيادة في الاحتمالية المتنبأ بها لأحد المصنِّفات الأساسية لا تقلل الاحتمالية المتوقَّعة من مجموعة المصنِّفات.

القاعدة رقم 41: عند استقرار الأداء، ابحث عن مصادر معلومات جديدة نوعيًا لإضافتها بدلاً من تحسين الإشارات الحالية.

لقد أضفت بعض المعلومات الديموغرافية حول هذا المستخدم. لقد أضفت بعض المعلومات حول الكلمات الموجودة في الوثيقة. لقد مررت باستكشاف القالب وضبطت التنظيم. لم تشهد إطلاقًا بأكثر من 1٪ تحسّن في المقاييس الرئيسية في بضعة أرباع. ما الخطوة التالية التي يجب اتخاذها؟

لقد حان الوقت لبدء بناء البنية التحتية لميزات مختلفة جذريًا، مثل سجلّ المستندات التي وصل إليها هذا المستخدم في آخر يوم، أو أسبوع، أو سنة، أو بيانات من موقع مختلف. استخدِم كيانات wikidata أو شيئًا داخليًا في شركتك (مثل الرسم البياني المعرفي من Google). استخدم التعلم المتعمق. ابدأ في تعديل توقعاتك حول مقدار العائد الذي تتوقعه على الاستثمار، ووسِّع جهودك وفقًا لذلك. كما هو الحال في أي مشروع هندسي، عليك أن توازن فائدة إضافة ميزات جديدة مقابل تكلفة التعقيد المتزايد.

القاعدة رقم 42: لا تتوقّع أن يرتبط التنوّع أو التخصيص أو مدى الصلة بالموضوع بمدى رواجه كما تظن.

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

المشكلة هي أن العادي يميل إلى صعوبة التفوق.

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

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

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

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

هناك العديد من المستندات حول التعلم الآلي في Google بالإضافة إلى المستندات الخارجية.

شكر وتقدير

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

الملحق

يتضمن هذا المستند مراجع متعددة لمنتجات Google. لتقديم المزيد من السياق، أقدم وصفًا موجزًا للأمثلة الأكثر شيوعًا أدناه.

نظرة عامة على YouTube

YouTube هي خدمة لبث الفيديو المباشر. تستخدم فِرق "المشاهدة تاليًا" و"الصفحة الرئيسية في YouTube" نماذج تعلُّم الآلة لترتيب الفيديوهات المقترَحة. تقترح "الصفحة الرئيسية" الفيديوهات لمشاهدتها بعد تشغيل الفيديو حاليًا، بينما تقترح "الصفحة الرئيسية" الفيديوهات على المستخدمين الذين يتصفّحون الصفحة الرئيسية.

نظرة عامة على Google Play

يحتوي Google Play على العديد من النماذج التي تحلّ مجموعة متنوعة من المشاكل. يستخدم كل من "بحث Play" و"الاقتراحات المخصّصة في الصفحة الرئيسية على Play" وتطبيقات "المستخدمون الذين ثبّتوا أيضًا" تكنولوجيا تعلُّم الآلة.

نظرة عامة على Google Plus

استخدم Google Plus تقنية تعلّم الآلة في العديد من المواقف: ترتيب المشاركات في "ساحة مشاركات" المشاركات التي تظهر للمستخدم، وترتيب المشاركات "المشاركات الساخنة" (المشاركات الشائعة جدًا الآن)، وترتيب الأشخاص الذين تعرفهم، وما إلى ذلك. أغلق Google Plus جميع الحسابات الشخصية في عام 2019، واستبدله بمنصة Google Currents لحسابات الأنشطة التجارية في 6 تموز (يوليو) 2020.