רשתות נוירונים: מבנה

כדי לראות איך רשתות נוירונים יכולות לעזור בבעיות לא ליניאריות, נתחיל על ידי ייצוג של מודל ליניארי כגרף:

שלושה עיגולים כחולים ברצף, מחוברים באמצעות חיצים לעיגול ירוק מעליהם

איור 3. את המודל הלינארי כתרשים.

כל עיגול כחול מייצג תכונת קלט, והעיגול הירוק מייצג את הסכום המשוקלל של ערכי הקלט.

איך אפשר לשנות את המודל הזה כדי לשפר את היכולת שלו להתמודד עם בעיות?

שכבות מוסתרות

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

שלושה עיגולים כחולים בשורה עם תווית

איור 4. תרשים של מודל שתי שכבות.

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

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

שלושה עיגולים כחולים בשורה עם תווית

איור 5. תרשים של מודל תלת-שכבתי.

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

פונקציות הפעלה

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

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

זהה לסדר הקודם, מלבד השורה של עיגולים ורודים עם התווית 'Non-Linear Transformation Layer' נוסף בין שתי השכבות הסמויות.

איור 6. תרשים של מודל תלת-שכבתי עם פונקציית הפעלה.

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

פונקציות הפעלה נפוצות

פונקציית ההפעלה sigmoid הבאה ממירה את הסכום המשוקלל ערך בין 0 ל-1.

$$F(x)=\frac{1} {1+e^{-x}}$$

הנה עלילה:

פונקציית Sigmoid

איור 7. פונקציית הפעלה של Sigmoid.

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

$$F(x)=max(0,x)$$

העליונות של ReLU מבוססת על ממצאים אמפיריים, שככל הנראה נבעו מ-ReLU טווח יעיל יותר של תגובה. רמת התגובה של סיגמואיד נופלת משני הצדדים במהירות יחסית.

פונקציית ההפעלה של ReLU

איור 8. פונקציית ההפעלה של ReLU.

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

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

סיכום

המודל שלנו כולל את כל הרכיבים הרגילים של הפעולות שאנשים בדרך כלל כלומר כשאומרים "רשת נוירונים":

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

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