רגרסיה לינארית: היפר-פרמטרים

פרמטרים היפר-מופשטים הם משתנים ששולטים בהיבטים שונים של האימון. קיימים שלושה היפר-פרמטרים נפוצים:

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

קצב למידה

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

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

ההבדל בין הפרמטרים של המודל הישן לפרמטרים החדשים של המודל הוא יחסי לשיפוע של פונקציית האובדן. לדוגמה, אם השיפוע גדול, המודל יעשה צעד גדול. אם הוא קטן, הוא נע צעד קטן. לדוגמה, אם עוצמת המדרון היא 2.5 ושיעור הלמידה הוא 0.01, המודל ישנה את הפרמטר ב-0.025.

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

איור 21. עקומת הפסד שמציגה שיפוע תלול לפני ההתאזנות.

איור 21. תרשים אובדן שמציג מודל שאומן לפי קצב למידה שמשתנה במהירות.

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

איור 22. עקומת אובדן שמציגה שיפוע של כמעט 45 מעלות.

איור 22. תרשים הפסד שמציג מודל שאומן עם קצב למידה קטן.

שיעור למידה גדול מדי אף פעם לא מתכנס, כי בכל חזרה (iteration) הערך של האובדן משתנה או עולה באופן קבוע. באיור 23, עקומת האובדן מראה שהאובדן של המודל יורד ואז עולה אחרי כל חזרה, ובאיור 24 האובדן עולה בחזרות מאוחרות יותר:

איור 23. עקומת אובדן שמציגה קו משולש למעלה ולמטה.

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

איור 24. עקומת אובדן שמראה עלייה באובדן במהלך חזרות מאוחרות יותר

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

תרגול: בדיקת ההבנה

מהו קצב הלמידה האידיאלי?
קצב הלמידה האידיאלי תלוי בבעיה.
לכל מודל ולמערך נתונים יש קצב למידה אידיאלי משלו.
0.01
1.0

גודל האצווה

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

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

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

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

    איור 25. עקומת הפסד תלולה שמתמתנת, אבל עם הרבה תנודות קטנות.

    איור 25. המודל אומן לפי ירידה הדרגתית סטוכסטית (SGD) שמציג רעש בעקומת האובדן.

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

  • ירידה הדרגתית סטוכסטית בסגנון מיני (Mini-batch SGD): ירידה הדרגתית אקראית בסגנון מיני-אצווה יוצרת התפשרות בין אצווה מלאה לבין SGD. למספר הנקודות בנתונים, גודל האצווה יכול להיות כל מספר גדול מ-1 וקטן מ-N. המודל בוחר את הדוגמאות שכלולות בכל אצווה באופן אקראי, מחשב את הממוצע של הנגזרות שלהן ולאחר מכן מעדכן את המשקלים וההטיה פעם אחת בכל חזרה.

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

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

    איור 26. מודל שאומן באמצעות SGD של קבוצות קטנות.

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

תקופות

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

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

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

איור 27. קבוצה מלאה היא כל מערך הנתונים, קבוצה קטנה היא קבוצת משנה של מערך הנתונים, ותקופה של זמן מערכת (epoch) היא מעבר מלא על עשר קבוצות קטנות.

איור 27. אצווה מלאה לעומת אצווה קטנה.

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

סוג אצווה מתי מתרחשים עדכונים של משקלים ושל הטיה
קבוצה מלאה אחרי שהמודל בודק את כל הדוגמאות במערך הנתונים. לדוגמה, אם מערך נתונים מכיל 1,000 דוגמאות והמודל מתאמן במשך 20 מחזורי אימון, הוא מעדכן את המשקלים וההטיה 20 פעמים, פעם אחת בכל מחזור אימון.
ירידה סטוכסטית בגרדינט אחרי שהמודל בוחן דוגמה אחת ממערך הנתונים. לדוגמה, אם מערך נתונים מכיל 1,000 דוגמאות והוא מתאמן במשך 20 מחזורי אימון, המודל מעדכן את המשקלים וההטיה 20,000 פעמים.
ירידה סטוכסטית בגרדינט של מקבצים קטנים אחרי שהמודל בודק את הדוגמאות בכל קבוצה. לדוגמה, אם מערך נתונים מכיל 1,000 דוגמאות, וגודל אצווה הוא 100, והמודל עבר אימון במשך 20 תקופות של זמן מערכת, המודל מעדכן את המשקולות ואת ההטיות 200 פעמים.

תרגול: בדיקת ההבנה

1. מהו גודל האצווה הטוב ביותר כשמשתמשים ב-SGD של אצווה קטנה?
תלוי
גודל האצווה האידיאלי תלוי במערך הנתונים ובמשאבי המחשוב הזמינים
10 דוגמאות לכל קבוצה
100 דוגמאות לכל קבוצה
2. אילו מההצהרות הבאות נכונות?
קבוצות גדולות יותר לא מתאימות לנתונים עם חריגים רבים.
ההצהרה הזו שגויה. כשמחשבים את הממוצע של יותר שיפועים יחד, גדלים גדולים יותר של קבוצות יכולים לעזור לצמצם את ההשפעות השליליות של ערכים חריגים בנתונים.
הכפלת קצב הלמידה עלולה להאט את האימון.
ההצהרה הזו נכונה. הכפלת קצב הלמידה עלולה לגרום לקצב למידה גדול מדי, וכתוצאה מכך המשקלים 'יקפצו', ויגדילו את משך הזמן הנדרש להגיע להסכמה. כמו תמיד, הפרמטרים הטובים ביותר תלויים במערך הנתונים ובמשאבי המחשוב הזמינים.