GAN קורס בינה מלאכותית : RB26-02

GAN קורס בינה  מלאכותית : RB26-02

GAN קורס בינה מלאכותית
GAN קורס בינה מלאכותית

GAN (Generative Adversarial Network)  2014  היא רשת בינה מלאכותית שמורכבת משתי רשתות עצביות "מתחרות":

  1. Generator (מייצרת) – יוצרת דוגמאות חדשות (למשל תמונות מזויפות).

  2. Discriminator (מבחינה) – מנסה לזהות אם הדוגמאות אמיתיות (מהנתונים המקוריים) או מזויפות (מה-Generator).

השתיים מאמנות אחת את השנייה בתהליך משחק "אפס-סכום":

  • ה-Generator משתפר בלהטעות את ה-Discriminator.

  • ה-Discriminator משתפר בלזהות זיופים.

המטרה היא שה-Generator ילמד ליצור דוגמאות שנראות אמיתיות לגמרי.
שימושים נפוצים: יצירת תמונות ריאליסטיות, שיפור תמונות, Deepfake, הפקת מוזיקה, ועיבוד תמונה יצירתי.

שלבי הלמידה:

  1. נותנים לו נתונים אמיתיים (מתוך סט האימון) עם תווית "אמיתי".

  2. נותנים לו נתונים מזויפים שיצר ה־Generator עם תווית "מזויף".

  3. הוא לומד להבדיל בין השניים על ידי חישוב שגיאה (loss) ועדכון המשקלים עם backpropagation.

איך זה קורה בפועל:

בכל שלב:

  • ה־Discriminator מקבל קלט (תמונה למשל).

  • הוא מפיק פלט בין 0 ל־1:

    • קרוב ל־1 = נראה לו אמיתי

    • קרוב ל־0 = נראה לו מזויף

  • הפלט הזה נבדק מול התשובה הנכונה (אמיתי/מזויף), והשגיאה נמדדת.

  • בעזרת השגיאה, מעדכנים את הרשת (המשקלים) כך שתשתפר בזיהוי.

דוגמה פשוטה:

אם ה־Generator מייצר תמונה של חתול עם 3 עיניים, ה־Discriminator יזהה שזה לא נראה כמו החתולים האמיתיים בסט האימון – ולכן יתייג זאת כמזויף.

ככל שמתקדם האימון – ה־Discriminator נעשה טוב יותר בזיהוי זיופים, מה שמכריח את ה־Generator להשתפר גם כן.

ברוב ה־GANs, גם ה־Discriminator וגם ה־Generator מבוססים על CNN – רשתות קונבולוציה, במיוחד כשעובדים עם תמונות.

למה CNN?

כי CNN מצוינות ב:

  • ניתוח תמונה לפי אזורים מקומיים (פילטרים).

  • זיהוי תבניות, מרקמים, קצוות, צורות – שזה בדיוק מה שה־Discriminator צריך.


סיכום:

רכיב סוג רשת נפוץ למה
Discriminator CNN כדי לזהות תבניות "אמיתיות" לעומת "מזויפות" בתמונה
Generator CNN (deconvolution / transpose conv) כדי ליצור תמונה משכבת רעש

ANN רגיל (Fully Connected):

משמש לפעמים ב־GANs פשוטים או עם קלט שאינו תמונה (למשל וקטורים או טקסט).
אבל בתמונות – CNN נותנת ביצועים ודיוק הרבה יותר טובים.

ברוב ה־GANs, גם ה־Discriminator וגם ה־Generator מבוססים על CNN – רשתות קונבולוציה, במיוחד כשעובדים עם תמונות.

למה CNN?

כי CNN מצוינות ב:

  • ניתוח תמונה לפי אזורים מקומיים (פילטרים).

  • זיהוי תבניות, מרקמים, קצוות, צורות – שזה בדיוק מה שה־Discriminator צריך.


סיכום:

רכיב סוג רשת נפוץ למה
Discriminator CNN כדי לזהות תבניות "אמיתיות" לעומת "מזויפות" בתמונה
Generator CNN (deconvolution / transpose conv) כדי ליצור תמונה משכבת רעש

ANN רגיל (Fully Connected):

משמש לפעמים ב־GANs פשוטים או עם קלט שאינו תמונה (למשל וקטורים או טקסט).
אבל בתמונות – CNN נותנת ביצועים ודיוק הרבה יותר טובים.

GAN קורס בינה מלאכותית
GAN קורס בינה מלאכותית

הכוונה היא ל־Pix2Pix – זהו GAN מותנה (Conditional GAN) שמשמש ל־תרגום תמונה לתמונה (Image-to-Image Translation).


🔧 איך Pix2Pix עובד:

בניגוד ל־GAN רגיל שמתחיל מווקטור רעש,
Pix2Pix מקבל תמונה קלט (למשל, סקיצה) ומייצר תמונה חדשה שמתאימה לה (למשל, תמונה צבעונית).


📦 רכיבים:

Generator – מבוסס על U-Net:

  • מקבל תמונה קלט (למשל, שרטוט).

  • יוצר פלט עם אותם ממדים (למשל, תמונה ריאליסטית).

  • מבנה U-Net מאפשר שימור פרטים עדינים עם skip-connections.

Discriminator – PatchGAN:

  • בודק אם כל "טלאי" קטן בתמונה (למשל 70×70) נראה אמיתי.

  • כך הדגש הוא על מרקם מקומי ולא רק על כל התמונה.


🎯 שימושים נפוצים:

  • מ־סקיצה לתמונה (edge → photo).

  • שיפור רזולוציה.

  • מ־תמונת יום → לילה.

  • שינוי מפת עומק לתמונה.

 

 

 

GAN קורס בינה מלאכותית
GAN קורס בינה מלאכותית

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

HOW GAN WORKS

🔄 1. שתי רשתות:

  • Generator (G): מנסה לייצר דגימות מזויפות שנראות אמיתיות.

  • Discriminator (D): מנסה להבחין בין דגימות אמיתיות למזויפות.


🧠 2. שלבי האימון (כל איטרציה):

א. מאמנים את ה־Discriminator:

  • מקבל דגימות אמיתיות (עם תווית 1).

  • מקבל דגימות מזויפות שנוצרו ע"י ה־Generator (עם תווית 0).

  • מחשב שגיאה → מעדכן משקלים.

ב. מאמנים את ה־Generator:

  • יוצר דגימות מזויפות.

  • שולח אותן ל־Discriminator.

  • המטרה: "לרמות" את ה־Discriminator (שיחשוב שהן אמיתיות).

  • חישוב שגיאה לפי הפלט של D → עדכון משקלי G.


🎯 מטרה כוללת:

  • G לומד לייצר דגימות ריאליסטיות.

  • D לומד להיות טוב בזיהוי זיופים.

  • כשהשניים מאוזנים, התמונות המזוייפות נראות אמיתיות לחלוטין.


 

 

איך ה-Discriminator יודע לזהות זיוף? מקבל 2 סטים של תמונות

אמיתיות ושמזויפות בזמן האימון

הוא לא יודע מראש. הוא לומד לזהות זיופים באופן הדרגתי, דרך אימון מונחה (Supervised Learning) על ההבדלים בין:

  • תמונות אמיתיות של חתולים (מתוך הדאטה).

  • תמונות מזויפות שה־Generator יצר.


🧠 מה הוא לומד בפועל?

במהלך האימון, ה־Discriminator לומד:

  1. צורות אמיתיות של חתולים:

    • עיניים סימטריות.

    • מיקום אוזניים.

    • מבנה פנים טיפוסי.

  2. מרקם טבעי:

    • פרווה, צללים, קווים חלקים.

  3. רציפות הגיונית בתמונה:

    • לא יהיו עיוותים, חורים, אזורים מטושטשים מדי או מבנה לא טבעי.

 

ה מזינים ל־D בכל איטרציה?

שני סוגי דגימות:

מקור מה זה? מה D רואה? תווית (label)
אמיתיות תמונות מקוריות מה־dataset real_image 1
מזויפות תמונות שנוצרו ע"י ה־Generator fake_image 0

 

 

 

 

כתיבת תגובה