המבדיל ב-GAN הוא פשוט מסווג. הוא מנסה להבדיל בין נתונים אמיתיים לבין הנתונים שנוצרו על ידי הגנרטור. אפשר להשתמש בכל ארכיטקטורת רשת שמתאימה לסוג הנתונים שמסווגים.
איור 1: חזרה לאחור באימון המבדיל.
נתוני אימון של דיסקרימינטור
נתוני האימון של המזהה מגיעים משני מקורות:
- מופעים של נתונים אמיתיים, כמו תמונות אמיתיות של אנשים. במהלך האימון, המזהה משתמש באירועים האלה כדוגמאות חיוביות.
- מופעים של נתונים מזויפים שנוצרו על ידי הגנרטור. במהלך האימון, המזהה משתמש באירועים האלה כדוגמאות שליליות.
באיור 1, שתי התיבות 'דוגמה' מייצגות את שני מקורות הנתונים האלה שמזינים את המזהה. במהלך אימון המבדיל, הגנרטור לא עובר אימון. המשקולות שלו נשארים קבועים בזמן שהוא יוצר דוגמאות לאימון המזהה.
אימון הדיסקרימינטור
המזהה מתחבר לשתי פונקציות loss. במהלך אימון המבדיל, המבדיל מתעלם מהאובדן של הגנרטור ומשתמש רק באובדן של המבדיל. אנחנו משתמשים באובדן האנרגיה של הגנרטורים במהלך אימון הגנרטורים, כפי שמתואר בקטע הבא.
במהלך אימון המבדיל:
- המזהה מסווג גם נתונים אמיתיים וגם נתונים מזויפים מהגנרטור.
- אובדן המזהה (discriminator loss) מעניש את המזהה על סיווג שגוי של מכונה אמיתית כמזויפת או של מכונה מזויפת כמציאותית.
- הדיסקרימינטור מעדכן את המשקלים שלו באמצעות העברה לאחור מהאובדן של הדיסקרימינטור דרך רשת הדיסקרימינטור.
בקטע הבא נסביר למה אובדן האנרגיה של הגנרטור מחובר למבדל.