כדי לבנות רשת נוירונים הלומדת אי-לינאריות , יש להתחיל עם מבנה המודל המוכר הבא: מודל ליניארי בצורה $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.
נוכל לדמיין את המשוואה הזו כפי שמוצג להלן, כאשר $x_1$, $x_2$ ו- $x_3$ הם שלושת צמתי הקלט שלנו (בכחול), ו- $y'$ הוא צומת הפלט שלנו (בירוק).
תרגיל 1
במודל שלמעלה, ערכי המשקל וההטיה אותחלו באופן אקראי. בצעו את המשימות הבאות כדי להכיר את הממשק ולחקור את המודל הליניארי. ניתן להתעלם מהתפריט הנפתח של פונקציית ההפעלה לעת עתה; נדון בנושא זה בהמשך המודול.
לחצו על כפתור ההפעלה (▶️) מעל הרשת כדי לחשב את ערך צומת הפלט עבור ערכי הקלט $x_1 = 1.00$, $x_2 = 2.00$, ו- $x_3 = 3.00$.
לחצו על הצומת השני בשכבת הקלט והגדילו את הערך מ-2.00 ל-2.50. שימו לב שערך צומת הפלט משתנה. בחרו את צמתי הפלט (בירוק) ועיינו בחלונית החישובים כדי לראות כיצד חושב ערך הפלט.
לחצו על צומת הפלט (בירוק) כדי לראות את ערכי הפרמטרים המשקל ($w_1$, $w_2$, $w_3$) והטיה ($b$). הקטינו את ערך המשקל עבור $w_3$ (שוב, שימו לב שערך צומת הפלט והחישובים שלהלן השתנו). לאחר מכן, הגדילו את ערך ההטיה. סקרו כיצד שינויים אלה השפיעו על פלט המודל.
הוספת שכבות לרשת
שימו לב שכאשר התאמתם את ערכי המשקל וההטיה של הרשת בתרגיל 1 , הדבר לא שינה את הקשר המתמטי הכולל בין קלט לפלט. המודל שלנו הוא עדיין מודל ליניארי.
אבל מה אם נוסיף שכבה נוספת לרשת, בין שכבת הקלט לשכבת הפלט? בטרמינולוגיה של רשתות נוירונים, שכבות נוספות בין שכבת הקלט לשכבת הפלט נקראות שכבות נסתרות , והצמתים בשכבות אלו נקראים נוירונים .
ערכו של כל נוירון בשכבה הנסתרת מחושב באותו אופן כמו הפלט של מודל ליניארי: לוקחים את סכום המכפלה של כל אחד מהקלטים שלו (הנוירונים בשכבת הרשת הקודמת) ופרמטר משקל ייחודי, בתוספת ההטיה. באופן דומה, הנוירונים בשכבה הבאה (כאן, שכבת הפלט) מחושבים באמצעות ערכי הנוירונים של השכבה הנסתרת כקלטים.
שכבה נסתרת חדשה זו מאפשרת למודל שלנו לשלב מחדש את נתוני הקלט באמצעות קבוצה נוספת של פרמטרים. האם זה יכול לעזור למודל שלנו ללמוד קשרים לא ליניאריים?
תרגיל 2
הוספנו למודל שכבה נסתרת המכילה ארבעה נוירונים.
לחצו על כפתור ההפעלה (▶️) מעל הרשת כדי לחשב את הערך של ארבעת צמתים בשכבה הנסתרת וצומת הפלט עבור ערכי הקלט $x_1 = 1.00$, $x_2 = 2.00$, ו- $x_3 = 3.00$.
לאחר מכן, חקרו את המודל, והשתמשו בו כדי לענות על השאלות הבאות.
נסה לשנות את פרמטרי המודל, וצפה בהשפעה על ערכי הצומת בשכבה הנסתרת ועל ערך הפלט (ניתן לעיין בחלונית החישובים למטה כדי לראות כיצד חושבו ערכים אלה).
האם מודל זה יכול ללמוד אי-לינאריות?
אם תלחצו על כל אחד מהצמתים בשכבה המוסתרת ותעברו על החישובים למטה, תראו שכולם ליניאריים (הכוללים פעולות כפל וחיבור).
אם לאחר מכן תלחצו על צומת הפלט ותעברו על החישוב למטה, תראו שחישוב זה הוא גם ליניארי. חישובים ליניאריים המבוצעים על הפלט של חישובים ליניאריים הם גם ליניאריים, מה שאומר שמודל זה אינו יכול ללמוד אי-ליניאריות.