בשנים האחרונות פותחו מערכות בינה מלאכותית, המסוגלות לייצר פרצופים אנושיים שאינם קיימים ושנראים מציאותיים. איך הטכנולוגיה הזאת עובדת?
בשנת 2014, בפאב במונטריאול, הגה איאן גודפלו, חוקר העוסק בבינה מלאכותית, את אחד הרעיונות המסקרנים ביותר בתחום.[1] באותו לילה יצא גודפלו לפאב לחגוג עם חברים את סיום הדוקטורט של אחד מהם. כמה חברים ביקשו עזרה בפרויקט שעבדו עליו: מחשב שיוכל לצייר תמונות בעצמו.
חבריו של גודפלו תכננו להשתמש בניתוח סטטיסטי מורכב של אלמנטים המרכיבים תצלום כדי לעזור למכונות ללמוד לצייר. גודפלו טען שזה לא הולך לעבוד. כשהרהר בבעיה אחרי כמה דרינקים עלה במוחו רעיון. מה יקרה אם יבנה שתי מערכות לומדות שיתחרו אחת נגד השנייה?
חבריו היו סקפטים, אך ברגע שהגיע הביתה הוא החליט לנסות את זה. גודפלו תכנת עד השעות המוקדמות של הבוקר ואז בדק את התוכנה שלו. היא עבדה כבר בפעם הראשונה! מה שהוא המציא באותו לילה נקרא היום GAN - generative adversarial networks. הטכניקה עוררה התרגשות עצומה בתחום למידת המכונה והראייה הממוחשבת.[2]
כדי לאמן מערכת לומדת ליצור תמונות משתמשים בשתי מערכות לומדות, האחת (genereator) יוצרת תמונות "מזויפות" והשנייה (discriminator) "מבקרת אמנות", מקבלת תמונה וקובעת אם מדובר בזיוף או בתמונה אמיתית. המערכת היוצרת מקבלת כקלט אוסף ("וקטור") של מספרים אקראיים ומייצרת ממנו תמונה. מבקרת האמנות מקבלת תמונה ומחזירה ציון שאומר עד כמה היא מאמינה שמדובר בתמונה "אמיתית" (תצלום) או "זיוף" (תמונה מצוירת).
בהתחלה אין לשתי המכונות שום ידע על העולם. המערכת היוצרת מציירת קשקושים אקראיים (תמונות רעש),
ומבקרת האמנות אינה יודעת להבחין בין תמונות אמיתיות למזויפות. כדי ללמד את המערכת המבקרת להבחין בין תמונות מזויפות לאמיתיות מציגים לה מעט תמונות עם תיוג לאמיתיות ולמזויפות. בעזרת התמונות המתויגות לומדת המערכת להיות מבקרת מתחילה: היא מבחינה בין קשקושים מוחלטים לתמונות, אבל לא יודעת לזהות זיופים טובים. המערכת היוצרת ממשיכה לצייר תמונות ומראה אותן למבקרת האמנות. המערכת היוצרת משתפרת בעזרת הציון והמשוב שהיא מקבלת. חוזרים על התהליך שוב ושוב: מאמנים את המערכת המבקרת, ולאחר מכן את המערכת היוצרת, עד שהמערכת המבקרת כבר לא מצליחה להבדיל בין התמונות המזויפות לאמיתיות.
המערכת שהמציא גודפלו הצליחה ליצור תמונות ברזולוציה נמוכה בלבד, לכל היותר כמה מאות פיקסלים לתמונה. יצירת תמונות ברזולוציה גבוהה זו משימה מאתגרת עבור GAN, מפני שעל המערכת ללמוד לייצר בו-זמנית גם את המבנה הכללי של התמונה וגם את הפרטים העדינים, למשל מרקם של עור ושׂער.
ב-2017 הצליחו חוקרי Nvidia לבנות מערכת בינה מלאכותית המסוגלת ליצור תמונות ברזולוציה גבוהה בעזרת שיטה חדשה שפיתחו בשם "גדילה הדרגתית" (Progressive-Growing GAN) [3].
כדי להסביר את שיטת הגדילה ההדרגתית נציין שמערכות למידה עמוקה מורכבות ממספר רב של יחידות עיבוד פשוטות. יחידות עיבוד אלה מחוברות בצורה היררכית בשכבות. כל שכבה מקבלת כקלט תוצאות חישוביות המגיעות מהשכבות הקודמות. ככל שיש יותר שכבות במערכת היא מסוגלת לבצע משימות מורכבות יותר. השכבות ההתחלתיות ברשת לומדות את המאפיינים הכלליים העיקריים, והשכבות האחרונות את הפרטים הקטנים, המורכבים והייחודיים.[4]
בשלב הראשון המערכות, היוצרת והמבקרת, מורכבות כל אחת משכבה אחת בלבד, והמערכת היוצרת לומדת לצייר תמונות ברזולוציה נמוכה מאוד. אחרי שהמערכת היוצרת מצליחה במשימה מוסיפים למערכות שכבה נוספת, והמערכת היוצרת לומדת ליצור תמונה ברזולוציה גבוהה יותר וכך הלאה, עד שבסופו של דבר מקבלים מערכת מורכבת שיוצרת תמונות ברזולוציה גבוהה. השימוש בשיטה זו קיצר את הזמן הדרוש ללימוד המערכת ושיפר את איכות התמונות שהמערכת יצרה.
כיום מצליחות מערכות לומדות לייצר פרצופים מזויפים שנראים ממש אמיתיים. אתם יכולים להתנסות בזה באתר שמאפשר לכם לנחש מיהו האדם האמיתי.[5] האתר הזה [6] מייצר תמונה של אדם שאינו קיים בכל פעם שנכנסים אליו.
⊗ כעת, הביטו היטב בתמונת הנושא של הפוסט הזה, ונסו לנחש מי מהפרצופים המופיעים בה הוא האמיתי! שאר הפרצופים נוצרו על ידי מערכת ה-GAN. בהצלחה...
לקריאה נוספת:
סימולציה המראה את תהליך הלמידה של GAN
הערות:
- המאמר על GAN של גודפלו
- The GANfather
- מאמר שפורסם על ידי חברת Nvidia על רשת GAN שגדלה הדרגתית
- למידה עמוקה
- מיהו האדם האמיתי?
- https://thispersondoesnotexist.com/