لقد أوضحنا في القسم السابق كيفية استخدام تحليل المصفوفات من أجل والتعرف على التضمينات. تتضمن بعض قيود تحليل المصفوفات ما يلي:
- صعوبة استخدام الميزات الجانبية (أي، أي ميزات تتجاوز معرّف طلب البحث/معرّف العنصر). ونتيجةً لذلك، لا يمكن الاستعلام عن النموذج إلا باستخدام مستخدم أو عنصر موجود في مجموعة التطبيق.
- مدى صلة الاقتراحات بموضوع البحث كما رأيت في المرة الأولى Colab، فغالبًا ما يتم التوصية بالعناصر الشائعة للجميع، خاصةً عند استخدام ناتج الضرب النقطي كمقياس تماثل. من الأفضل التقاط صور اهتمامات المستخدم.
يمكن لنماذج الشبكة العصبية العميقة (DNN) أن تعالج هذه القيود المتعلقة بالمصفوفة التحليل إلى العوامل. يمكن للأسماء (DNN) دمج ميزات طلبات البحث وميزات العناصر بسهولة (بسبب مرونة طبقة الإدخال في الشبكة)، يمكن أن يساعد الاهتمام باهتمامات المستخدم المحددة وتحسين مدى صلة والتوصيات لدينا.
Softmax DNN للاقتراح
أحد نماذج DNN المحتملة هو softmax، تتعامل مع المشكلة على أنها مشكلة تنبؤ متعددة الفئات وفيها:
- الإدخال هو طلب بحث المستخدم.
- والناتج هو متجه الاحتمالية وحجمه يساوي عدد العناصر الموجودة في الجزء، تمثل احتمالية التفاعل مع كل عنصر؛ مثل، احتمالية النقر على فيديو YouTube
إدخال
يمكن أن يشمل الإدخال إلى DNN ما يلي:
- الخصائص الكثيفة (على سبيل المثال، وقت المشاهدة ووقت المشاهدة منذ آخر مشاهدة)
- ميزات متناثرة (مثل سجلّ المشاهدة والبلد)
وعلى عكس منهج تحليل المصفوفة إلى عوامل، يمكنك إضافة ميزات جانبية مثل العمر أو البلد. سنشير إلى متجه الإدخال من خلال س.
بنية النموذج
تحدد بنية النموذج مدى تعقيد النموذج وإمكانية التعبير عنه. بإضافة طبقات مخفية ودوال تنشيط غير خطية (على سبيل المثال، ReLU)، أن يلتقط النموذج علاقات أكثر تعقيدًا في البيانات. ومع ذلك، كما تؤدي زيادة عدد المعاملات عادةً إلى صعوبة التدريب وأكثر تكلفة للعرض. سنشير إلى ناتج آخر مخفي طبقة \(\psi (x) \in \mathbb R^d\).
مخرجات Softmax: توزيع الاحتمالية المتوقعة
يعيّن النموذج ناتج الطبقة الأخيرة، \(\psi (x)\)، من خلال softmax. توزيعة احتمالية \(\hat p = h(\psi(x) V^T)\)، حيث:
- \(h : \mathbb R^n \to \mathbb R^n\) هي دالة softmax، من تقديم \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
- \(V \in \mathbb R^{n \times d}\) هي مصفوفة الترجيحات طبقة softmax.
تحدّد طبقة softmax الخط المتجه للدرجات \(y \in \mathbb R^n\) (تسمى أحيانًا logits) على توزيع الاحتمالية.
دالة الخسارة
أخيرًا، حدد دالة الخسارة التي تقارن ما يلي:
- \(\hat p\)، ناتج طبقة softmax (توزيع الاحتمالية)
- \(p\)، الحقيقة الأساسية، التي تمثل العناصر الموجودة لدى المستخدم التفاعل معها (على سبيل المثال، فيديوهات YouTube التي نقر عليها المستخدم أو شاهدها) ويمكن تمثيل ذلك كتوزيع طبيعي متعدد النقاط ( خط متجه الاحتمال).
على سبيل المثال، يمكنك استخدام مقياس الخسارة عبر القصور بما أنك تقارن توزيعين للاحتمالية.
تضمينات Softmax
تُعطى احتمالية العنصر \(j\) بواسطة \(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\)، حيث \(Z\) هو ثابت تسوية لا يعتمد على \(j\).
بعبارة أخرى، \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\)، إذًا، تكون احتمالية السجل لأحد العناصر \(j\) (تصل إلى ثابت الإضافة) الضرب النقطي للخط المتجه الثنائي الأبعاد \(d\)، والذي يمكن تفسيره كتضمينات طلب البحث والعناصر:
- \(\psi(x) \in \mathbb R^d\) هو مخرج آخر طبقة مخفية. ونطلق عليه تضمين الاستعلام \(x\).
- \(V_j \in \mathbb R^d\) هو خط متجه الأوزان التي تربط آخر طبقة مخفية بالمخرج j. ونطلق عليه تضمين العنصر \(j\).
تحليل أسماء المصفوفة (DNN) والمصفوفة
في كل من نموذج softmax ونموذج تحليل المصفوفة، سيتعلم النظام متجه تضمين واحد \(V_j\) لكلّ عنصر \(j\). ما أطلقنا عليه مصفوفة تضمين العناصر \(V \in \mathbb R^{n \times d}\) في المصفوفة ومن ثم، تصبح عملية التحليل إلى عوامل هي مصفوفة ترجيحات طبقة softmax.
ومع ذلك، يختلف تضمين الاستعلام. بدلاً من التعلم تضمين واحد \(U_i\) لكل طلب بحث \(i\)، يتعرّف النظام على عملية ربط من ميزة طلب البحث \(x\) إلى عملية تضمين \(\psi(x) \in \mathbb R^d\). وبالتالي، يمكنك اعتبار نموذج DNN هذا بمثابة تعميم لمصفوفة التحليل إلى عوامل، والذي يتم فيه استبدال جانب طلب البحث بعنصر غير خطي الدالة \(\psi(\cdot)\).
هل يمكنك استخدام ميزات العناصر؟
هل يمكنك تطبيق نفس الفكرة على جانب العنصر؟ أي، بدلاً من تعلم تضمين واحد لكل عنصر، هل يمكن أن يتعلّم النموذج دالة غير خطية العناصر إلى تضمين؟ نعم. للقيام بذلك، استخدم برجين الشبكة العصبونية التي تتكوّن من شبكتين عصبيتين:
- ميزة واحدة لطلب البحث في خرائط الشبكة العصبونية \(x_{\text{query}}\) للبحث عن التضمين \(\psi(x_{\text{query}}) \in \mathbb R^d\)
- ميزات عنصر خرائط عصبية واحدة \(x_{\text{item}}\) إلى تضمين العناصر \(\phi(x_{\text{item}}) \in \mathbb R^d\)
ويمكن تعريف ناتج النموذج على أنه ناتج الضرب النقطي \(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\) يُرجى العِلم أنّ هذا النموذج لم يعُد ضِمن نماذج softmax. يتنبأ النموذج الجديد قيمة واحدة لكل زوج \((x_{\text{query}}, x_{\text{item}})\) بدلاً من متجه الاحتمالية لكل طلب بحث \(x_{\text{query}}\).