Vision transformer

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

התפתחות 

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

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

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

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

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

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

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

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

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

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

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

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

בין תחומי היישום הרלוונטיים ביותר הם:
 סיווג תמונה
 זיהוי אובייקטים
 זיהוי Deepfake של וידאו
 פילוח תמונה
 זיהוי אנומליות
 סינתזת תמונה
 ניתוח אשכולות
 נהיגה אוטונומית

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

קישורים חיצוניים

הערות שוליים 

בינה מלאכותית