Vision transformer

מתוך ויקיפדיה, האנציקלופדיה החופשית

Vision Transformer (ViT) הוא טרנספורמר המיועד למשימות עיבוד ראייה כגון זיהוי תמונה.

התפתחות[עריכת קוד מקור | עריכה]

Vision Transformer Architecture לסיווג תמונה

הטרנספורמרים הראשונים שימשו בעיקר במשימות עיבוד שפה טבעית (NLP), כפי שהדגימו מודלים של שפה כמו BERT ו-GPT. לעומת זאת, מערכות עיבוד תמונה מסורתיות השתמשוברשת עצבית קונבולוציונית (CNN). כך ניתן למצוא פרויקטים ידועים כמו Xception, ResNet, EfficientNet, DenseNet, ו-Inception.

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

טכנולוגיית ViT מחשבת יחסים בין פיקסלים בחלקים קטנים שונים של התמונה (למשל, 16x16 פיקסלים), בעלות מופחתת באופן דרסטי. הקטעים (עם הטבעות מיקום) ממוקמים ברצף. ההטבעות הן וקטורים הניתנים ללמידה. כל קטע מסודר ברצף ליניארי ומוכפל במטריצת ההטבעה. התוצאה, עם הטבעת המיקום מוזנת לטרנספורמר. כמו במקרה של BERT, תפקיד בסיסי במשימות הסיווג ממלא סוג הטוקן. טוקן מיוחד המשמש כקלט היחיד של ראש MLP הסופי מכיוון שהוא הושפע מכל האחרים.

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

היסטוריה[עריכת קוד מקור | עריכה]

טרנספורמים הוצגו לראשונה בשנת 2017 במאמר הידוע "Attention is All You Need".[1] ומאז הם התפשטו בתחום עיבוד השפה הטבעית והפכו במהרה לאחת הארכיטקטורות הנפוצות והמבטיחות ביותר של רשתות עצבים בתחום.

בשנת 2020 הותאמו Vision Transformers למשימות ב-Computer Vision עם המאמר "תמונה שווה 16x16 מילים".[2] הרעיון הוא בעצם לפרק תמונות קלט כסדרה של טלאים שברגע שהופנו לוקטורים, נתפסות כמילים בטרנספורמר רגיל.

אם בתחום עיבוד השפה הטבעית מנגנון הקשב של הטרנספורמרים ניסה לזהות את היחסים בין מילים שונות של הטקסט שיש לנתח, ב-Computer Vision טרנספורמרי הראייה מנסים במקום זאת לזהות את היחסים בין חלקים שונים של תמונה.

בשנת 2021 מודל על בסיס טרנספורמר הפגין ביצועים טובים יותר ויעילות רבה יותר מ-CNN בסיווג תמונות.

באותה שנה הוצעו כמה גרסאות חשובות של ה-Vision Transformers. גרסאות אלו נועדו בעיקר להיות יעילות יותר, מדויקות יותר או מותאמות יותר לתחום ספציפי. בין הרלוונטיים ביותר הוא ה-Swin Transformer, שבאמצעות שינויים מסוימים במנגנון הקשב וגישה רב-שלבית השיג תוצאות מתקדמות בכמה מערכי נתונים לזיהוי אובייקטים כגון COCO. גרסה מעניינת נוספת היא ה-TimeSformer, המיועד להבנת משימות וידאו ומסוגל ללכוד מידע מרחבי וזמני באמצעות שימוש בתשומת לב מחולקת של מרחב-זמן.[3]

Vision Transformers הצליחו גם לצאת מהמעבדה לאחד התחומים החשובים ביותר של Computer Vision, רכב אוטונומי.

תפקידה של למידה בפיקוח עצמי[עריכת קוד מקור | עריכה]

הצורך הניכר בנתונים במהלך שלב ההכשרה חיוני למצוא שיטות חלופיות לאימון מודלים אלה,[4] ותפקיד מרכזי ממלא כעת שיטות למידה בפיקוח עצמי. באמצעות גישות אלה, ניתן לאמן רשת עצבית בצורה כמעט אוטונומית, מה שמאפשר לה להסיק את המוזרויות של בעיה ספציפית מבלי לבנות מערך נתונים גדול או לספק לו תוויות שהוקצו במדויק. היכולת להכשיר Vision Transformer מבלי שיהיה לרשותו מערך ויזואלי ענק יכול להיות המפתח להפצה נרחבת של ארכיטקטורה חדשה ומבטיחה זו.

יישומים[עריכת קוד מקור | עריכה]

Vision Transformers משתמשים בהרבה משימות Computer Vision עם תוצאות מעולות ובמקרים מסוימים אפילו חדישים.

בין תחומי היישום הרלוונטיים ביותר הם:

ישנם יישומים רבים של Vision Transformers והגרסאות שלו זמינות בקוד פתוח באינטרנט. הגרסאות העיקריות של ארכיטקטורה זו יושמו ב-PyTorch אך יישומים הפכו זמינים גם עבור TensorFlow.[5]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

  • Igarashi, Yoshiyuki (2021-02-04). "Are You Ready for Vision Transformer (ViT)?". Medium (באנגלית). נבדק ב-2021-07-11.
  • Coccomini, Davide (2021-05-03). "On DINO, Self-Distillation with no labels". Towards Data Science. נבדק ב-2021-10-03.

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Vaswani. "Attention Is All You Need". arXiv:1706.03762.
  2. ^ Dosovitskiy. "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale". arXiv:2010.11929.
  3. ^ Coccomini, Davide (2021-03-31). "On Transformers, TimeSformers, and Attention. An exciting revolution from text to videos". Towards Data Science.
  4. ^ Coccomini, Davide (2021-07-24). "Self-Supervised Learning in Vision Transformers". Towards Data Science.
  5. ^ Salama, Khalid (2021-01-18). "Image classification with Vision Transformer". keras.io.