רשתות נוירונים: תרגילי מגרש משחקים

רשת נוירונים ראשונה

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

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

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

משימה 3: נסו להגדיל את מספר הנוירונים בשכבה המוסתרת מ-2 ל-3, באמצעות הפעלה לא לינארית כמו ReLU. האם המודל יכול לפעול בצורה יעילה? איך איכות המודל משתנה מריצה לריצה?

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

האם הגדלת המודל מגדילה את ההתאמה, או במהירות שבה הוא מתמזג? האם זה משנה את התדירות שבה הוא מתחבר למודל טוב? לדוגמה, נסו את הארכיטקטורה הבאה:

  • השכבה המוסתרת הראשונה עם 3 נוירונים.
  • שכבה שנייה מוסתרת עם 3 נוירונים.
  • שכבה שלישית מוסתרת עם 2 נוירונים.

(התשובות מופיעות מתחת לפעילות הגופנית).



אתחול נוירולוגי

תרגיל זה משתמש שוב בנתוני ה-XOR, אבל הוא מתייחס לחזרה על האימון של רשתות נוירונים ולחשיבות האתחול.

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

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

(התשובות מופיעות מתחת לפעילות הגופנית).



מסלע נטו נוירוני

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

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

משימה 2: גם ברשתות נוירונים, לרוב יש צורך בהנדסת תכונות כדי להשיג את הביצועים הטובים ביותר. נסו להוסיף עוד תכונות של צלב או שינויים אחרים כמו sin(X1) ו-sin(X2 ). האם יש לכם מודל טוב יותר? האם הפלט של המודל ברור יותר?

(התשובות מופיעות מתחת לפעילות הגופנית).