ירידת גרדיאנט (Gradient Descent)
הגדרה
ירידת גרדיאנט היא שיטת האופטימיזציה המרכזית לאימון רשתות נוירונים — מתקדמת בהדרגה לכיוון שמקטין את שגיאת המודל, צעד קטן בכל פעם.
בזמן אימון, המודל מודד כמה הוא טועה (פונקציית-איבוד), ומחשב לאיזה כיוון לשנות כל פרמטר כדי להקטין את הטעות — "גרדיאנט" הוא בדיוק הכיוון הזה, בעולם רב-ממדי של מיליוני פרמטרים.
השיטה עצמה עתיקה בהרבה מרשתות-נוירונים: המתמטיקאי הצרפתי אוגוסטן-לואי קושי תיאר אותה לראשונה כבר ב-1847, כדרך כללית לפתור משוואות על ידי צעדים קטנים וחוזרים בכיוון-השיפוע — כמעט 140 שנה לפני שמישהו חשב להשתמש בה לאימון רשת-נוירונים.
המודל מזיז את כל הפרמטרים שלו צעד קטן בכיוון הזה, שוב ושוב, אלפי או מיליוני פעמים — בהדרגה "יורד" לעבר נקודה שבה הטעות הכי נמוכה שאפשר, כמו מטייל שיורד במורד הר בערפל, צעד-צעד, לפי השיפוע המקומי. גודל-הצעד הזה נקרא "קצב-למידה" (Learning Rate) — צעד גדול-מדי עלול "לקפוץ" מעבר לנקודה הטובה ביותר בלי למצוא אותה, וצעד קטן-מדי הופך את האימון לאיטי בצורה בלתי-מעשית.
בפועל, כמעט אף מודל מודרני לא משתמש בירידת-גרדיאנט הבסיסית והטהורה. הגרסה הנפוצה ביותר, ירידת-גרדיאנט סטוכסטית (Stochastic Gradient Descent — SGD), מחשבת את הגרדיאנט על מדגם-קטן אקראי של הנתונים בכל צעד במקום על כולם — מהיר בהרבה, ולמרות ה"רעש" הנוסף בכיוון-הצעד, בפועל מתכנס טוב לא-פחות. שיפור נוסף ונפוץ עוד יותר, Adam (קיצור של Adaptive Moment Estimation, הוצג ב-2014 על ידי דידריק קינגמה וג'ימי בא), מכוונן אוטומטית קצב-למידה נפרד לכל פרמטר בהתאם להיסטוריית-הגרדיאנטים שלו — כמעט כל אימון מודל-שפה-גדול מודרני משתמש בגרסה כלשהי של Adam, לא בגרסה הבסיסית של קושי מ-1847. מגבלה ידועה של השיטה כולה, לא משנה הגרסה: היא מוצאת רק מינימום מקומי — נקודה טובה יחסית לסביבתה המיידית — בלי ערובה שזו הנקודה הטובה ביותר בכלל המרחב; במרחב עתיר-ממדים כמו של רשת-נוירונים גדולה, בפועל מסתבר שרוב המינימה המקומיים "מספיק טובים", אבל אין הוכחה מתמטית מלאה לכך.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות