למה אופטימיזציה בלמידת מכונה?

איך מודלים בעצם לומדים — מירידת גרדיאנט הבסיסית ועד Adam

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

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

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

איפה זה ב־MLזו הסיבה שאופטימיזציה נמצאת במרכזה של למידת מכונה. backpropagation מחשב את ∇L. SGD, מומנטום, RMSProp ו־Adam מחליטים איך להשתמש בו. תזמונים שולטים בגודל הצעד, ורגולריזציה מעצבת מחדש את היעד. ברגע שהאימון משמעו מזעור L(θ), השאלה המרכזית הופכת פשוטה: לאיזה כיוון צריכים הפרמטרים לזוז?
▶ למה אופטימיזציה בלמידת מכונה?
← אי־שוויונות ריכוז (קצר)קצב הלמידה →