רשתות נוירונים: צמתים ושכבות מוסתרות

כדי ליצור רשת נוירונים שלומד לינאריות, מתחיל במבנה המוכר הבא של המודל: מודל לינארי של הטופס $y' = b + w_1x_1 + w_2x_2 + w_3x_3$

ניתן להמחיש את המשוואה הזו כפי שמוצג בהמשך, כאשר $x_1$, $x_2$ ו-$x_3$ הם שלושת צומתי הקלט (בכחול), ו-$y'$ הוא צומת הפלט שלנו (בירוק).

תרגיל 1

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

  1. לוחצים על לחצן ההפעלה ({5}️) מעל הרשת כדי לחשב את הערך של את צומת הפלט עבור ערכי הקלט $x_1 = 1.00$, $x_2 = 2.00$, ו x_3$ = 3.00$

  2. לוחצים על הצומת השני ב שכבת הקלט ומגדילים את הערך מ-2.00 ל-2.50. חשוב לשים לב שהערך של צומת הפלט משתנה. בחירת הפלט צמתים (בירוק) ולבדוק את החלונית חישובים כדי לראות איך הפלט חושב.

  3. לוחצים על צומת הפלט (בירוק) כדי לראות את המשקל ($w_1$, $w_2$, $w_3$) הטיה ($b$). הקטנת ערך המשקל עבור $w_3$ (שוב, צריך לשים לב שהערך של צומת הפלט והחישובים הבאים) השתנו). לאחר מכן, מגדילים את ערך ההטיות. בדיקת האופן שבו השינויים האלה השפיעו על הפלט של המודל.

הוספת שכבות לרשת

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

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

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

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

תרגיל 2

הוספנו למודל שכבה נסתרת שמכילה ארבעה נוירונים.

יש ללחוץ על לחצן ההפעלה (Back️) מעל הרשת כדי לחשב את הערך של את ארבעת הצמתים של השכבה הנסתרת ואת צומת הפלט עבור ערכי הקלט $x_1 = 1.00$, $x_2 = 2.00$ ו-$x_3 = 3.00$.

לאחר מכן, חוקרים את המודל ונעזרים בו כדי לענות על השאלות הבאות.

כמה פרמטרים (משקל והטיות) עושה שימוש נוירונים יש מודל רשת?
4
המודל המקורי בתרגיל 1 כלל ארבעה פרמטרים: w11, w21, w31 ו-B. כי המודל הזה מכיל יש יותר פרמטרים.
12
שימו לב שהמספר הכולל של הפרמטרים כולל את שני הפרמטרים משמש לחישוב ערכי הצומת בשכבה הסמויה ערכי הקלט, והפרמטרים שמשמשים לחישוב ערך הפלט מערכי הצמתים בשכבה המוסתרת.
16
שימו לב שהמספר הכולל של הפרמטרים כולל גם את המשקל ואת הפרמטרים של ההטיה.
21
4 פרמטרים משמשים לחישוב כל אחד מ-4 ערכי הצמתים של את השכבה הסמויה - שלושה משקולות (אחד לכל ערך קלט) הטיה – מסתכמת ל-16 פרמטרים. לאחר מכן יש 5 פרמטרים כדי לחשב את ערך הפלט: 4 משקלים (אחת לכל צומת והטיה. בסך הכול, ברשת הנוירונים הזו יש 2 .

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

האם המודל הזה יכול ללמוד על אי ליניאריות?

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

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

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