התאמת יתר: תקינה של L2

רגולריזציה של L2 היא מדד רגולריזציה פופולרי שמשתמש בנוסחה הבאה:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

לדוגמה, בטבלה הבאה מוצג החישוב של רגולריזציית L2 למודל עם שישה משקלים:

ערך ערך בריבוע
w1 0.2 0.04
w2 -0.5 0.25
w3 5.0 25.0
w4 -1.2 1.44
w5 0.3 0.09
w6 -0.1 0.01
    26.83 = סה"כ

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

  • משקל יחיד (w3) תורם כ-93% מהמורכבות הכוללת.
  • חמשת המשקלים האחרים תורמים יחד רק כ-7% מהמורכבות הכוללת.

רגולריזציה של L2 מעודדת את המשקלים להתקרב ל-0, אבל אף פעם לא דוחפת את המשקלים עד לאפס.

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

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

שיעור הרגולריזציה (lambda)

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

$$\text{minimize(loss} + \text{ complexity)}$$

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

כלומר, מפתחי המודלים שואפים להשיג את היעדים הבאים:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

שיעור רגולריזציה גבוה:

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

שיעור סדרה נמוך:

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

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

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

 

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

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

 

בחירת שיעור הרגולריזציה

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

הפסקה מוקדמת: חלופה לרגולציה מבוססת-מורכבות

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

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

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

איך מוצאים איזון בין קצב הלמידה לבין קצב הרגולריזציה

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

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

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