לאחר ההצלחה של מודלי טרנספורמר במשימות עיבוד שפה טבעית (NLP), אותן ארכיטקטורות או דומות להן יושמו גם במשימות ראייה ממוחשבת. יש עניין גובר בבניית מודלים שמשלבים יכולות של ראייה ושפה טבעית. אחד הניסיונות הללו נעשה על ידי OpenAI, והוא נקרא CLIP ו-DALL.E.
הרעיון המרכזי של CLIP הוא היכולת להשוות בין טקסט לתמונה ולקבוע עד כמה התמונה מתאימה לטקסט.
תמונה מתוך הפוסט הזה
המודל מאומן על תמונות שנאספו מהאינטרנט והכיתובים שלהן. בכל אצווה, לוקחים N זוגות של (תמונה, טקסט) וממירים אותם לייצוגים וקטוריים I ו-T. ייצוגים אלו מותאמים זה לזה. פונקציית ההפסד מוגדרת כך שהיא ממקסמת את הדמיון הקוסינוסי בין וקטורים של זוג אחד (למשל I ו-T), וממזערת את הדמיון הקוסינוסי בין כל שאר הזוגות. זו הסיבה שהגישה הזו נקראת קונטרסטיבית.
ספריית CLIP זמינה ב-GitHub של OpenAI. הגישה מתוארת ב-פוסט הזה ובפירוט רב יותר ב-מאמר הזה.
לאחר שהמודל מאומן מראש, ניתן להזין לו אצווה של תמונות ואצווה של טקסטים, והוא יחזיר טנזור עם הסתברויות. ניתן להשתמש ב-CLIP למספר משימות:
סיווג תמונות
נניח שעלינו לסווג תמונות בין חתולים, כלבים ובני אדם. במקרה זה, ניתן להזין למודל תמונה וסדרה של טקסטים: "תמונה של חתול", "תמונה של כלב", "תמונה של אדם". בווקטור התוצאות של 3 ההסתברויות, נבחר את האינדקס עם הערך הגבוה ביותר.
תמונה מתוך הפוסט הזה
חיפוש תמונות מבוסס טקסט
ניתן גם לעשות את ההפך. אם יש לנו אוסף של תמונות, נוכל להעביר את האוסף למודל יחד עם טקסט, והוא יחזיר את התמונה שהכי דומה לטקסט הנתון.
✍️ דוגמה: שימוש ב-CLIP לסיווג תמונות וחיפוש תמונות
פתחו את המחברת Clip.ipynb כדי לראות את CLIP בפעולה.
ניתן להשתמש ב-CLIP גם ליצירת תמונות מטקסט. לשם כך, נדרש מודל גנרטור שיוכל ליצור תמונות בהתבסס על קלט וקטורי. אחד המודלים הללו נקרא VQGAN (Vector-Quantized GAN).
הרעיונות המרכזיים של VQGAN שמבדילים אותו מ-GAN רגיל הם:
- שימוש בארכיטקטורת טרנספורמר אוטורגרסיבית ליצירת רצף של חלקים ויזואליים עשירים בהקשר שמרכיבים את התמונה. חלקים אלו נלמדים על ידי CNN.
- שימוש במבחין תת-תמונה שמזהה האם חלקים מהתמונה הם "אמיתיים" או "מזויפים" (בניגוד לגישה של "הכל או כלום" ב-GAN מסורתי).
למידע נוסף על VQGAN, בקרו באתר Taming Transformers.
אחת ההבדלים החשובים בין VQGAN ל-GAN מסורתי היא שהאחרון יכול לייצר תמונה סבירה מכל וקטור קלט, בעוד ש-VQGAN עשוי לייצר תמונה שאינה קוהרנטית. לכן, יש להנחות את תהליך יצירת התמונה, וזה נעשה באמצעות CLIP.
כדי ליצור תמונה שמתאימה לטקסט, מתחילים עם וקטור קידוד אקראי שמועבר דרך VQGAN ליצירת תמונה. לאחר מכן, CLIP משמש ליצירת פונקציית הפסד שמראה עד כמה התמונה מתאימה לטקסט. המטרה היא למזער את ההפסד הזה באמצעות back propagation כדי להתאים את פרמטרי וקטור הקלט.
ספרייה מצוינת שמממשת VQGAN+CLIP היא Pixray.
![]() |
![]() |
![]() |
|---|---|---|
| תמונה שנוצרה מהטקסט דיוקן בצבעי מים של מורה צעיר לספרות עם ספר | תמונה שנוצרה מהטקסט דיוקן בשמן של מורה צעירה למדעי המחשב עם מחשב | תמונה שנוצרה מהטקסט דיוקן בשמן של מורה מבוגר למתמטיקה מול לוח שחור |
תמונות מתוך אוסף מורים מלאכותיים מאת דמיטרי סושניקוב
DALL-E הוא גרסה של GPT-3 שאומנה ליצירת תמונות מטקסט. הוא אומן עם 12 מיליארד פרמטרים.
בניגוד ל-CLIP, DALL-E מקבל טקסט ותמונה כזרם אחד של טוקנים עבור שניהם. לכן, ניתן ליצור תמונות ממספר טקסטים.
ההבדל המרכזי בין DALL-E 1 ל-DALL-E 2 הוא שגרסה 2 מייצרת תמונות ואמנות ריאליסטיות יותר.
דוגמאות ליצירת תמונות עם DALL-E:
![]() |
![]() |
![]() |
|---|---|---|
| תמונה שנוצרה מהטקסט דיוקן בצבעי מים של מורה צעיר לספרות עם ספר | תמונה שנוצרה מהטקסט דיוקן בשמן של מורה צעירה למדעי המחשב עם מחשב | תמונה שנוצרה מהטקסט דיוקן בשמן של מורה מבוגר למתמטיקה מול לוח שחור |
- מאמר VQGAN: Taming Transformers for High-Resolution Image Synthesis
- מאמר CLIP: Learning Transferable Visual Models From Natural Language Supervision
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. בעוד שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.








