משתמש:האדם-החושב/GAN

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

Generative adversarial network (ראשי תיבות: GAN) הוא סוג של מודל גנרטיבי ללמידת מכונה שתוכנן על ידי איאן גודפלו ועמיתיו בשנת 2014.[1]

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

ארכיטקטורה[עריכת קוד מקור | עריכה]

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

discriminator[עריכת קוד מקור | עריכה]

המאבחן בדרך כלל יראה כמו מסווג (classifier) מסוג רשת עצבית מתפתחת קלאסי. עם שכבות כינוס (convolution layers), LeakyReLU ו fully connected עם שכבת פלט בגודל נוירון אחד כאשר 0 מייצג תמונה מזויפת ו אחד תמונה אמתית.

generator[עריכת קוד מקור | עריכה]

המחולל בדרך כלל יראה כתמונת ראי של המאבחן כאשר הוא מתחיל בשכבות קטנות ובהדרגה הולך וגודל עד לגודל התמונה הרצוי. כדיי שהמחולל לא ייצור כל פעם אותה תמונה צריך להיות מרכיב אקראי ומרכיב זה יהיה שכבת קלט בצורת וקטור רעש אקראי שיתרחב לשכבת fully connected גדולה יותר בהדרגה שלאחר מכן תשונה לתצורת טנזור כדיי להתאים לשכבות כינוס (convolution layers) שיגדילו בהדרגה את הטנזור לגודל של התמונה הרצויה.

combined[עריכת קוד מקור | עריכה]

חיבור המחולל והמאבחן אחד לשני לרשת גודלה אחת. מקבל וקטור רעש אקראי פולט אמת או שקר (0 או 1).

אימון ה-GAN[עריכת קוד מקור | עריכה]

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

כאמור, הרשת הגנרטיבית מייצרת דגימות חדשות בעוד שהרשת הדיסקרימינטיבית מותאמת להבדלה בין דגימות אמיתיות לבין דוגמאות שהגיעו מהרשת הגנרטיבית.[1] מכיוון שיצירת דוגמאות מהתפלגות נתונה עשויה להיות בעיה קשה, GAN בדרך כלל משתמשים בהתפלגות שקל לדגום – כמו התפלגות נורמלית, והרשת הגנרטיבית לומדת למפות וקטור ממרחב סמוי (אנ') שמתפלג נורמלית לוקטור מההתפלגות הרצויה. מטרת האימון של הרשת הגנרטיבית היא להגדיל את שיעור השגיאות ברשת הדיסקרימינטיבית, כלומר, "להטעות" את הרשת הדיסקרימינטיבית על ידי הפקת דגימות חדשות שהיא תטעה לחשוב שהגיעו מההתפלגות האמיתית.[1]

בעיות אפשריות ב-GAN[עריכת קוד מקור | עריכה]

GAN עשויים לסבול מ"קריסה למצב" (mode collapse), בעיה שבה הרשת הגנרטיבית מנצלת חולשות שהיא מזהה ברשת הדיסקרימינטיבית, ומייצרת תמונות רק מסוג יחיד. במצב כזה הרשת הגנרטיבית מצליחה להערים על הרשת הדיסקרימינטיבית, אך כתוצאה מכך היא לא מצליחה להכליל את התפלגות הנתונים כראוי, וחסרים חלקים שלמים מהתפלגות הקלט. לדוגמה, GAN שאומן על המאגר MNIST שמכיל דוגמאות רבות של כל הספרות כתובות בכתב יד, עשוי להשמיט ספרות מסוימות מהפלט שלו. GAN כזה יכול ללמוד לייצר בצורה טובה רק את הספרות שלוש וארבע, ובכך להערים על הרשת הדיסקרימינטיבית, אך הוא לא ילמד למדל נכונה את מאגר הספרות המלא. ניתנו כמה הסברים לבעיה, בין היתר: אימון יתר של הרשת הגנרטיבית בכל שלב ובחירה בפונקציית הפסד בעייתית.[6][7] לבעיה הוצעו מספר פתרונות.[8][9]

שימושים[עריכת קוד מקור | עריכה]

ל-Generative adversarial network יש שימושים רבים.[10]

במדע[עריכת קוד מקור | עריכה]

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

GAN הוצעו כדרך מהירה ומדויקת למדל היווצרות של סילונים באנרגיה גבוהה[14] והשתמשו בהם בשביל למדל מקלחות חלקיקים באמצעות קלורימטרים של ניסויים בפיזיקת חלקיקים.[15] GANs הוכשרו גם ליצירת קירוב מדויק של צווארי בקבוק בסימולציות יקרות חישובית של ניסויים בפיזיקת חלקיקים. במאיץ החלקיקים CERN השתמשו ברשתות גנרטיביות בשביל להוכיח את הפוטנציאל של שיטות אלה להאצת סימולציות או לשיפור מהימנות ההדמיה.[16]

באמנות[עריכת קוד מקור | עריכה]

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

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ 1 2 3 Goodfellow, Ian; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua, Generative Adversarial Nets, 2014
  2. ^ Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, Xi Chen, Improved Techniques for Training GANs, 2016
  3. ^ Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, Image-to-Image Translation with Conditional Adversarial Nets, CVPR, 2017
  4. ^ Jonathan Ho, Stefano Ermon, Generative Adversarial Imitation Learning, 2016
  5. ^ Nikolas Adaloglou, GANs in computer vision: Introduction to generative learning, AI Summer, ‏10 באפריל 2020
  6. ^ Jonathan Hui, GAN — Why it is so hard to train Generative Adversarial Networks!, Medium, ‏2019-10-29 (באנגלית)
  7. ^ Martin Arjovsky, Soumith Chintala, Léon Bottou, Wasserstein GAN, 2017
  8. ^ Zinan Lin, Ashish Khetan, Giulia Fanti, Sewoong Oh, PacGAN: the power of two samples in generative adversarial networks, 2018
  9. ^ Luke Metz, Ben Poole, David Pfau, Jascha Sohl-Dickstein, Unrolled Generative Adversarial Networks, 2017
  10. ^ A list of papers and other resources on Generative Adversarial (Neural) Networks, GitHub
  11. ^ Kevin Schawinski, Ce Zhang, Hantian Zhang, Lucas Fowler, Gokula Krishnan Santhanam, Generative Adversarial Networks recover features in astrophysical images of galaxies beyond the deconvolution limit doi: 10.1093/mnrasl/slx008
  12. ^ DOE/Lawrence Berkeley National Laboratory, Training a neural network to study dark matter, Science Daily, 2019
  13. ^ Mustafa Mustafa, Deborah Bard, Wahid Bhimji, Zarija Lukić, Rami Al-Rfou, Jan M. Kratochvil, CosmoGAN: creating high-fidelity weak lensing convergence maps using Generative Adversarial Networks doi: 10.1186/s40668-019-0029-9
  14. ^ Luke de Oliveira, Michela Paganini, Benjamin Nachman, Learning Particle Physics by Example: Location-Aware Generative Adversarial Networks for Physics Synthesis doi: 10.1007/s41781-017-0004-6
  15. ^ Michela Paganini, Luke de Oliveira, Benjamin Nachman, Accelerating Science with Generative Adversarial Networks: An Application to 3D Particle Showers in Multi-Layer Calorimeters doi: 10.1103/PhysRevLett.120.042003
  16. ^ ATLAS, Collaboration, Deep generative models for fast shower simulation in ATLAS, 2018
  17. ^ Ceecee Wong, The Rise of AI Supermodels, ‏27 במאי 2019

קטגוריה:למידה חישובית קטגוריה:מדעים קוגניטיביים