אימון סופטקס

בדף הקודם הסבירו איך לשלב שכבת סופטוק ברשת נוירונים עמוקה למערכת המלצות. הדף הזה מספק מבט מעמיק יותר על נתוני האימון של המערכת הזו.

נתוני הדרכה

נתוני האימון של softmax כוללים את תכונות השאילתה \(x\) ווקטור של פריטים שהייתה למשתמש אינטראקציה איתם (המיוצגים כהתפלגות הסתברות \(p\)). הם מסומנים בכחול בדמות הבאה. המשתנים של המודל הם המשקלים בשכבות השונות. הסימונים האלה מסומנים בכתום באיור הבא. לרוב, האימון מתבצע באמצעות כל וריאציה של ירידה הדרגתית בשיפוע.

תמונה ללימוד של רשת נוירונים בעיצוב רך

דגימה שלילית

מכיוון שפונקציית ההפסדים משווה בין שני וקטורים של הסתברות \(p, \hat p(x) \in \mathbb R^n\) (האמת והפלט של המודל, בהתאמה,) חישוב מדרגת השדרוג של ההפסד (בשאילתה אחת \(x\)) יכול להיות יקר באופן אסור, אם הגודל של המאגר \(n\) גדול מדי.

אפשר להגדיר מערכת לחישוב שיפועים רק עבור הפריטים החיוביים (פריטים שפעילים וקטור האמת). עם זאת, אם המערכת מסתמכת על זוגות חיוביים בלבד, המודל עשוי להתקפל, כפי שמוסבר בהמשך.

קיפול
תמונה של מטוס מקופל חלקית, שמוצג בו 3 קבוצות ריבועיות שונות שמייצגות שאילתות, ועיגולים שמייצגים פריטים. לכל קבוצה יש צבע שונה, ושאילתות מקיימות אינטראקציה רק עם פריטים מאותה קבוצה. באיור הבא ההנחה היא שכל צבע מייצג קטגוריה שונה של שאילתות ופריטים. כל שאילתה (המיוצגת כריבוע) מקיימת בעיקר אינטראקציה עם פריטים (המיוצגים בצורת עיגול) באותו צבע. לדוגמה, נניח שכל קטגוריה היא שפה אחרת ב-YouTube. בדרך כלל, משתמש אופייני יבצע אינטראקציה עם סרטונים בשפה מסוימת.

המודל עשוי ללמוד איך למקם את השאילתות/הפריטים שהוטמעו בצבע מסוים (למשל, קרבה נכונה באותו צבע), אבל במקרה, הטמעות בצבעים שונים עשויות להתרחש באותו אזור של מרחב ההטמעה. התופעה הזו, המכונה קיפול, עלולה להוביל להמלצות מזויפות: בזמן השאילתה, המודל עשוי לחזות באופן שגוי את הציון הגבוה של פריט מקבוצה אחרת.

דוגמאות שליליות הן פריטים שמסומנים בתווית "ir relevant" בתגובה לשאילתה נתונה. הצגת הדוגמאות השליליות של המודלים במהלך האימון מורה למודל שההטמעה של קבוצות שונות צריכה להיות דחופה.

במקום להשתמש בכל הפריטים כדי לחשב את ההדרגה (שיכולה להיות יקרת מדי), או להשתמש רק בפריטים חיוביים (שהופכים את המודל לנטוי ככלי), תוכלו להשתמש בדגימה שלילית. בדיוק רב יותר, אתם מחשבים שיפוע משוער באמצעות הפריטים הבאים:

  • כל הפריטים החיוביים (הפריטים שמופיעים בתווית היעד)
  • דגימה של פריטים שליליים (\(j\) ב- \({1, …, n}\))

יש אסטרטגיות שונות לדגימה שלילית:

  • תוכלו לדגום באופן אחיד.
  • אפשר לתת הסתברות גבוהה יותר לפריטים בJ עם ציון גבוה יותר \(\psi(x) . V_j\). אינטואיטיבית, אלה דוגמאות שמניבות את התרומה הגדולה ביותר לגרדיאנט; הדוגמאות האלה נקראות בדרך כלל שליליות שליליות.

על פקטור המטריצות לעומת Softmax

מודלים של DNN פותרים מגבלות רבות של מטריצת מטריצות, אבל לרוב יקרים יותר לאימון ולשאילתה. הטבלה הבאה מסכמת כמה מההבדלים החשובים בין שני המודלים.

פירוק למטריצות DNS Softmax
תכונות שאילתה לא קל לכלול את המודעה. אפשר לכלול את הדוח.
הפעלה במצב התחלתי (cold start) לא קל לטפל בשאילתות או בפריטים שאינם פרטיים. ניתן להשתמש בהיוריסטיקה (לדוגמה, עבור שאילתה חדשה, הטמעה ממוצעת של שאילתות דומות). קל לטפל בשאילתות חדשות.
קיפול אפשר להקטין את הקיפול בקלות על ידי התאמת המשקל שלא תועד ב-WALS. נוטה לקפל. עליך להשתמש בשיטות כמו דגימה שלילית או כוח משיכה.
יכולת התאמה לאימון אפשר להתאים בקלות לגודל גוף גדול מאוד (למשל, מאות מיליוני פריטים או יותר), אבל רק אם מטריצת הקלט קטנה. קשה יותר להתאים לתאגיד גדול מאוד. ניתן להשתמש בחלק מהשיטות, כמו גיבוב, דגימה שלילית וכו'.
יכולת התאמה להצגה הטמעות U, V הן סטטיות וניתן לחשב מראש קבוצה של מועמדים. הטמעת פריטים V היא סטטית וניתן לשמור אותה.

לרוב יש לחשב את הטמעת השאילתות בזמן השאילתה, כך שהמודל יקר יותר להצגה.

בסיכום:

  • פירוק מטריצה הוא בדרך כלל האפשרות הטובה ביותר לשימוש במאגר גדול. קל יותר להגדיל אותה, היא זולה יותר לשאילתה ופחות נופלת לקיפול.
  • המודלים של ה-DNN יכולים לתעד טוב יותר העדפות מותאמות אישית, אבל קשה יותר להתאמן עליהם והמחירים שלהם יקרים יותר. למודלים של DNN יש העדפה ליצירת מטריצות לציונים כי במודל DNN אפשר להשתמש בתכונות נוספות כדי לשפר את הרלוונטיות. כמו כן, בדרך כלל ניתן לכווץ מודלים של DNN, כי בראש ובראשונה מדרגים קבוצה מוגדרת של מועמדים שסוננו מראש לפי רלוונטיות.