שיעור #2 – לאמן GAN המלל

בשיעור זה נבין את הרעיון שעומד מאחורי אלגוריתם GAN=Generative adversarial Network

אך לפני זה חשוב שנבין את רמת הפופולאריות של המאמר שהפך לתחום פורה בפני עצמו.

שימו לב לגרף הזה שמראה כמה מאמרים שמבוססים על GAN פורסמו מאז אותו מאמר ראשון ב 2014, שימו לב לאתר הזה (The Gan Zoo) שמרכז את כל הנגזרות שנולדו בגן החיות הזה.

כעת להבין את הרעיון המרכזי של האלגוריתם:

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

רעיון זה ממומש באמצעות שתי רשתות נוירונים האחת נקראת Generator ותפקידה לחולל (לג’נרט) מידע באופן כזה שהרשת השניה תחשוב שהמידע אמיתי.

הרשת השניה נקראת Discriminator ותפקידה להחליט האם מידע כלשהוא הינו אמיתי או לא.

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

רשת ה Generator מקבלת כקלט רעש אקראי ותפקידה להוציא פלט מסוג מסויים. (למשל תמונה). רשת ה Discriminator מקבלת כקלט קלט מהסוג שמוציאה רשת ה Generator (שוב נניח תמונה) ומחזירה ערך בין אפס לאחד שמשמעותו מידת האותנטיות של הקלט. (כאשר 0 זה לא אותנטי בכלל ו-1 זה מאוד אותנטי)

כעת נתבונן בתרשים הזה כדי להבין איך מאמנים את שני הרשתות האלו. האימון של שתי הרשתות הללו מתבצע במקביל באמצעות איזשהוא Database, נניח של תמונות של זברות.

רשת ה Generator מקבלת בכניסה רעש אקראי ומוציאה תמונות שבתחילת האימון גם הן תהיינה רעש לבן ואם האימון יצליח יהיו תמונות מזויפות של זברות.

רשת ה Discriminator תקבל בכניסתה לסירוגין תמונות מזוייפות שמגיעות ממוצא ה Generator ותמונות אמיתיות שמגיעות מה Database האמיתי שלנו (ז”א תמונות אמיתיות של זברות).

אימון זה הינו Unsupervised ז”א איננו צריכים לתייג את התמונות של הזברות כיוון שבכל איטרציה של הזנת תמונה כלשהיא לרשת ה Discriminator , ה Ground Truth שלנו הוא בינארי ואנחנו יודעים אותו בקלות: אם הוכנסה תמונה מזויפת או אם הוכנסה תמונה אמיתית.

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

חזור לוידאו