Tsoof Bar Or 📟💥 Profile picture
צוף, 29, Data Science (BGU) בתהליך. פראמדיק לשעבר, שומע את אותם שירים מגיל 14 וכותב על AI בשפה של בני אדם.

Jun 9, 2023, 21 tweets

אם תחפרו במוח של Midjourney, תוכלו למצוא אוזניים.
מסתבר שמודלי הדיפוזיה למיניהם מבינים, באמת מבינים מה הם רואים.
והרעיון? מה זה פשוט ומכונה DIFT.
אני - 🤯
תפסתי אתכם? יאללה 🧵>>
#פידטק #פידאטה #פידטכנולוגיה
(אה כן, אם שמתם Bookmark - תוסיפו ככה הקלקה על הלייק, זה סופר עוזר לי 🥰)

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

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

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

3. שהמודלים האלה עושים שאני לא מבין עד הסוף.
נמשיך.
בגלל שבעצם בכל שלב בתהליך נכנסת תמונה ויוצאת תמונה, אנחנו מקבלים מודל ענק ואיטי.
למה?
תמונה מרובעת עלובה של 64 פיקסלים בצלע היא בעצם.. 12k פיקסלים.
למה? כי זה 64*64, ואז כפול 3 עבור כל ערוץ - אדום, ירוק, כחול. >>

4. לכן מה שעושים הוא אימון על תמונות ברזולוציות נמוכות, ושימוש במודלים אחרים שיודעים להעלות רזולוציה.
ואז בא Stable Diffusion ועשה משהו חדש.
בוא ניקח מבנה שאנחנו מכירים (אנחנו לא, תכף נכיר) של Encoder-Decoder, נעשה את הדיפוזיה על איזה מבנה דחוס ונוח, ואז נייצר תמונה. >>

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

6. שהוא בעצם אותו ייצוג דחוס.
אם תמונות מצליחות להכנס ולצאת בדיוק אותו דבר - הדחיסה עובדת!
בכל מקרה, החבר'ה של סטייבל דיפיוז'ן לקחו את הרעיון הזה, וצמצמו בהדרגה את התמונות הכבדות למרחב קומפקטי עליו ביצעו את אותה דיפוזיה, ולאחר מכן שחזרו את התמונה.
שימו לב, יש פה דאבל >>

7. "שחזור".
בהתחלה אנחנו דוחסים את התמונה הרועשת למרחב "קטן", קומפקטי.
בתהליך הדיפוזיה יש "שחזור" מרעש + טקסט מַתְנֶה דחוסים לתוצאה דחוסה.
לכן צריך שוב לשחזר, מתוצאה דחוסה לתמונה.
מקווה שלא בילבלתי.
עד כאן סבבה, נעשה בעתיד שרשור מקיף על דיפוזיה. >>

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

9. עכשיו בוא נסתכל על האף של הדב. והשועל. וגם של דני פה בצד.
יכול להיות שהם ממופים לאותו מקום?
כן!!!
תראו את התוצאה (נקודה אדומה).
אנחנו מסמנים את המקור של הברווז, והוא ממופה למקורות של כל שאר התמונות.
והאוזן של הדב.
והגשר-שמחזיק-את-המיתרים-של-הגיטרה!
כל כך פשוט, כל כך חכם. >>

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

11. לקחו תמונה אמיתית.
הרעישו אותה מלאכותית כמו שהמודל מכיר,
הכניסו ל"אמצע" המודל, והעבירו אותה כמו השתלת איבר במטופל.
האפקט אותו אפקט, האף אותו אף, הסנטר אותו סנטר - זה עבד באותה איכות!
תראו את המיפוי הזה.
תאורה שונה. זווית שונה.

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

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

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

15. לכן השתמשתי במילה "להבין".
זה בעצם, לעניות לדעתי, להבין (או להכליל).
המודל מחזיק את הרעיונות המופשטים ומשתמש בהם ליצירה, קצת כמו אמן.
בשום שלב לא אמרנו לו ללמוד בצורה הזו!
זה לא אנושי להחריד?
טוב, סליחה, נהייתי עמוק, בואו נחזור לצחוקים וישומים.
תראו, זה עושה פילטרים! >>

16. ובצורה רצינית יותר, אפשר להשתמש בטכניקה פרקטית גם לסגמנטציה, בידוד של איזורים בתמונה.
הDINO הזה הוא מודל שמנסה לממש רעיון דומה על ארכיטקטורה אחרת, שהיא לא אותם מודלי-דיפוזיה-מייצרי תמונות.
רואים שה"הבנה" של מודלי הדיפוזיה טובה הרבה יותר. >>

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

אם זה השרשור הראשון שלי שאתם קוראים, היי!
מוזמנים לחקור איתי את הקישקע של הAI,
כל פעם קצת אחרת.
זה הזמן לעקוב אחרי:
twitter.com/tsoofbaror
מזמין אתכם לרטווט ולהגיב לציוץ הראשון אם אהבתם,
ולהתעלם אם השתעממתם. 😍
לא רוצים לפספס כלום? בואו לטלגרם שלי:
linktr.ee/tsoofbaror

מקורות ותוספות!
המאמר עצמו: arxiv.org/pdf/2306.03881…
בלוג מורחב עליו: diffusionfeatures.github.io
סרטון קצת יותר מקיף על דיפוזיה:

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling