הטמעות: תרגום למרחב עם פחות מידות

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

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

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

איור 3.  לאורך ציר כריכים, מהקטן ביותר עד לרוב:
    בורשט, סלט, פיצה, נקניקייה, שווארמה.
איור 3. מאכלים לצד ממד דמיוני של 'כריכות'.

איפה בשורה הזו apple strudel נפילה? סביר להניח שניתן למקם אותו בין hot dog לבין shawarma. אבל תפוח נראה של-שטרודל יש גם מימד נוסף של מתוק האוכל) או הקינוח (עד כמה האוכל דומה לקינוח) שגורם היא שונה מאוד מהאפשרויות האחרות. האיור הבא מדגים את זה על ידי הוספת 'קינוח' מידות:

איור 4.  אותה תמונה כמו קודם, אבל עם ציר אנכי של
    לקינוחים. שטרודל תפוחים נמצא בין נקניקייה לשווארמה, אבל גבוה
    בציר האופקי, אבל במעלה ציר הקינוח.
איור 4. מאכלים שמוצגים על ידי "כריכים" ו'קינוח'.

הטמעה מייצגת כל פריט בשטח ממדי של n עם n מספרים בעלי נקודה צפה (floating-point) (בדרך כלל בטווח 1-1 או 0 עד 1). לדוגמה, ההטמעה באיור 4 מייצגת כל ארוחה שטח דו-ממדי עם שתי קואורדינטות. את שם הפריט "Apple strudel" נמצא ב הריבוע הימני העליון של הגרף, ואפשר להקצות לו את הנקודה (0.5, 0.3), לעומת 'נקניקייה' נמצאת בריבוע הימני התחתון של הגרף ואפשר להקצות לו את הנקודה (0.2, –0.5).

בהטמעה, ניתן לחשב את המרחק בין שני פריטים כלשהם מתמטית, וניתן לפרש אותו כדמיון היחסי בין שני הסוגים פריטים. שני דברים שקרובים זה לזה, כמו shawarma ו-hot dog באיור 4 יש קשר הדוק יותר משני דברים רחוקים יותר אחר, כמו apple strudel ו-borscht.

שימו לב גם שבמרחב הדו-ממדי באיור 4, apple strudel רחוק יותר מ-shawarma ומ-hot dog מאשר במרחב הדו-ממדי, שתואם אינטואיטיביות: apple strudel לא דומה לנקניקייה או לשווארמה כמו נקניקייה כלבים ושווארמות הם זה לזה.

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

איור 5.  אותה תמונה כמו קודם, אבל עם ציר שלישי של נזילות
    אורתוגונלית לשני הציר, ובורשט התקדם למרחק גדול לאורך הציר הזה.
איור 5. מאכלים שמוצגים לפי "כריכים" 'קינוחים', וגם 'נזילות'.

איפה במרחב התלת-ממדי הזה tangyuan go? זו כמו מרקים, כמו בורשט וקינוח מתוק, כמו שטרודל תפוחים, וכמובן ולא כריך. הנה מיקום אפשרי אחד:

איור 6. אותה תמונה כמו קודם, אבל טנג'יואן ממוקמת במיקום גבוה
    כמה קינוחים ונוזלים, או בלי כריכים.
איור 6. מוסיף טנגיואן לתמונה הקודמת, בעוצמה גבוהה 'קינוח' וגם 'נזילות' ונמוכה על 'כריכים'.

שימו לב כמה מידע מופיע בשלושת המאפיינים האלה. אפשר לדמיין מאפיינים נוספים, כמו שביעות רצון או אפייה.

מרחבי הטמעה בעולם האמיתי

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

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

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

פעילות גופנית

בתרגיל זה נשתמש בהטמעה הכלי Projector להצגת מילה שנקראת word2vec, שמייצג יותר מ-70,000 מילים באנגלית מבחינה נומרית במרחב וקטורי.

משימה 1

מבצעים את המשימות הבאות ועונים על השאלה שלמטה.

  1. פותחים את הכלי Embedding Projector.

  2. בחלונית השמאלית, מזינים את המילה Atom בשדה חיפוש. לאחר מכן לוחצים על המילה אטום בתוצאות שלמטה (פחות מ-4 התאמות). שלך המסך אמור להיראות כמו איור 8.

    איור 8. צילום מסך של הכלי Embedding Projector, עם 'atom'
    שהוזן בשדה החיפוש (מוקף באדום). התצוגה החזותית
    במרכז הכלי מסמן עכשיו אחת מהנקודות עם המילה 'Atom',
    וגם מוסיף הערות מילוליות לנקודות קרובות. בקרבת מקום
    נקודות המילים 'אטומים', 'מולקולה' ו'אלקטרונים' רשומות
    בתור המילים הקרובות ביותר במרחב הווקטורי ל-'atom'.
    איור 8. כלי מקרן מוטמע עם המילה 'Atom' נוסף בשדה החיפוש (מוקף באדום).
  3. שוב, בחלונית השמאלית, לוחצים על הלחצן בידוד 101 נקודות (למעלה השדה חיפוש) כדי להציג את 100 המילים הקרובות ביותר ל-Atom. במסך אמור להיראות כמו איור 9.

    איור 9. צילום מסך של הכלי Embedding Projector, עכשיו עם
    'בידוד 101 נקודות' בוצעה לחיצה (הלחצן מוקף בעיגול באדום). התצוגה החזותית
    מאיור 8 עודכן עכשיו ועכשיו הוא מציג רק את המילה 'Atom',
    את 100 המילים הקרובות ביותר במרחב וקטורי, כולל המילים 'אטומים',
    'גרעין' ו'חלקיק'.
    איור 9. כלי הטמעה של מקרן, עכשיו עם "בידוד 101 נקודות" שלחצו עליהן (מוקף באדום).

עכשיו בודקים את המילים שמפורטות בקטע הנקודות הכי קרובות במרחב המקורי. איזה תיאור מתאים לדעתך למילים האלה?

ניתן ללחוץ כאן כדי לקבל את התשובה שלנו

רוב המילים הקרובות ביותר הן מילים שמשויכות לעיתים קרובות במילה אטום, כמו צורת הרבים 'אטומים', ואת המילים 'electron', 'molecule', ו'גרעין'.

משימה 2

מבצעים את המשימות הבאות ועונים על השאלה הבאה:

  1. לוחצים על הלחצן הצגת כל הנתונים בחלונית השמאלית כדי לאפס את הנתונים. להמחשה ממשימה 1.

  2. בחלונית השמאלית, מזינים את המילה אורניום בשדה חיפוש. המסך אמור להיראות כמו איור 10.

    איור 10. צילום מסך של הכלי Embedding Projector, עם 'uranium'
    שהוזן בשדה החיפוש. התצוגה החזותית במרכז
    והכלי מסמן אחת מהנקודות עם המילה 'אורניום', וגם מוסיף
    הערות מילוליות לנקודות קרובות. ב'נקודות הקרוב ביותר' list, the
    המילים 'פחם', 'איזוטופי', 'ניקל', 'תחמוצת', 'או', 'אבץ' וגם
    'מנגנזית' מופיעות בתור המילים הקרובות ביותר במרחב הווקטורי
    'אורניום'.
    איור 10. כלי מקרן מוטמע עם המילה "אורניום" נוסף בשדה החיפוש.

בודקים את המילים שמפורטות בקטע הנקודות הכי קרובות במרחב המקורי. איך האם המילים האלה שונות מהמילים הקרובות ביותר של Atom?

ניתן ללחוץ כאן כדי לקבל את התשובה שלנו

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

משימה 3

מבצעים את המשימות הבאות ועונים על השאלה הבאה:

  1. לוחצים על הלחצן הצגת כל הנתונים בחלונית השמאלית כדי לאפס את הנתונים. להמחשה ממשימה 2.

  2. בחלונית השמאלית, מזינים את המילה כתום בשדה חיפוש. שלך המסך אמור להיראות כמו איור 11.

    איור 11. צילום מסך של הכלי Embedding Projector, עם 'orange'
    שהוזן בשדה החיפוש. התצוגה החזותית במרכז הכלי
    מסמן אחת מהנקודות במילה 'כתום', ומוסיף
    הערות לגבי נקודות בקרבת מקום. ב'נקודות הקרובות ביותר' list,
    המילים 'צהוב', 'ירוק', 'כחול', 'סגול' ו'צבעים' רשומות
    בתור המילים הקרובות ביותר במרחב וקטורי ל-'כתום'.
    איור 11. כלי מקרן מוטמע עם המילה "כתום" נוסף בשדה החיפוש.

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

ניתן ללחוץ כאן כדי לקבל את התשובה שלנו

כמעט כל המילים הקרובות ביותר הן צבעים אחרים, כמו 'צהוב', "green, " "blue", "סגול", ו'אדום'. רק אחת מהמילים הקרובות ביותר ("מיץ") להתייחס למשמעות האחרת של המילה (פרי הדר). פירות אחרים שאתם מצפים לראות, כמו "apple" ו'בננה', לא נכנס לרשימה של את המונחים הקרובים ביותר.

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