Skip to content

Latest commit

 

History

History
81 lines (47 loc) · 8.83 KB

File metadata and controls

81 lines (47 loc) · 8.83 KB

רשתות מולטי-מודליות

לאחר ההצלחה של מודלי טרנספורמר במשימות עיבוד שפה טבעית (NLP), אותן ארכיטקטורות או דומות להן יושמו גם במשימות ראייה ממוחשבת. יש עניין גובר בבניית מודלים שמשלבים יכולות של ראייה ושפה טבעית. אחד הניסיונות הללו נעשה על ידי OpenAI, והוא נקרא CLIP ו-DALL.E.

Contrastive Image Pre-Training (CLIP)

הרעיון המרכזי של CLIP הוא היכולת להשוות בין טקסט לתמונה ולקבוע עד כמה התמונה מתאימה לטקסט.

ארכיטקטורת CLIP

תמונה מתוך הפוסט הזה

המודל מאומן על תמונות שנאספו מהאינטרנט והכיתובים שלהן. בכל אצווה, לוקחים N זוגות של (תמונה, טקסט) וממירים אותם לייצוגים וקטוריים I ו-T. ייצוגים אלו מותאמים זה לזה. פונקציית ההפסד מוגדרת כך שהיא ממקסמת את הדמיון הקוסינוסי בין וקטורים של זוג אחד (למשל I ו-T), וממזערת את הדמיון הקוסינוסי בין כל שאר הזוגות. זו הסיבה שהגישה הזו נקראת קונטרסטיבית.

ספריית CLIP זמינה ב-GitHub של OpenAI. הגישה מתוארת ב-פוסט הזה ובפירוט רב יותר ב-מאמר הזה.

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

סיווג תמונות

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

CLIP לסיווג תמונות

תמונה מתוך הפוסט הזה

חיפוש תמונות מבוסס טקסט

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

פתחו את המחברת Clip.ipynb כדי לראות את CLIP בפעולה.

יצירת תמונות עם VQGAN+CLIP

ניתן להשתמש ב-CLIP גם ליצירת תמונות מטקסט. לשם כך, נדרש מודל גנרטור שיוכל ליצור תמונות בהתבסס על קלט וקטורי. אחד המודלים הללו נקרא VQGAN (Vector-Quantized GAN).

הרעיונות המרכזיים של VQGAN שמבדילים אותו מ-GAN רגיל הם:

  • שימוש בארכיטקטורת טרנספורמר אוטורגרסיבית ליצירת רצף של חלקים ויזואליים עשירים בהקשר שמרכיבים את התמונה. חלקים אלו נלמדים על ידי CNN.
  • שימוש במבחין תת-תמונה שמזהה האם חלקים מהתמונה הם "אמיתיים" או "מזויפים" (בניגוד לגישה של "הכל או כלום" ב-GAN מסורתי).

למידע נוסף על VQGAN, בקרו באתר Taming Transformers.

אחת ההבדלים החשובים בין VQGAN ל-GAN מסורתי היא שהאחרון יכול לייצר תמונה סבירה מכל וקטור קלט, בעוד ש-VQGAN עשוי לייצר תמונה שאינה קוהרנטית. לכן, יש להנחות את תהליך יצירת התמונה, וזה נעשה באמצעות CLIP.

ארכיטקטורת VQGAN+CLIP

כדי ליצור תמונה שמתאימה לטקסט, מתחילים עם וקטור קידוד אקראי שמועבר דרך VQGAN ליצירת תמונה. לאחר מכן, CLIP משמש ליצירת פונקציית הפסד שמראה עד כמה התמונה מתאימה לטקסט. המטרה היא למזער את ההפסד הזה באמצעות back propagation כדי להתאים את פרמטרי וקטור הקלט.

ספרייה מצוינת שמממשת VQGAN+CLIP היא Pixray.

תמונה שנוצרה על ידי Pixray תמונה שנוצרה על ידי Pixray תמונה שנוצרה על ידי Pixray
תמונה שנוצרה מהטקסט דיוקן בצבעי מים של מורה צעיר לספרות עם ספר תמונה שנוצרה מהטקסט דיוקן בשמן של מורה צעירה למדעי המחשב עם מחשב תמונה שנוצרה מהטקסט דיוקן בשמן של מורה מבוגר למתמטיקה מול לוח שחור

תמונות מתוך אוסף מורים מלאכותיים מאת דמיטרי סושניקוב

DALL-E

DALL-E הוא גרסה של GPT-3 שאומנה ליצירת תמונות מטקסט. הוא אומן עם 12 מיליארד פרמטרים.

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

ההבדל המרכזי בין DALL-E 1 ל-DALL-E 2 הוא שגרסה 2 מייצרת תמונות ואמנות ריאליסטיות יותר.

דוגמאות ליצירת תמונות עם DALL-E:

תמונה שנוצרה על ידי Pixray תמונה שנוצרה על ידי Pixray תמונה שנוצרה על ידי Pixray
תמונה שנוצרה מהטקסט דיוקן בצבעי מים של מורה צעיר לספרות עם ספר תמונה שנוצרה מהטקסט דיוקן בשמן של מורה צעירה למדעי המחשב עם מחשב תמונה שנוצרה מהטקסט דיוקן בשמן של מורה מבוגר למתמטיקה מול לוח שחור

מקורות


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. בעוד שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.