ייצור מערכות למידת מכונה: אימון סטטי לעומת אימון דינמי

באופן כללי, אפשר לאמן מודל בשתי דרכים:

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

 

איור 3.  כל פעם שמכינים לחם מהבצק הגולמי, הוא יוצא קצת שונה.
איור 3. אימון דינמי. אימון מחדש בתדירות גבוהה, הצגת המודל שנוצר לאחרונה. (תמונות מ-Pexels ומ-Couleur).

 

טבלה 1. היתרונות והחסרונות העיקריים.

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

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

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

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

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

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