تدريب على سوفت ماكس

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

بيانات التدريب

تتألف بيانات تدريب Softmax من ميزات طلب البحث \(x\) وموجّه العناصر التي تفاعل معها المستخدم (تم تمثيلها كتوزيع احتمالية \(p\)). تم وضع علامة باللون الأزرق في الشكل التالي. متغيّرات النموذج هي الأوزان في الطبقات المختلفة. ويتم وضع علامة البرتقالية في الشكل التالي. ويتم تدريب النموذج عادةً باستخدام أي صيغة من النزهات العشوائية المتدرّجة.

صورة تبرز تدريب شبكة عصبية softmax عميقة

العينات السلبية

ونظرًا لأن دالة الخسارة تقارن بين متّجهين للاحتمالية \(p, \hat p(x) \in \mathbb R^n\) (الحقيقة الأساسية وناتج النموذج، على التوالي)، يمكن أن يكون حساب تدرج الخسارة (لطلب بحث واحد \(x\)) مكلفًا بشكلٍ كبير إذا كان حجم المحتوى \(n\) كبيرًا جدًا.

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

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

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

الأمثلة السلبية هي عناصر تم تصنيفها باسم "،&" و"غير ذات صلة"؛ لطلب بحث معيّن. يؤدي عرض الأمثلة السلبية للنموذج أثناء التدريب إلى تعليم النموذج أن تضمين المجموعات المختلفة يجب تحريكها عن بعضها البعض.

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

  • جميع العناصر الإيجابية (العناصر التي تظهر في التصنيف المستهدف)
  • نموذج من العناصر السلبية (\(j\) في \({1, …, n}\))

هناك استراتيجيات مختلفة لأخذ عينات سلبية:

  • يمكنك توفير عيّنة من المحتوى بشكل موحّد.
  • يمكنك منح الأولوية أعلى للعناصر j التي تحقق نتيجة أعلى \(\psi(x) . V_j\). غالبًا ما تكون هذه الأمثلة هي الأكثر تأثيرًا في التدرج اللوني، وغالبًا ما تُسمى هذه الكلمات السلبية السلبية.

معلومات عن مصفوفة المصفوفة مقابل بيانات Softmax

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

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

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

باختصار:

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