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

איפה ימוקם הפריט שטרודל תפוחים בסולם הזה? אפשר למקם אותו בין hot dog
לבין shawarma
. אבל נראה שלשטרודל תפוחים יש ממד נוסף של מתיקות או קינוחיות, שמבדיל מאוד בינו לבין שאר האפשרויות.
האיור הבא ממחיש את זה באמצעות ממד נוסף של "קינוחיות":

הטמעה מייצגת כל פריט במרחב n-ממדי עם n מספרים עשרוניים (בדרך כלל בטווח של -1 עד 1, או 0 עד 1). ההטמעה באיור 3 מייצגת כל מאכל במרחב חד-ממדי עם קואורדינטה אחת בלבד, ואילו ההטמעה באיור 4 מייצגת כל מאכל במרחב דו-ממדי עם שתי קואורדינטות. באיור 4, הפריט "שטרודל תפוחים" נמצא ברביע הימני העליון בתרשים וניתן להקצות לו את הנקודה (0.5, 0.3), ואילו הפריט "נקניקייה בלחמנייה" נמצא ברביע הימני התחתון בתרשים וניתן להקצות לו את הנקודה (0.2, -0.5).
בכל הטמעה, אפשר לחשב את המרחק בין כל זוג פריטים באופן מתמטי, ולפרש אותו כמדד לדמיון היחסי בין שני הפריטים. שני פריטים קרובים, כמו shawarma
ו-hot dog
באיור 4, קשורים יותר זה לזה בייצוג של הנתונים במודל לעומת שני פריטים שרחוקים יותר זה מזה, כמו apple strudel
ו-borscht
.
שימו לב גם שבמרחב הדו-ממדי שבאיור 4, הפריט apple strudel
רחוק הרבה יותר מהפריטים shawarma
ו-hot dog
בהשוואה למרחק במרחב החד-ממדי. המצב הזה הגיוני ואינטואיטיבי: רמת הדמיון בין apple strudel
(שטרודל תפוחים) לבין נקניקייה בלחמנייה או שווארמה שונה מרמת הדמיון בין נקניקייה בלחמנייה לבין שווארמה.
עכשיו נבחן את הבורשט – הוא נוזלי הרבה יותר משאר הפריטים. כלומר יש ממד שלישי – נוזליות – שמציין עד כמה המאכל נוזלי. אחרי שמוסיפים את הממד הזה, ניתן להמחיש את הפריטים בתלת-ממד באופן הבא:

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

שימו לב לכמות המידע שבאה לידי ביטוי בשלושת הממדים האלה. אפשר להוסיף עוד ממדים כמו מידת הבשריות או האפייה של המאכל, אבל קשה להמחיש מרחבים עם 4-5 ממדים או יותר.
מרחבי הטמעה בעולם האמיתי
בעולם האמיתי, מרחבי ההטמעה הם d-ממדיים, והערך של d גבוה הרבה יותר מ-3 אבל נמוך יותר מהממדיות של הנתונים. כמו כן, לפעמים הקשרים בין פריטי הנתונים פחות אינטואיטיביים ממה שמוצג באיור שלמעלה. בהטמעות של מילים, הערך של d הוא בדרך כלל 256, 512 או 1024.1
בפועל, מי שמפתח את למידת המכונה מגדיר בדרך כלל את המשימה הספציפית ומספר הממדים של ההטמעה. המודל מנסה לסדר את הדוגמאות ששימשו לאימון כך שיהיו קרובות במרחב הטמעה עם מספר הממדים שצוין. אם הערך d לא קבוע, הוא מנסה להתאים לבד את מספר הממדים. לעיתים רחוקות הממדים הספציפיים מובָנים כמו "קינוחיות" או "נוזליות". לפעמים אפשר להסיק את "המשמעות" שלהם, אבל לא תמיד.
בדרך כלל ההטמעות ספציפיות למשימה, והן משתנות אם המשימה משתנה. לדוגמה, מודל לסיווג מנות טבעוניות ולא טבעוניות יוצר הטמעות שונות מאלה שיוצר מודל שמציע מנות לפי השעה ביום או העונה. סביר להניח שהפריטים "דגני בוקר" ו"חביתה" יהיו קרובים זה לזה במרחב ההטמעה של מודל לפי השעה ביום, אבל הם יהיו רחוקים זה מזה במרחב ההטמעה של מודל לפי מנות טבעוניות ולא טבעוניות.
הטמעות סטטיות
אומנם ההטמעות משתנות ממשימה למשימה, אבל יש משימה אחת שאפשר ליישם באופן נרחב למדי: חיזוי ההקשר של מילה. מודלים שעברו אימון במטרה לחזות את ההקשר של מילה יוצאים מנקודת הנחה שיש קשר סמנטי בין מילים שמופיעות בהקשרים דומים. לדוגמה, אם נתוני אימון שכוללים את המשפטים "הם רכבו על חמור במורד הגבעות" ו"הם רכבו על סוס במורד הגבעה", סימן שהמילה "סוס" מופיעה בהקשרים דומים למילה "חמור". מתברר שהטמעות שמבוססות על דמיון סמנטי מתאימות מאוד להרבה משימות לשוניות כלליות.
המודל word2vec עדיין מתאים להמחשה, למרות שזו דוגמה ישנה והרבה מודלים אחרים כבר החליפו אותו. המודל word2vec
עובר אימון על קורפוס של מסמכים במטרה ליצור הטמעה גלובלית יחידה לכל מילה. הטמעה שבה לכל מילה או פריט נתונים יש וקטור הטמעה יחיד נקראת הטמעה סטטית. הסרטון הבא ממחיש בצורה פשוטה את תהליך האימון של word2vec
.
מחקרים מראים שאחרי תהליך האימון, ההטמעות הסטטיות האלה כוללות מידע סמנטי במידה מסוימת, בייחוד בקשרים בין מילים. כלומר, מילים שמופיעות בהקשרים דומים יהיו קרובות יותר זו לזו במרחב הטמעה. וקטורי ההטמעה הספציפיים שייווצרו יהיו תלויים בקורפוס ששימש לאימון. לפרטים נוספים: T. Mikolov et al (2013), "Efficient estimation of word representations in vector space".
-
François Chollet, Deep Learning with Python (Shelter Island, NY: Manning, 2017), 6.1.2. ↩