רשתות נוירונים: תרגילים אינטראקטיביים

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

תרגיל 1

הווידג'ט הבא מגדיר רשת נוירונים עם התצורה הבאה:

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

בודקים את ההגדרה הראשונית של הרשת (הערה: אל תלחצו על ►️ או על >| עדיין), ואז השלם את המשימות שמתחת לווידג'ט.

משימה 1

הערכים של שלוש תכונות הקלט במודל של רשת הנוירונים 0.00 צריך ללחוץ על כל אחד מהצמתים ברשת כדי לראות את כל הצמתים שאותחלו ערכים. לפני שלוחצים על לחצן ההפעלה (▶️), צריך לענות על השאלה הבאה:

מהו ערך הפלט חושב שהפלט יהיה: חיובי, שלילי או 0?
ערך פלט חיובי
ערך פלט שלילי
ערך הפלט של 0

עכשיו לוחצים על לחצן ההפעלה (Back️) מעל הרשת וצופים בכל השכבות הנסתרות והערכים של צומתי הפלט יאוכלסו. האם התשובה שלך למעלה הייתה נכונה?

להסבר ניתן ללחוץ כאן

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

y = ReLU(w11* 0.00 + w21* 0.00 + w31* 0.00 + b)

y = ReLU(b)

כך, כל ערך של צומת בשכבה נסתרת יהיה שווה לערך של ReLU . הטיה (b), שתהיה 0 אם b הוא שלילי ו-b עצמו אם b הוא 0 או חיובית.

הערך של צומת הפלט יחושב באופן הבא:

y = ReLU(w11* x11 + w21* x21 + w31* x31 + w41* x41 + b)

משימה 2

לפני שאתם משנים את רשת הנוירונים, צריך לענות על השאלה הבאה:

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

עכשיו משנים את רשת הנוירונים ומוסיפים שכבה מוסתרת חדשה עם 3 צמתים:

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

האם התשובה שלך למעלה הייתה נכונה?

להסבר ניתן ללחוץ כאן

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

משימה 3

לוחצים על הצומת השני (מהחלק העליון) בשכבה המוסתרת הראשונה של הרשת גרפי. לפני שמבצעים שינויים בתצורת הרשת, עונים על השאלה השאלה הבאה:

אם משנים את הערך של משקל w12 (מוצג מתחת לצומת הקלט הראשון, x1), אילו צמתים אחרים עשויים להיות מושפעים מנתונים מסוימים. ערכים?
ללא
הצומת השני ב- את השכבה המוסתרת הראשונה, את כל הצמתים בשכבה השנייה מצומת פלט.
כל הצמתים ברכיב את השכבה הראשונה, המוסתרת השנייה, ושכבת הפלט.

עכשיו לוחצים בשדה הטקסט של המשקל w12 (מוצג מתחת של צומת הקלט הראשון, x1), משנים את הערך שלו ל-5.00 ומקישים על Enter. חשוב לצפות בעדכונים בתרשים.

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

להסבר ניתן ללחוץ כאן

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

האם לדעתך התשובה הייתה 'ללא' כי אף אחד מערכי הצמתים הרשת השתנתה כששינית את ערך המשקל? שימו לב שמודל החישוב של צומת עשוי להשתנות מבלי לשנות את ערך הצומת (למשל גם ReLU(0) וגם ReLU(–5) מניבות פלט של 0. אל תניחו הנחות לגבי ההשפעה של הרשת רק על ידי בחינת ערכי הצמתים; אל תשכחו לבדוק גם את החישובים.

תרגיל 2

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

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

הוראות:

בווידג'ט האינטראקטיבי הבא:

  1. לשנות את ההיפר-פרמטרים של רשת הנוירונים על ידי ניסוי עם כמה של הגדרות התצורה הבאות:
    • להוסיף או להסיר שכבות מוסתרות על ידי לחיצה על הלחצנים + ו-- משמאל לכותרת HIDDEN LAYERS בתרשים הרשת.
    • כדי להוסיף או להסיר נוירונים בשכבה נסתרת, לוחצים על הסמל + או הסמל -. מעל לעמודה של שכבה נסתרת.
    • כדי לשנות את קצב הלמידה צריך לבחור ערך חדש בקטע שיעור למידה בתפריט הנפתח שמעל התרשים.
    • משנים את פונקציית ההפעלה על ידי בחירת ערך חדש התפריט הנפתח הפעלה מעל התרשים.
  2. לוחצים על לחצן ההפעלה (Back️) מעל התרשים כדי לאמן את רשת הנוירונים באמצעות הפרמטרים שצוינו.
  3. לצפות בהדמיה של המודל שמתאים לנתונים כאימון מתקדם, וגם בדיקות אובדן וגם הערכים של הפסד אימון במדד הקטע Output.
  4. אם המודל לא מניב אובדן נמוך מ-0.2 בנתוני הבדיקה והאימון, לוחצים על 'איפוס' וחוזרים על שלבים 1 עד 3 עם הגדרות אישיות שונות. הגדרות. חוזרים על התהליך עד שמגיעים לתוצאות המועדפות.

אפשר ללחוץ כאן כדי לקבל מידע על הפתרון שלנו

הצלחנו להגיע להפסד של פחות מ-0.2 בבדיקות וגם באימון בדרכים הבאות:

  • מוסיפים שכבה מוסתרת אחת שמכילה 3 נוירונים.
  • בחירה של קצב למידה 0.01.
  • בחירת פונקציית הפעלה של ReLU.