היפר-פרמטרים הם משתנים ששולטים בהיבטים שונים של האימון. שלושה היפר-פרמטרים נפוצים הם:
לעומת זאת, פרמטרים הם משתנים כמו המשקולות וההטיה, שהם חלק מהמודל עצמו. לחשבון כלומר, היפר-פרמטרים הם ערכים שנמצאים בשליטה שלך. פרמטרים הם ערכים שהמודל מחשב במהלך האימון.
קצב למידה
שיעור הלמידה הוא מספר הנקודה הצפה שמגדירים שמשפיע על המהירות שבה מתכנסת. אם קצב הלמידה נמוך מדי, המודל עלול להימשך זמן רב כדי להתכנס. עם זאת, אם קצב הלמידה גבוה מדי, המודל אף פעם לא מתכנסת, אבל במקום זאת קופצת סביב המשקולות וההטיה שממזערת . המטרה היא לבחור קצב למידה לא גבוה מדי ולא נמוך מדי שהמודל מתכנס במהירות.
קצב הלמידה קובע את היקף השינויים שיש לבצע במשקולות וההטיה במהלך כל שלב בתהליך הירידה ההדרגתית. המודל מכפיל את ההדרגתיות בקצב הלמידה כדי לקבוע את הפרמטרים של המודל (משקל וערכי הטיה) של האיטרציה הבאה. בשלב השלישי של הדרגתיות של התהליך ירידה, 'כמות קטנה' לזוז בכיוון של שיפוע שלילי מתייחס לקצב הלמידה.
ההבדל בין הפרמטרים הישנים של המודל לפרמטרים החדשים של המודל הוא ביחס לשיפוע של פונקציית הפסד. לדוגמה, אם השיפוע הוא גדול, והמודל לוקח צעד גדול. אם הוא קטן, צריך לבצע צעד קטן. עבור לדוגמה, אם גודל ההדרגתי הוא 2.5 וקצב הלמידה הוא 0.01, אז המודל ישנה את הפרמטר ב-0.025.
קצב הלמידה האידיאלי עוזר למודל להתמזג בתוך מספר סביר של איטרציות. באיור 21, עקומת האובדן מציגה את המודל באופן משמעותי על שיפור במהלך 20 האיטרציות הראשונות לפני תחילת ההתכנסות:
איור 21. תרשים הפסד שמציג מודל שאומן עם קצב למידה מתכנסת במהירות.
לעומת זאת, קצב למידה קטן מדי עלול לקחת יותר מדי חזרות להתכנס. באיור 22, עקומת האובדן מראה שהמודל מייצר הכנסות משניות בלבד שיפורים לאחר כל איטרציה:
איור 22. תרשים הפסד שמציג מודל שאומן עם קצב למידה קטן.
קצב למידה גדול מדי אף פעם לא מתכנס כי כל איטרציה גורמת להפסד לקפוץ או לגדול כל הזמן. באיור 23, אובדן הנתונים רואים שהמודל יורד ואז גדל את האובדן אחרי כל איטרציה, ובאיור 24, האובדן עולה באיטרציות מאוחרות יותר:
איור 23. תרשים הפסד שמציג מודל שאומן עם קצב למידה גדולה מדי, שבה עקומת האובדן משתנה באופן פרוזדורים, עולה ויורדת מספר החזרות גדל.
איור 24. תרשים הפסד שמציג מודל שאומן עם קצב למידה גדול מדי, שבו עקומת האובדן גדלה באופן משמעותי באיטרציות מאוחרות יותר.
תרגיל: בדקו את ההבנה שלכם
גודל הקבוצה
גודל אצווה הוא היפר-פרמטר מתייחס למספר הדוגמאות שהמודל מעבד לפני עדכון המשקולות שלו והטיה. יכול להיות שתחשבו שהמודל צריך לחשב את האובדן של כל במערך הנתונים לפני שמעדכנים את המשקולות וההטיה. אבל, כאשר מערך הנתונים מכיל מאות אלפים ואפילו מיליוני דוגמאות, באמצעות אצווה מלאה היא לא מעשית.
שתי שיטות נפוצות לקבלת ההדרגתיות המתאימה בממוצע, בלי שיהיה צורך בוחנים כל דוגמה במערך הנתונים לפני שמעדכנים את המשקולות ואת ההטיות ירידה אקראית של הדרגתי והדרגתיות סטוכסטית קטנה ירידה:
ירידה סטוכסטית הדרגתית (SGD): ירידה סטוכסטית הדרגתית משתמשת רק דוגמה אחת (באצווה של אחת) לכל איטרציה. מספיק נתונים איטרציות, SGD פועל אבל הוא רועש מאוד. "רעש" מתייחס לשינויים אימון שגורם להפסד לגדול במקום לרדת במהלך בחזרה הקודמת. את המונח "סטוכסטי" מציין שהדוגמה אחת שמ כל קבוצת קבצים נבחרת באופן אקראי.
שימו לב בתמונה הבאה איך האובדן משתנה מעט כשהמודל מעדכן את המשקולות ואת ההטיות שלו באמצעות SGD, מה שעלול להוביל לרעש באובדן תרשים:
איור 25. המודל שאומן עם ירידה הדרגתית סטוכסטית (SGD) מוצג רעש בעקומת אובדן.
שימו לב ששימוש בירידה אקראית אקראית עשוי לגרום לרעש עקומת אובדן מלאה, לא רק קרוב להמרה.
יורד הדרגתי סטוכסטי מינימליסטי (מיני-אצווה של SGD): מיני-אצווה ירידה אקראית הדרגתית היא התפשרות בין אצווה מלאה לבין SGD. עבור $ N $ מספר הנקודות על הגרף. גודל הקבוצה יכול להיות כל מספר שגדול מ-1 ופחות מ-$ N $. המודל בוחר את הדוגמאות שכלולות בכל קבוצה באופן אקראי, מחשבים את הממוצעים של ההדרגתיות שלהם ואז מעדכנים את המשקולות ואת ההטיות פעם אחת בכל איטרציה.
קביעת מספר הדוגמאות לכל אצוות תלוי במערך הנתונים את משאבי המחשוב הזמינים. באופן כללי, קבוצות קטנות מתנהגות כך SGD, ובגדלים גדולים יותר של אצווה פועלים כמו הפחתה הדרגתית של כל השלבים.
איור 26. מודל שאומן באמצעות SGD Mini-באצווה.
כשמאמנים מודל, לפעמים חושבים שרעש הוא לא רצוי מאפיין שצריך להסיר. עם זאת, כמות מסוימת של רעש זה יהיה דבר טוב. במודולים מאוחרים יותר, תלמדו איך רעש יכול לעזור למודל לכללי טוב יותר ולמצוא את משקולות והטיות אופטימליות בנוירונים .
תקופות של זמן מערכת
במהלך האימון, תקופה פירושה עיבדנו כל דוגמה בערכת האימון פעם אחת. לדוגמה, בהינתן בערכת אימון שכוללת 1,000 דוגמאות וכמות קטנה של 100 דוגמאות, תיקח את המודל 10 איטרציות להשלים תקופה אחת של זמן מערכת.
לאימון נדרשים בדרך כלל הרבה תקופות של זמן מערכת. כלומר, המערכת צריכה לעבד כל דוגמה בערכת האימון כמה פעמים.
מספר התקופות של זמן המערכת הוא היפר-פרמטר שמגדירים לפני שהמודל מתחיל באימון. במקרים רבים, תצטרכו להתנסות עם מספר תקופות של זמן המערכת שנדרש כדי שהמודל יתכנס. באופן כללי, יותר תקופות של זמן מערכת מייצרות מודל טוב יותר, גם האימון שלהם לוקח יותר זמן.
איור 27. אצווה מלאה לעומת מיני-אצווה.
הטבלה הבאה מתארת את הקשר בין גודל אצווה לבין תקופות של זמן מערכת פעמים שמודל מעדכן את הפרמטרים שלו.
סוג אצווה | כשמתרחשים עדכונים של משקולות והטיות |
---|---|
קבוצה מלאה | אחרי שהמודל בוחן את כל הדוגמאות במערך הנתונים. לדוגמה, אם מערך נתונים מכיל 1,000 דוגמאות והמודל עבר אימון במשך 20 תקופות של זמן מערכת, המודל מעדכן את המשקולות וההטיה 20 פעמים, פעם אחת בכל תקופה. |
ירידה סטוכסטית הדרגתית | אחרי שהמודל בוחן דוגמה אחת ממערך הנתונים. למשל, אם מערך נתונים מכיל 1,000 דוגמאות ורכבות לאחר 20 תקופות של זמן מערכת, המודל מעדכן את המשקולות וההטיה 20,000 פעמים. |
ירידה הדרגתית בסגנון מיני-אצווה | אחרי שהמודל בוחן את הדוגמאות בכל קבוצה. לדוגמה, אם מערך נתונים מכיל 1,000 דוגמאות, וגודל הקבוצה הוא 100. המודל מתאמן במשך 20 תקופות של זמן מערכת, המודל מעדכן את המשקולות 200 פעמים. |