Embedding (NLP) (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

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

הגדרה ומושג

פורמלית, אמבדינג הוא פונקציית מיפוי f:Xd, כאשר X — מרחב האובייקטים המקורי (למשל, אוצר מילים), ו-d — מרחב וקטורי רב-ממדי (מרחב האמבדינגים) בעל ממדיות d. הממדיות d קטנה משמעותית מממדיות המרחב המקורי, מה שהופך ייצוגים אלה לצפופים (dense).

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

עקרונות יסוד של אמבדינגים

  • ממדיות קבועה: כל האובייקטים ממופים לוקטורים באורך זהה, ללא תלות בגודל הנתונים המקוריים (למשל, אורך המשפט).
  • קרבה סמנטית: המרחק בין הוקטורים (הנמדד לרוב באמצעות דמיון קוסינוסי) משקף את הקרבה הסמנטית בין האובייקטים המקוריים.
  • תמיכה בפעולות מתמטיות: הוקטורים שומרים על יחסים סמנטיים, המאפשרים לבצע עליהם פעולות אלגבריות. דוגמה קלאסית: вектор(«король»)вектор(«мужчина»)+вектор(«женщина»)вектор(«королева»).

היסטוריה והתפתחות

גישות מוקדמות (שנות ה-1980–2000)

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

עידן Word2Vec (2013)

רגע מהפכני היה פיתוח Word2Vec על ידי צוות Google בהובלת Tomas Mikolov בשנת 2013. Word2Vec הציע שתי ארכיטקטורות יעילות וחסכוניות מבחינה חישובית לאימון אמבדינגים של מילים:

  • CBOW (Continuous Bag of Words): מנבא את המילה המרכזית על בסיס ההקשר הסובב אותה.
  • Skip-gram: מנבא מילות הקשר על פי המילה המרכזית.

Word2Vec הפך לממשה הפופולרית הראשונה של ייצוגים וקטוריים, במידה רבה הודות לקוד הפתוח ולמהירות עבודה גבוהה.

התפתחות גישות חלופיות

לאחר Word2Vec הופיעו מודלים משמעותיים נוספים של אמבדינגים סטטיים:

  • GloVe (2014): מודל שפותח באוניברסיטת סטנפורד, המשתמש בסטטיסטיקה גלובלית של שכיחות הופעה משותפת של מילים לאימון הוקטורים.
  • FastText (2015): מודל של Facebook, המתחשב במורפולוגיה של מילים וייצוג כל מילה כסכום וקטורים של n-גרמות תווים שלה. גישה זו מאפשרת ליצור אמבדינגים אפילו עבור מילים שלא היו בצבר האימון (מילים Out-of-Vocabulary).

עידן ה-transformer והאמבדינגים הקונטקסטואליים (2018–עד היום)

פריצת דרך התרחשה עם הופעת ארכיטקטורת ה-transformer ומודל BERT (2018). זה הוביל להופעת אמבדינגים קונטקסטואליים, שבהם הייצוג הוקטורי של מילה תלוי בהקשר השימוש בה. בניגוד לייצוגים סטטיים, שבהם למילה «מפתח» היה אותו וקטור בכל הקשר, מודלים קונטקסטואליים מייצרים אמבדינגים שונים לכל מקרה.

סוגי אמבדינגים

לפי רמת הייצוג

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

לפי קונטקסטואליות

  • אמבדינגים סטטיים: לכל מילה מוקצה וקטור קבוע אחד, ללא תלות בהקשר (Word2Vec, GloVe, FastText).
  • אמבדינגים קונטקסטואליים: מייצרים ייצוגים שונים לאותה מילה בהתאם לסביבתה. נציגים עיקריים:
    • BERT: מודל דו-כיווני המבוסס על transformer.
    • ELMo: מודל LSTM דו-כיווני.
    • RoBERTa, DistilBERT, ALBERT: גרסאות משופרות של BERT.

לפי מודאליות

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

ארכיטקטורות ושיטות אימון

שיטות קלאסיות

  • קידוד one-hot: השיטה הפשוטה ביותר, שבה כל מילה מקודדת בוקטור בגודל אוצר המילים עם ערך 1 במיקום המתאים. חסרונות: דלילות גבוהה והיעדר מידע סמנטי.
  • פירוק מטריצות: שיטות הפחתת ממדיות (למשל, LSA), המיושמות על מטריצות שכיחות הופעה משותפת של מילים.

ארכיטקטורות רשתות נוירונים

  • רשתות נוירונים רדודות: ארכיטקטורות CBOW ו-Skip-gram ב-Word2Vec משתמשות ברשתות נוירונים דו-שכבתיות לאימון יעיל.
  • Transformer: ארכיטקטורה שחוללה מהפכה בתחום הודות למנגנון ה-attention.

גישות מודרניות

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

יישומי אמבדינגים

אמבדינגים מוצאים שימוש נרחב בתחומים שונים:

עיבוד שפה טבעית

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

מערכות המלצה

אמבדינגים של משתמשים ופריטים עומדים בבסיס מערכות המלצה מותאמות אישית, לרבות:

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

ראיית מחשב

  • סיווג וחיפוש תמונות: רשתות נוירונים קונבולוציוניות ו-Vision Transformers יוצרים אמבדינגים של תמונות לסיווגן ולחיפוש דומים ויזואלית.

ביואינפורמטיקה ורפואה

  • ניתוח נתונים רפואיים: ניתוח רשומות קליניות ואבחון מחלות.
  • ייצוגים מולקולריים: יצירת אמבדינגים לניבוי תכונות של תרכובות כימיות.

היבטים טכניים ואופטימיזציה

  • שיטות אופטימיזציה של ממדיות: Matryoshka Representation Learning (MRL) — גישה חדשנית המאפשרת לקבל אמבדינגים בממדיות שונה ממודל אחד, תוך ריכוז המידע החשוב בתחילת הוקטור.
  • קוונטיזציה של אמבדינגים: הפחתת דיוק ייצוג המספרים (למשל, ל-8 או 4 ביט) לשם האצת חישובים וחיסכון בזיכרון.
  • אינטגרציה עם מסדי נתונים: מסדי נתונים וקטוריים מודרניים (למשל, Milvus, Pinecone) והרחבות למסדי נתונים מסורתיים (למשל, pgvector עבור PostgreSQL) מאפשרים אחסון וחיפוש יעילים של אמבדינגים.

קישורים

  • ייצוג וקטורי של מילים — ויקיפדיה
  • ייצוג וקטורי של מילים — NEERC

ספרות

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.