הגנרטור

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

כדי לקבל הדרכות לגנרטורים צריך ליצור שילוב מחמיר יותר בין המחולל לבין האפליה, שמחייב הכשרה של אפליה. החלק של ה-GAN שמנחה את המחולל כולל:

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

תרשים של רשת אדירה של פרסום אדיר. במרכז התרשים
          תופיע תיבה עם התווית 'discriminator'. שני סניפים מזינים בתיבה הזו בצד שמאל.  הסניף העליון מתחיל בפינה הימנית העליונה של התרשים, עם תיבה שמסומנת בה 'תמונות מהעולם האמיתי'. חץ מוביל
          מגליל זה לתיבה עם התווית 'Sample' חץ מהתיבה
          עם התווית #&39;Sample' מתעדכן בתיבה הסניף התחתון
 נכנס לתיבת 'המפריד חץ מוביל מהתיבה 'תיבת הקלט רנדומלי' לתיבה עם התווית
          'Generator' חץ מוביל מהתיבה 'Generator' לשנייה
          'Sample' חץ מוביל מהתיבה 'Sample' אל התיבה 'דיסקריישן. משמאל לתיבה 'המפלה' שני
          חיצים מובילים לשתי
          תיבות בצד שמאל של התרשים. חץ אחד מוביל לתיבה
          שמסומנת בתווית #&39; אובדן אפליה'. החץ השני מוביל לתיבה עם התווית ' Generator אובדן&339; תיבה צהובה עם חץ בצד שמאל
 והמילה 'Backproagation' מופיעה סביב התיבה 'קלט אקראי' התיבה,
 'Generator' התיבה, בחלק התחתון של 'הדגימה*

איור 1: הטמעה ברקע בהדרכה על מחולל.

קלט אקראי

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

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

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

אימון המחולל

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

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

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

לכן, אנחנו מדריכים את המחולל באמצעות התהליך הבא:

  1. מתבצעת דגימה של רעש אקראי.
  2. פלט מחולל הפקה מרעש אקראי שנדגם.
  3. מקבלים סיווג של מפלג "Real" או "מזויף" לפלט מחולל.
  4. מחשבים אובדן של סיווג אפליה.
  5. הפיצ'ר הזה מתבצע באמצעות האפליה וגם הגנרטור כדי להגיע לגרדיאנס.
  6. השתמשו בהדרגות כדי לשנות את המשקלים של המחולל בלבד.

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