Encoder (Transformer) (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

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

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

מושג ומטרה

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

וקטור מקודד זה יכול לשמש לאחר מכן:

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

המקודד בארכיטקטורות שונות

המקודד ב-autoencoder

אחת הדוגמאות הקלאסיות היא ארכיטקטורת ה-autoencoder. היא מורכבת משני חלקים:

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

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

המקודד ברשתות נוירונים רקורנטיביות (RNN/LSTM)

לפני הופעת ארכיטקטורת ה-Transformer, מקודדים במשימות עיבוד רצפים (seq2seq) נבנו על בסיס רשתות נוירונים רקורנטיביות (RNN) או הגרסה המשופרת שלהן, LSTM.

  • עיקרון הפעולה: מקודד RNN מעבד את רצף הכניסה token אחד בכל פעם. בכל שלב הוא מעדכן את מצבו הסמוי, תוך שילוב מידע על ה-token הנוכחי והמצב הקודם. המצב הסמוי הסופי, המתקבל לאחר עיבוד כל הרצף, נחשב לוקטור המקודד את משמעות כל רצף הכניסה. וקטור זה נקרא לעיתים קרובות וקטור הקשרי או "וקטור מחשבה" (thought vector).

המקודד בארכיטקטורת Transformer

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

מקודד ה-Transformer מורכב מערימה (N) של שכבות זהות. לכל שכבה שני תת-שכבות עיקריות:

  1. תשומת לב עצמית רב-ראשית (Multi-Head Self-Attention): מנגנון זה מאפשר לכל token ברצף הכניסה "לשים לב" לכל שאר ה-tokenים ולשקול את חשיבותם לצורך יצירת הייצוג ההקשרי שלו. הדבר מאפשר למודל לתפוס תלויות מורכבות בין מילים, ללא קשר למיקומן.
  2. רשת נוירונים מחוברת לחלוטין (Feed-Forward Network): מיושמת על ייצוג כל token בנפרד לצורך המרה לא-לינארית נוספת.

ההבדל המרכזי בין מקודד Transformer למקודד RNN הוא שבמוצא הוא אינו מייצר וקטור הקשרי אחד, אלא רצף של וקטורים מוקשרים — אחד לכל token כניסה. כל וקטור כזה מכיל מידע על ה-token שלו בהקשר של כל הרצף.

סוגי מודלים המבוססים על מקודד

מודלים של מקודד-מפענח

זוהי ארכיטקטורה קלאסית למשימות המרת רצף לרצף (seq2seq), כגון תרגום מכוני או סיכום.

  • עיקרון הפעולה: המקודד מעבד את כל רצף הכניסה (לדוגמה, משפט בשפת המקור). ייצוגי הפלט שלו מועברים לאחר מכן למפענח, אשר באמצעותם מייצר באופן אוטו-רגרסיבי את רצף הפלט (משפט בשפת היעד). המפענח "מביט" על פלט המקודד באמצעות מנגנון מיוחד של תשומת לב צולבת (cross-attention).
  • דוגמאות: ה-Transformer המקורי, T5, BART.

מודלים של מקודד בלבד (Encoder-Only)

מודלים אלו משתמשים אך ורק בערימת מקודדי Transformer.

  • עיקרון הפעולה: הם מיועדים למשימות הדורשות הבנה עמוקה של הקשר כל טקסט הכניסה. בזכות האופי הדו-כיווני של מנגנון תשומת הלב העצמית, הם יוצרים ייצוגים הקשריים עשירים לכל token.
  • יישום: אידיאליים למשימות ניתוח והבנת שפה (NLU), כגון:
    • סיווג טקסט (לדוגמה, ניתוח טון).
    • זיהוי ישויות בשם (NER).
    • מענה על שאלות (Question Answering), שבו התשובה היא קטע מתוך הטקסט.
  • דוגמה: BERT ונגזרותיו (RoBERTa, ALBERT).

הקשר עם המפענח

בארכיטקטורת מקודד-מפענח, המקודד והמפענח ממלאים תפקידים משלימים:

  • המקודד אחראי על הבנת רצף הכניסה.
  • המפענח אחראי על יצירת רצף הפלט.

חוליית הקישור המרכזית ביניהם היא מנגנון תשומת הלב הצולבת (cross-attention) בתוך המפענח. בכל שלב של היצירה, המפענח מגבש שאילתה (Query) על בסיס החלק שכבר נוצר מרצף הפלט, ומשתמש בה כדי "לשים לב" לייצוגי הפלט של המקודד (המשמשים כמפתחות וערכים — Key ו-Value). הדבר מאפשר למפענח להתמקד בחלקים הרלוונטיים ביותר של רצף הכניסה לצורך יצירת ה-token הבא.

ספרות

  • Hinton, G. E.; Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science. DOI:10.1126/science.1127647.
  • Cho, K. et al. (2014). Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation. arXiv:1406.1078.
  • Sutskever, I.; Vinyals, O.; Le, Q. V. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
  • Bahdanau, D.; Cho, K.; Bengio, Y. (2015). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
  • Kingma, D. P.; Welling, M. (2014). Auto-Encoding Variational Bayes. arXiv:1312.6114.
  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Dai, Z. et al. (2019). Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context. arXiv:1901.02860.
  • Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
  • Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Dosovitskiy, A. et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.

ראו גם

  • BERT