تدريب الموصى العميق الواسع &

توضح هذه المقالة كيفية استخدام مكون "الموصي العميق الواسع & للقطار" في مصمم Azure التعلم الآلي لتدريب نموذج توصية. يعتمد هذا المكون على التعلم العميق الواسع & ، والذي تقترحه Google.

يقرأ مكون Train Wide & Deep Recommendation مجموعة بيانات من الثلاثية لتصنيف عنصر المستخدم، واختياريا، بعض ميزات المستخدم والعنصر. يقوم بإرجاع موصي Wide & Deep مدرب. يمكنك بعد ذلك استخدام النموذج المدرب لإنشاء تنبؤات أو توصيات تصنيف باستخدام مكون Score Wide و Deep Recommender .

المزيد حول نماذج التوصيات والتوصية العميقة الواسعة &

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

هناك نهجان رئيسيان لأنظمة التوصية.

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

يجمع موصي Wide & Deep بين هذه الأساليب ، باستخدام التصفية التعاونية مع نهج قائم على المحتوى. لذلك يعتبر موصيا هجينا.

كيف يعمل هذا: عندما يكون المستخدم جديدا نسبيا على النظام ، يتم تحسين التنبؤات من خلال الاستفادة من معلومات الميزة حول المستخدم ، وبالتالي معالجة مشكلة "البداية الباردة" المعروفة. ومع ذلك ، بمجرد جمع عدد كاف من التقييمات من مستخدم معين ، من الممكن إجراء تنبؤات مخصصة بالكامل لهم بناء على تقييماتهم المحددة بدلا من ميزاتهم وحدها. وبالتالي ، هناك انتقال سلس من التوصيات القائمة على المحتوى إلى التوصيات القائمة على التصفية التعاونية. حتى في حالة عدم توفر ميزات المستخدم أو العنصر، سيظل Wide & Deep الموصى به يعمل في وضع التصفية التعاونية الخاص به.

يمكن العثور على مزيد من التفاصيل حول موصي Wide & Deep والخوارزمية الاحتمالية الأساسية في الورقة البحثية ذات الصلة: Wide & Deep Learning لأنظمة التوصية.

كيفية تكوين تدريب الموصى العميق واسعة &

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

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

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

يجب أن تحتوي بيانات الإدخال المستخدمة في التدريب على النوع الصحيح من البيانات بالتنسيق الصحيح:

  • يجب أن يحتوي العمود الأول على معرفات المستخدم.
  • يجب أن يحتوي العمود الثاني على معرفات العناصر.
  • يحتوي العمود الثالث على تصنيف زوج عنصر المستخدم. يجب أن تكون قيم التصنيف من النوع الرقمي.

على سبيل المثال، قد تبدو مجموعة نموذجية من تقييمات عناصر المستخدم كما يلي:

معرّف المستخدم معرف الفيلم التصنيف
1 68646 10
223 31381 10

مجموعة بيانات ميزات المستخدم (اختياري)

يجب أن تحتوي مجموعة بيانات ميزات المستخدم على معرفات للمستخدمين، وأن تستخدم نفس المعرفات التي تم توفيرها في العمود الأول من مجموعة بيانات تقييمات المستخدمين-العناصر. يمكن أن تحتوي الأعمدة المتبقية على أي عدد من الميزات التي تصف المستخدمين.

على سبيل المثال، قد تبدو مجموعة نموذجية من ميزات المستخدم كما يلي:

معرّف المستخدم العمر ‏‏النوع اهتمام ‏‏الموقع
1 25 ذكر دراما أوروبا
223 40 أنثى الرومانسيه آسيا

مجموعة بيانات ميزات العنصر (اختياري)

يجب أن تحتوي مجموعة بيانات ميزات العنصر على معرفات العناصر في عمودها الأول. يمكن أن تحتوي الأعمدة المتبقية على أي عدد من الميزات الوصفية للعناصر.

على سبيل المثال، قد تبدو مجموعة نموذجية من ميزات العنصر كما يلي:

معرف الفيلم العنوان اللغة الأصلية الانواع Year
68646 العراب الإنجليزية دراما 1972
31381 ذهب مع الريح الإنجليزية المحفوظات 1939

تدريب النموذج

  1. أضف مكون "الموصى العريض والعميق" إلى تجربتك في المصمم، وقم بتوصيله بمجموعة بيانات التدريب.

  2. إذا كان لديك مجموعة بيانات منفصلة من ميزات المستخدم و/أو ميزات العنصر، فقم بتوصيلها بمكون "الموصى الواسع والعميق ".

    • مجموعة بيانات ميزات المستخدم: الاتصال مجموعة البيانات التي تصف المستخدمين إلى الإدخال الثاني.
    • مجموعة بيانات ميزات العنصر: الاتصال مجموعة البيانات التي تصف العناصر إلى الإدخال الثالث.
  3. العصور: تشير إلى عدد المرات التي يجب أن تعالج فيها الخوارزمية بيانات التدريب بأكملها.

    وكلما زاد هذا العدد، زاد كفاية التدريب؛ ومع ذلك ، فإن التدريب يكلف المزيد من الوقت وقد يسبب الإفراط في التركيب.

  4. حجم الدفعة: اكتب عدد أمثلة التدريب المستخدمة في خطوة تدريبية واحدة.

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

  5. محسن الجزء العريض: حدد محسن واحد لتطبيق التدرجات على الجزء العريض من النموذج.

  6. معدل تعلم المحسن الواسع: أدخل رقما بين 0.0 و 2.0 يحدد معدل تعلم محسن الجزء الواسع.

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

  7. بعد الميزة المتقاطعة: اكتب البعد عن طريق إدخال معرفات المستخدم المطلوبة وميزات معرف العنصر.

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

  8. محسن الجزء العميق: حدد محسن واحد لتطبيق التدرجات على الجزء العميق من النموذج.

  9. معدل تعلم المحسن العميق: أدخل رقما بين 0.0 و 2.0 يحدد معدل تعلم محسن الجزء العميق.

  10. بعد تضمين المستخدم: اكتب عددا صحيحا لتحديد بعد تضمين معرف المستخدم.

    يقوم الموصى العميق الواسع & بإنشاء تضمينات معرف المستخدم المشترك وتضمين معرف العنصر لكل من الجزء العريض والجزء العميق.

  11. بعد تضمين العنصر: اكتب عددا صحيحا لتحديد بعد تضمين معرف العنصر.

  12. بعد تضمين المعالم الفئوية: أدخل عددا صحيحا لتحديد أبعاد تضمينات المعالم الفئوية.

    في المكون العميق من الموصى Wide & Deep ، يتم تعلم متجه تضمين لكل ميزة فئوية. وتشترك متجهات التضمين هذه في نفس البعد.

  13. الوحدات المخفية: اكتب عدد العقد المخفية للمكون العميق. يتم فصل رقم العقد في كل طبقة بفواصل. على سبيل المثال، من خلال الكتابة "1000,500,100"، يمكنك تحديد المكون العميق الذي يحتوي على ثلاث طبقات، حيث تحتوي الطبقة الأولى حتى الأخيرة على التوالي على 1000 عقدة و500 عقدة و100 عقدة.

  14. وظيفة التنشيط: حدد وظيفة تنشيط واحدة مطبقة على كل طبقة ، والافتراضي هو ReLU.

  15. التسرب: أدخل رقما بين 0.0 و 1.0 لتحديد احتمال إسقاط المخرجات في كل طبقة أثناء التدريب.

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

  16. تطبيع الدفعات: حدد هذا الخيار لاستخدام تطبيع الدفعات بعد كل طبقة مخفية في المكون العميق.

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

  17. شغل البنية الأساسية.

ملاحظات فنية

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

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

الخطوات التالية

راجع مجموعة المكونات المتوفرة في Azure التعلم الآلي.