צמצום הפסד: ירידה הדרגתית סטוכסטית

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

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

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

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

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