מבוא
במדריך הזה למתחילים נסביר על AutoML. כדי להבין את ההבדלים העיקריים בין AutoML לבין אימון מותאם אישית, אפשר לעיין במאמר בנושא בחירת שיטת אימון.
דמיינו:
- אתם עובדים במחלקת השיווק של קמעונאי דיגיטלי.
- אתם עובדים על פרויקט אדריכלי שבו מזהים סוגים של בניינים.
- לעסק יש טופס ליצירת קשר באתר.
הוספה ידנית של תמונות וטבלאות היא תהליך מייגע שגוזל זמן. ללמד מחשב לזהות ולסמן את התוכן באופן אוטומטי.
תמונה
אתם עובדים עם ועדה לשימור אדריכלי שמנסה לזהות שכונות בעיר שלכם שבהן יש סגנון אדריכלי עקבי. יש לכם מאות אלפי תמונות מצב של בתים שצריך לסנן. עם זאת, זה תהליך מייגע ומועד לשגיאות כשמנסים לסווג את כל התמונות האלה באופן ידני. לפני כמה חודשים, מתמחה תייגה כמה מאות מהם, אבל אף אחד אחר לא בדק את הנתונים. היה ממש שימושי אם היית יכול ללמד את המחשב שלך לבצע את הבדיקה הזו בשבילך!
טבלאי
אתם עובדים במחלקת השיווק של קמעונאי דיגיטלי. אתם והצוות שלכם יוצרים תוכנית אימייל בהתאמה אישית שמבוססת על פרסונות של לקוחות. יצרתם את דמויות הקונים והאימיילים השיווקיים מוכנים לשליחה. עכשיו אתם צריכים ליצור מערכת שמסווגת את הלקוחות לכל דמות קונה על סמך העדפות הקניות והתנהגות ההוצאות שלהם, גם אם הם לקוחות חדשים. כדי למקסם את מעורבות הלקוח, כדאי גם לחזות את הרגלי ההוצאות שלהם כדי שתוכלו לבצע אופטימיזציה של מועדי שליחת האימיילים.
בתור קמעונאים דיגיטליים, יש לכם נתונים על הלקוחות ועל הרכישות שהם ביצעו. אבל מה לגבי לקוחות חדשים? בגישות מסורתיות אפשר לחשב את הערכים האלה עבור לקוחות קיימים עם היסטוריית רכישות ארוכה, אבל הגישות האלה לא מתאימות ללקוחות עם מעט נתונים היסטוריים. מה אם הייתם יכולים ליצור מערכת שתנבא את הערכים האלה ותגדיל את המהירות שבה אתם מציגים תוכניות שיווק בהתאמה אישית לכל הלקוחות שלכם?
למזלנו, למידת מכונה ו-Agent Platform ממוקמות היטב כדי לפתור את הבעיות האלה.
במדריך הזה מוסבר איך Agent Platform פועל עם מערכי נתונים ומודלים של AutoML, ומוצגים סוגי הבעיות ש-Agent Platform פותר.
הערה לגבי הוגנות
Google מחויבת להתקדם ביישום שיטות לפיתוח אחראי של AI. כדי להשיג את המטרה הזו, מוצרי ה-ML שלנו, כולל AutoML, מבוססים על עקרונות ליבה כמו הוגנות ולמידת מכונה שמתמקדת באדם.
למה Agent Platform הוא הכלי הנכון לפתרון הבעיה הזו?
בתכנות קלאסי, המתכנת צריך לציין הוראות מפורטות למחשב. יש כל כך הרבה וריאציות בצבע, בזווית, ברזולוציה ובתאורה, שנדרש קידוד של יותר מדי כללים כדי ללמד מכונה איך לקבל את ההחלטה הנכונה. קשה לדמיין מאיפה בכלל מתחילים. או שהלקוחות משתמשים במגוון רחב של מילים ומבנים, והתגובות שלהם מגוונות מדי כדי שאפשר יהיה לזהות אותן באמצעות קבוצה פשוטה של כללים. אם תנסו ליצור מסננים ידניים, תגלו מהר שאי אפשר לסווג את רוב התגובות של הלקוחות. אתם צריכים מערכת שיכולה להכליל מגוון רחב של תגובות. בתרחיש שבו רצף של כללים ספציפיים צפוי להתרחב באופן אקספוננציאלי, צריך מערכת שיכולה ללמוד מדוגמאות.
למזלנו, למידת מכונה פותרת את הבעיות האלה.
איך פועלת Agent Platform?
פלטפורמת ה-Agent כוללת משימות של למידה מפוקחת כדי להשיג תוצאה נבחרת. הפרטים הספציפיים של האלגוריתם ושיטות האימון משתנים בהתאם לסוג הנתונים ולתרחיש השימוש. קיימות הרבה קטגוריות משנה שונות של למידת מכונה, וכל אחת מהן פותרת בעיות שונות ועובדת במסגרת אילוצים שונים.
תמונה
אתם מאמנים, בודקים ומאמתים את מודל למידת המכונה באמצעות תמונות לדוגמה שמוערות בתוויות לסיווג, או בתוויות ובתיבות תוחמות לזיהוי אובייקטים. באמצעות למידה מפוקחת, אתם יכולים לאמן מודל לזיהוי הדפוסים והתוכן שחשובים לכם בתמונות.
טבלאי
מאמנים מודל למידת מכונה עם נתונים לדוגמה. פלטפורמת הסוכנים
משתמשת בנתונים טבלאיים (מובְנים) כדי לאמן מודל למידת מכונה, במטרה להסיק מסקנות לגבי נתונים חדשים. עמודה אחת ממערך הנתונים, שנקראת היעד, היא מה שהמודל ילמד לחזות. חלק ממספר העמודות האחרות של הנתונים
הן נתוני קלט (שנקראים תכונות) שהמודל ילמד מהם דפוסים. אתם יכולים להשתמש באותן תכונות קלט כדי ליצור כמה סוגים של מודלים, רק על ידי שינוי של עמודת היעד ואפשרויות ההדרכה. בדוגמה של שיווק באימייל, המשמעות היא שאפשר ליצור מודלים עם אותן תכונות קלט אבל עם מסקנות שונות לגבי היעד. מודל אחד יכול לחזות את פרסונת הלקוח (יעד קטגורי), מודל אחר יכול לחזות את ההוצאה החודשית שלו (יעד מספרי), ומודל נוסף יכול לחזות את הביקוש היומי למוצרים שלכם בשלושת החודשים הבאים (סדרה של יעדים מספריים).
תהליך עבודה ב-Agent Platform
Agent Platform משתמשת בתהליך עבודה סטנדרטי של למידת מכונה:
- איסוף הנתונים: קובעים אילו נתונים צריך לאימון ולבדיקה של המודל, בהתאם לתוצאה שרוצים להשיג.
- הכנת הנתונים: מוודאים שהפורמט של הנתונים תקין ושהם מסומנים בצורה נכונה.
- אימון: הגדרת פרמטרים ובניית המודל.
- הערכה: בודקים את מדדי המודל.
- פריסה וחיזוי: הופכים את המודל לזמין לשימוש.
הכנת נתונים
אבל לפני שמתחילים לאסוף את הנתונים, כדאי לחשוב על הבעיה שרוצים לפתור. ההגדרות האלה משפיעות על דרישות הנתונים.
הערכת תרחיש השימוש
מתחילים עם הבעיה: מה התוצאה שרוצים להשיג?
תמונה
כשיוצרים את מערך הנתונים, תמיד מתחילים עם תרחיש לדוגמה. אפשר להתחיל עם השאלות הבאות:
- מה התוצאה שאתם מנסים להשיג?
- אילו סוגים של קטגוריות או אובייקטים צריך לזהות כדי להשיג את התוצאה הזו?
- האם בני אדם יכולים לזהות את הקטגוריות האלה? למרות שהפלטפורמה לסוכנים יכולה לטפל במספר גדול יותר של קטגוריות ממה שאנשים יכולים לזכור ולהקצות בכל זמן נתון, אם אדם לא יכול לזהות קטגוריה ספציפית, גם הפלטפורמה לסוכנים תתקשה.
- אילו סוגי דוגמאות ישקפו בצורה הטובה ביותר את הסוג והטווח של הנתונים שהמערכת תראה ותנסה לסווג?
טבלאי
איזה סוג נתונים יש בעמודת היעד? כמה נתונים זמינים לכם? בהתאם לתשובות שלכם, Agent Platform יוצר את המודל הדרוש כדי לפתור את תרחיש השימוש שלכם:
- מודל סיווג בינארי חוזה תוצאה בינארית (אחת משתי קטגוריות). המאפיין הזה מתאים לשאלות עם תשובות של כן או לא, למשל, חיזוי אם לקוח ירכוש מינוי (או לא). בהנחה שכל שאר התנאים שווים, בעיה של סיווג בינארי דורשת פחות נתונים מסוגים אחרים של מודלים.
- מודל סיווג רב-מחלקתי חוזה מחלקה אחת מתוך שלוש מחלקות נפרדות או יותר. אפשר להשתמש בזה כדי לסווג דברים. בדוגמה של קמעונאות, כדאי ליצור מודל סיווג רב-מחלקתי כדי לפלח את הלקוחות לפרופילים שונים.
- מודל תחזיות חוזה רצף של ערכים. לדוגמה, אם אתם קמעונאים, יכול להיות שתרצו לחזות את הביקוש היומי למוצרים שלכם ל-3 החודשים הבאים, כדי שתוכלו להצטייד מראש במלאי מוצרים מתאים.
- מודל רגרסיה חוזה ערך רציף. בדוגמה של הקמעונאות, כדאי ליצור מודל רגרסיה כדי לחזות כמה לקוח יוציא בחודש הבא.
איסוף הנתונים
אחרי שמגדירים את תרחיש השימוש, אוספים את הנתונים שמאפשרים ליצור את המודל הרצוי.
תמונה
אחרי שמגדירים את הנתונים שצריך, צריך למצוא דרך להשיג אותם. אתם יכולים להתחיל בבדיקה של כל הנתונים שהארגון שלכם אוסף. יכול להיות שכבר יש לכם את הנתונים הרלוונטיים שדרושים לאימון מודל. אם אין לכם את הנתונים האלה, אתם יכולים להשיג אותם באופן ידני או להעביר את זה למיקור חוץ אצל ספק צד שלישי.
צריך לכלול מספיק דוגמאות מתויגות בכל קטגוריה
המספר המינימלי של דוגמאות תמונות שנדרש על ידי Vertex AI Training לסיווג הוא 100 לכל קטגוריה או תווית.
הסיכוי לזיהוי מוצלח של תווית עולה עם מספר הדוגמאות האיכותיות לכל תווית. באופן כללי, ככל שתספקו יותר נתונים מתויגים לתהליך האימון, המודל יהיה טוב יותר. כדאי לטרגט לפחות 1,000 דוגמאות לכל תווית.
חלוקת הדוגמאות באופן שווה בין הקטגוריות
חשוב ללכוד בערך מספר דומה של דוגמאות אימון לכל קטגוריה. גם אם יש לכם הרבה נתונים לתווית אחת, מומלץ שיהיה לכם פיזור שווה לכל תווית. כדי להבין למה, דמיינו ש-80% מהתמונות שבהן אתם משתמשים כדי לבנות את המודל הן תמונות של בתים פרטיים בסגנון מודרני. בגלל חוסר האיזון הזה בחלוקת התוויות, סביר מאוד שהמודל ילמד שאין סיכון לטעות אם הוא תמיד יגיד שהתמונה היא של בית מודרני חד-משפחתי, במקום לנסות לחזות תווית שהיא הרבה פחות נפוצה.
זה כמו לכתוב מבחן רב-ברירה שבו כמעט כל התשובות הנכונות הן 'ג' – בקרוב הנבחן החכם יבין שהוא יכול לענות 'ג' בכל פעם בלי אפילו להסתכל על השאלה.
אנחנו מבינים שלא תמיד אפשר למצוא מספר שווה בערך של דוגמאות לכל תווית. יכול להיות שיהיה קשה יותר למצוא דוגמאות איכותיות ולא מוטות לחלק מהקטגוריות. במקרים כאלה, אפשר לפעול לפי כלל האצבע הבא: התווית עם מספר הדוגמאות הנמוך ביותר צריכה לכלול לפחות 10% מהדוגמאות שכלולות בתווית עם מספר הדוגמאות הגבוה ביותר. לכן, אם התווית הגדולה ביותר כוללת 10,000 דוגמאות, התווית הקטנה ביותר צריכה לכלול לפחות 1,000 דוגמאות.
תיעוד השונות במאפייני הבעיה
מסיבות דומות, חשוב לוודא שהנתונים משקפים את המגוון והשונות של תחום הבעיה. ככל שהמודל יקבל יותר דוגמאות במהלך האימון, כך הוא יוכל ליצור כללים שרלוונטיים לדוגמאות חדשות. לדוגמה, אם מנסים לסווג תמונות של מוצרי אלקטרוניקה ביתיים לקטגוריות, ככל שהמודל נחשף למגוון רחב יותר של מוצרי אלקטרוניקה ביתיים במהלך האימון, כך גדל הסיכוי שהוא יוכל להבחין בין דגם חדש של טאבלט, טלפון או מחשב נייד, גם אם הוא מעולם לא ראה את הדגם הספציפי הזה.
התאמת הנתונים לפלט המיועד של המודל

חיפוש תמונות שדומות מבחינה חזותית למה שאתם מתכננים להסיק לגביו מסקנות. אם מנסים לסווג תמונות של בתים שצולמו במזג אוויר חורפי מושלג, סביר להניח שלא יתקבלו ביצועים טובים ממודל שאומן רק על תמונות של בתים שצולמו במזג אוויר שטוף שמש, גם אם תייגתם אותן בסיווגים שמעניינים אתכם, כי התאורה והנוף עשויים להיות שונים מספיק כדי להשפיע על הביצועים. מומלץ להשתמש בדוגמאות לאימון שמבוססות על נתונים מהעולם האמיתי, שנלקחו מאותו מערך נתונים שבו אתם מתכננים להשתמש במודל כדי לבצע סיווג.
טבלאי
אחרי שמגדירים את תרחיש השימוש, צריך לאסוף נתונים כדי לאמן את המודל.
השגת נתונים והכנתם הם שלבים חשובים מאוד בבניית מודל של למידת מכונה.
הנתונים שזמינים לכם קובעים את סוג הבעיות שתוכלו לפתור. כמה נתונים זמינים לך? האם הנתונים רלוונטיים לשאלות שאתם מנסים לענות עליהן? כשמבצעים איסוף של נתונים, חשוב לזכור את הנקודות הבאות.
בחירת ישויות רלוונטיות
תכונה היא מאפיין קלט שמשמש לאימון המודל. התכונות הן האופן שבו המודל מזהה דפוסים כדי להסיק מסקנות, ולכן הן צריכות להיות רלוונטיות לבעיה. לדוגמה, כדי ליצור מודל שמנבא אם עסקה בכרטיס אשראי היא שמקורה בתרמית או לא, צריך ליצור קבוצת נתונים שמכילה פרטי עסקה כמו הקונה, המפיץ, הסכום, התאריך והשעה והפריטים שנרכשו. תכונות מועילות אחרות יכולות להיות מידע היסטורי על הקונה והמוכר, ועל התדירות שבה הפריט שנרכש היה מעורב בהונאה. אילו תכונות נוספות עשויות להיות רלוונטיות?
נחזור לתרחיש לדוגמה מהמבוא בנושא שיווק באימייל בענף הקמעונאות. הנה כמה עמודות של מאפיינים שאולי תצטרכו:
- רשימת פריטים שנרכשו (כולל מותגים, קטגוריות, מחירים והנחות)
- מספר הפריטים שנרכשו (ביום האחרון, בשבוע האחרון, בחודש האחרון, בשנה האחרונה)
- סכום הכסף שהוצא (ביום האחרון, בשבוע האחרון, בחודש האחרון, בשנה האחרונה)
- לכל פריט, המספר הכולל שנמכר בכל יום
- לכל פריט, סך המלאי בכל יום
- אם אתם מריצים מבצע ליום מסוים
- פרופיל דמוגרפי ידוע של קונה
הכללת מספיק נתונים
באופן כללי, ככל שיש לכם יותר דוגמאות לאימון, כך התוצאה טובה יותר. כמות נתוני הדוגמה הנדרשת משתנה בהתאם למורכבות הבעיה שאתם מנסים לפתור. לא תצטרכו כמות גדולה של נתונים כדי לקבל מודל מדויק של סיווג בינארי, בהשוואה למודל רב-סיווגי, כי קל יותר לחזות סיווג אחד מתוך שניים מאשר מתוך הרבה.
אין נוסחה מושלמת, אבל יש מינימום מומלץ של נתוני דוגמה:
- בעיית סיווג: 50 שורות כפול מספר התכונות
- בעיה בתחזיות:
- 5,000 שורות כפול מספר התכונות
- 10 ערכים ייחודיים בעמודת המזהה של סדרת הזמן כפול מספר התכונות
- בעיית רגרסיה: 200 כפול מספר התכונות
תיעוד וריאציה
מערך הנתונים צריך לשקף את המגוון של תחום הבעיה. ככל שהמודל רואה יותר דוגמאות מגוונות במהלך האימון, כך הוא יכול להכליל בקלות רבה יותר דוגמאות חדשות או פחות נפוצות. תארו לעצמכם שהמודל הקמעונאי שלכם אומן רק באמצעות נתוני רכישות מהחורף. האם הוא יוכל לחזות בהצלחה את ההעדפות או את התנהגויות הרכישה של בגדי קיץ?
הכנת הנתונים
תמונה
אחרי שתחליטו מה מתאים לכם – חלוקה ידנית או חלוקת ברירת המחדל – תוכלו להוסיף נתונים ב-Agent Platform באחת מהשיטות הבאות:
- אפשר לייבא נתונים מהמחשב או מ-Cloud Storage בפורמט זמין (CSV או JSON Lines) עם התוויות (ותיבות תוחמות, אם צריך) בתוך הקובץ. מידע נוסף על הפורמט של קובץ הייבוא זמין במאמר הכנת נתוני האימון. אם רוצים לפצל את מערך הנתונים באופן ידני, אפשר לציין את הפיצולים בקובץ הייבוא בפורמט CSV או JSON Lines.
- אם הנתונים שלכם לא תויגו, אתם יכולים להעלות תמונות לא מתויגות ולהשתמש ב Google Cloud מסוף כדי להוסיף תיוגים. אפשר לנהל את ההערות האלה בכמה קבוצות של הערות לאותה קבוצת תמונות. לדוגמה, עבור קבוצה אחת של תמונות יכולה להיות קבוצת הערות אחת עם תיבת תוחמת ופרטי תווית לזיהוי אובייקטים, וגם קבוצת הערות נוספת עם הערות של תוויות בלבד לסיווג.
טבלאי
אחרי שמזהים את הנתונים הזמינים, צריך לוודא שהם מוכנים לאימון.
אם הנתונים מוטים או מכילים ערכים חסרים או שגויים, זה משפיע על איכות המודל. לפני שמתחילים לאמן את המודל, כדאי לשקול את הנקודות הבאות.
מידע נוסף
מניעת דליפת נתונים ו-training-serving skew
זליגת נתונים מתרחשת כשמשתמשים בתכונות קלט במהלך האימון ש "מזליגות" מידע על היעד שמנסים לחזות, שלא זמין כשהמודל מופעל בפועל. אפשר לזהות את זה כשכוללים כמאפיין קלט תכונה שיש לה קורלציה גבוהה עם עמודת היעד. לדוגמה, אם אתם בונים מודל לחיזוי אם לקוח יירשם למינוי בחודש הבא, ואחד ממאפייני הקלט הוא תשלום עתידי על מינוי מאותו לקוח. הדבר עלול להוביל לביצועים טובים של המודל במהלך הבדיקות, אבל לא כשהוא נפרס בסביבת הייצור, כי פרטי התשלום של המינוי העתידי לא זמינים בזמן הצגת המודל.
training-serving skew הוא מצב שבו תכונות הקלט שמשמשות בזמן האימון שונות מאלה שמועברות למודל בזמן ההצגה, וכתוצאה מכך איכות המודל בסביבת הייצור נמוכה. לדוגמה, בניית מודל לחיזוי טמפרטורות לפי שעה, אבל אימון המודל עם נתונים שמכילים רק טמפרטורות שבועיות. דוגמה נוספת: תמיד מספקים את הציונים של התלמיד בנתוני האימון כשמנסים לחזות נשירה של תלמיד, אבל לא מספקים את המידע הזה בזמן ההצגה.
חשוב להבין את נתוני האימון כדי למנוע דליפת נתונים ו-training-serving skew:
- לפני שמשתמשים בנתונים, חשוב להבין מה המשמעות שלהם ולקבוע אם כדאי להשתמש בהם כמאפיין
- בודקים את המתאם בכרטיסייה Train (אימון). צריך לסמן מתאמים גבוהים לבדיקה.
- הטיה בין אימון להצגה: מוודאים שאתם מספקים למודל רק תכונות קלט שזמינות בדיוק באותו פורמט בזמן ההצגה.
ניקוי נתונים חסרים, חלקיים ולא עקביים
בנתונים לדוגמה, בדרך כלל יש ערכים חסרים ולא מדויקים. כדאי להקדיש זמן לבדיקה ולשיפור של איכות הנתונים לפני שמשתמשים בהם לאימון. ככל שיש יותר ערכים חסרים, כך הנתונים פחות שימושיים לאימון של מודל למידת מכונה.
- בודקים אם חסרים ערכים בנתונים ומתקנים אותם אם אפשר, או משאירים את הערך ריק אם העמודה מוגדרת כעמודה שיכולה להכיל ערך null. Agent Platform יכולה לטפל בערכים חסרים, אבל סביר יותר שתקבלו תוצאות אופטימליות אם כל הערכים יהיו זמינים.
- לצורך חיזוי, צריך לוודא שהמרווח בין שורות האימון עקבי. Agent Platform יכולה להזין ערכים חסרים, אבל סביר יותר שתקבלו תוצאות אופטימליות אם כל השורות יהיו זמינות.
- מנקים את הנתונים על ידי תיקון או מחיקה של שגיאות או רעשי רקע בנתונים. מוודאים שהנתונים עקביים: בודקים את האיות, הקיצורים והפורמט.
ניתוח הנתונים אחרי הייבוא
אחרי הייבוא של מערך הנתונים, Agent Platform מספקת סקירה כללית שלו. בודקים את קבוצת הנתונים המיובאת כדי לוודא שלכל עמודה הוקצה סוג המשתנה הנכון. Agent Platform תזהה אוטומטית את סוג המשתנה על סמך ערכי העמודות, אבל מומלץ לבדוק כל אחד מהם. כדאי גם לבדוק את מאפיין המציין אם ערך יכול להיות ריק (nullability) של כל עמודה, שקובעת אם עמודה יכולה להכיל ערכים חסרים או ערכי null.
אימון מודל
תמונה
איך Agent Platform משתמש במערך הנתונים שלכם כדי ליצור מודל בהתאמה אישית
מערך הנתונים מכיל קבוצות לאימון, לאימות ולבדיקה. אם לא מציינים את הפיצולים
(ראו הכנת הנתונים), Agent Platform משתמשת אוטומטית ב-80% מהתמונות לאימון,
ב-10% לאימות וב-10% לבדיקה.

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

קבוצת נתונים לאימון
רוב הנתונים צריכים להיות בקבוצת נתונים לאימון. אלה הנתונים שהמודל 'רואה' במהלך האימון: הם משמשים ללימוד הפרמטרים של המודל, כלומר המשקלים של הקשרים בין הצמתים של הרשת הנוירונית.
קבוצת נתונים לתיקוף
קבוצת נתונים לתיקוף, שנקראת לפעמים גם קבוצת הפיתוח, משמשת גם במהלך תהליך האימון.
אחרי שמסגרת הלמידה של המודל משלבת נתוני אימון במהלך כל איטרציה של תהליך האימון, היא משתמשת בביצועים של המודל במערך האימות כדי לכוונן את ההיפרפרמטרים של המודל, שהם משתנים שמציינים את המבנה של המודל. אם ניסיתם להשתמש בקבוצת נתונים לאימון כדי לכוונן את ההיפרפרמטרים, סביר להניח שהמודל יתמקד יתר על המידה בנתונים לאימון, ויתקשה להכליל דוגמאות שלא תואמות לו בדיוק.
שימוש במערך נתונים חדש יחסית לצורך כוונון עדין של מבנה המודל, מאפשר למודל לבצע הכללה טובה יותר.
קבוצת נתונים לבדיקה
קבוצת הנתונים לבדיקה לא מעורבת בתהליך האימון בכלל. אחרי שהמודל סיים את האימון שלו, Agent Platform משתמש בקבוצת הנתונים לבדיקה כאתגר חדש לגמרי עבור המודל.
הביצועים של המודל שלכם בקבוצת נתונים לבדיקה אמורים לתת לכם מושג די טוב לגבי הביצועים של המודל שלכם בנתונים מהעולם האמיתי.
הערכה, בדיקה ופריסה של המודל
הערכת המודל
תמונה
אחרי שהמודל יאומן, תקבלו סיכום של ביצועי המודל. כדי לראות ניתוח מפורט, לוחצים על הערכה או על הצגת ההערכה המלאה.
ניפוי באגים במודל מתמקד יותר בניפוי באגים בנתונים מאשר במודל עצמו. אם בשלב כלשהו המודל מתחיל לפעול באופן לא צפוי בזמן שאתם מעריכים את הביצועים שלו לפני ואחרי ההעברה לסביבת הייצור, כדאי לחזור ולבדוק את הנתונים כדי לראות איפה אפשר לשפר אותו.
אילו סוגי ניתוחים אפשר לבצע ב-Agent Platform?
בקטע'הערכה' ב-Agent Platform, אפשר להעריך את הביצועים של המודל המותאם אישית באמצעות הפלט של המודל בדוגמאות בדיקה ומדדים נפוצים של למידת מכונה. בקטע הזה נסביר מה המשמעות של כל אחד מהמושגים האלה.- הפלט של המודל
- סף הניקוד
- תוצאות חיוביות אמיתיות, תוצאות שליליות אמיתיות, תוצאות חיוביות שגויות ותוצאות שליליות שגויות
- דיוק וזיכרון
- עקומות של דיוק/החזרה
- דיוק ממוצע
איך מפרשים את הפלט של המודל?
Agent Platform שולפת דוגמאות מנתוני הבדיקה כדי להציג אתגרים חדשים לגמרי למודל. לכל דוגמה, המודל מוציא סדרה של מספרים שמציינים את מידת השיוך של כל תווית לדוגמה הזו. אם המספר גבוה, המודל בטוח מאוד שהתווית צריכה להיות מוחלת על המסמך הזה.
מהו סף הציון?
אנחנו יכולים להמיר את ההסתברויות האלה לערכים בינאריים של 'מופעל'/'מושבת' על ידי הגדרת סף ניקוד. סף הניקוד מתייחס לרמת המהימנות שנדרשת מהמודל כדי להקצות קטגוריה לפריט בדיקה. הסרגל להגדרת ערך הסף של הניקוד במסוף Google Cloud הוא כלי ויזואלי לבדיקת ההשפעה של ערכי סף שונים על כל הקטגוריות ועל קטגוריות ספציפיות במערך הנתונים. אם סף הניקוד נמוך, המודל יסווג יותר תמונות, אבל יש סיכון שהוא יסווג כמה תמונות בצורה שגויה. אם סף הניקוד גבוה, המודל מסווג פחות תמונות, אבל הסיכון לסיווג שגוי של תמונות נמוך יותר. אתם יכולים לשנות את ערכי הסף לכל קטגוריה במסוף Google Cloud כדי לבצע ניסויים. עם זאת, כשמשתמשים במודל בייצור, צריך לאכוף את ערכי הסף האופטימליים שמצאתם בצד שלכם.

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

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

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

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

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

איך מפרשים את עקומות הדיוק וההחזרה?

הכלי 'סף הציון' מאפשר לבדוק איך סף הציון שבחרתם משפיע על
הדיוק וההחזרה. כשגוררים את פס הסף של הציון, אפשר לראות איפה הסף הזה מציב אתכם בעקומת האיזון בין דיוק לבין היזכרות, וגם איך הסף הזה משפיע על הדיוק ועל ההיזכרות בנפרד (במודלים עם כמה סיווגים, בתרשימים האלה, דיוק והיזכרות פירושם שהתווית היחידה שמשמשת לחישוב מדדי הדיוק וההיזכרות היא התווית עם הציון הכי גבוה מתוך קבוצת התוויות שאנחנו מחזירים). כך תוכלו למצוא איזון טוב בין תוצאות חיוביות כוזבות לבין תוצאות שליליות כוזבות.
אחרי שבוחרים סף שנראה מקובל למודל כולו, לוחצים על התוויות השונות כדי לראות איפה הסף הזה ממוקם בעקומת הדיוק וההחזרה של כל תווית. במקרים מסוימים, יכול להיות שתקבלו הרבה מסקנות שגויות לגבי כמה תוויות, מה שיעזור לכם להחליט לבחור סף לכל סיווג שמותאם לתוויות האלה. לדוגמה, נניח שאתם בוחנים את מערך הנתונים של הבתים ומבחינים שסף של 0.5 מספק דיוק והחזרה סבירים לכל סוג תמונה, מלבד 'טיודור', אולי כי זו קטגוריה כללית מאוד. בקטגוריה הזו, אתם רואים הרבה תוצאות חיוביות שגויות. במקרה כזה, יכול להיות שתחליטו להשתמש בסף של 0.8 רק עבור 'Tudor' כשאתם קוראים למסווג כדי להסיק מסקנות.
מהי רמת הדיוק הממוצעת?
מדד שימושי לדיוק המודל הוא השטח שמתחת לעקומת הדיוק וההחזרה. המדד הזה מראה את הביצועים של המודל בכל ספי הערכים. ב-Agent Platform, המדד הזה נקרא Average Precision (דיוק ממוצע). ככל שהציון קרוב יותר ל-1.0, כך המודל מניב ביצועים טובים יותר בקבוצת הנתונים לבדיקה. מודל שמנחש באופן אקראי לכל תווית יקבל דיוק ממוצע של כ-0.5.
טבלאי
אחרי אימון המודל, תקבלו סיכום של הביצועים שלו. מדדי הערכת המודל מבוססים על הביצועים של המודל בהשוואה לפלח של מערך הנתונים (מערך הנתונים של הבדיקה). יש כמה מדדים ומושגים מרכזיים שכדאי להביא בחשבון כשקובעים אם המודל מוכן לשימוש עם נתונים אמיתיים.
מדדי סיווג
סף הניקוד
נניח שיש מודל למידת מכונה שמנבא אם לקוח יקנה מעיל בשנה הבאה. מה רמת הוודאות שנדרשת מהמודל כדי לחזות שלקוח מסוים יקנה מעיל? במודלים של סיווג, לכל מסקנה מוקצה ציון מהימנות – הערכה מספרית של מידת הוודאות של המודל לגבי נכונות הסיווג. סף הציון הוא המספר שקובע מתי ציון מסוים מומר להחלטה חיובית או שלילית. כלומר, זה הערך שבו המודל קובע: "כן, ציון רמת הביטחון הזה גבוה מספיק כדי להסיק שהלקוח הזה ירכוש מעיל בשנה הקרובה".
אם ערך הסף של הציון נמוך, קיים סיכון שהמודל יבצע סיווג שגוי. לכן, ערך הסף של הניקוד צריך להתבסס על תרחיש שימוש נתון.
תוצאות של הסקה
אחרי שמחילים את ערך הסף של הניקוד, ההסקות שהמודל מבצע ישתייכו לאחת מארבע קטגוריות. כדי להבין את הקטגוריות האלה, נחזור לדוגמה של מודל סיווג בינארי של מעיל. בדוגמה הזו, הסיווג החיובי (מה שהמודל מנסה לחזות) הוא שהלקוח ירכוש מעיל בשנה הקרובה.
- חיובי אמיתי: המודל חוזה נכון את המחלקה החיובית. המודל חזה בצורה נכונה שלקוח רכש מעיל.
- תוצאה חיובית שגויה: המודל חוזה באופן שגוי את המחלקה החיובית. המודל חזה שלקוח רכש מעיל, אבל הוא לא רכש.
- שלילי אמיתי: המודל חוזה נכון את המחלקה השלילית. המודל חזה בצורה נכונה שלקוח לא רכש מעיל.
- שלילי שגוי: המודל חוזה באופן שגוי מחלקה שלילית. המודל חזה שלקוח לא ירכוש מעיל, אבל הוא כן רכש.
דיוק וזיכרון
מדדי הדיוק וההחזרה עוזרים להבין באיזו מידה המודל מצליח ללכוד מידע ומה הוא משמיט. מידע נוסף על דיוק ועל היקף החיפוש
- דיוק הוא החלק מתוך ההסקות החיוביות שהיו נכונות. מתוך כל ההסקות לגבי רכישה של לקוח, מהו החלק שהיה רכישות בפועל?
- היזכרות היא החלק היחסי של השורות עם התווית הזו שהמודל חזה בצורה נכונה. מתוך כל הרכישות של הלקוחות שאפשר היה לזהות, כמה אחוזים זוהו?
בהתאם לתרחיש השימוש, יכול להיות שתצטרכו לבצע אופטימיזציה לדיוק או לריקול.
מדדים אחרים של סיווג
- AUC PR: השטח מתחת לעקומת הדיוק וההחזרה (PR). הערך הזה נע בין אפס לאחד, כאשר ערך גבוה יותר מציין מודל באיכות גבוהה יותר.
- AUC ROC: השטח מתחת לעקומת מאפייני ההפעלה של המקלט (ROC). הערך נע בין אפס לאחד, וככל שהערך גבוה יותר, המודל איכותי יותר.
- דיוק: החלק היחסי של מסקנות הסיווג שהופקו על ידי המודל שהיו נכונות.
- הפסד לוגריתמי: האנטרופיה הצולבת בין ההסקות של המודל לבין ערכי היעד. הטווח נע בין אפס לאינסוף, כאשר ערך נמוך יותר מציין מודל באיכות גבוהה יותר.
- ציון F1: הממוצע ההרמוני של הדיוק וההחזרה. המדד F1 שימושי אם אתם מחפשים איזון בין דיוק לבין היזכרות, ויש התפלגות לא אחידה של מחלקות.
מדדים של תחזיות ורגרסיה
אחרי שהמודל נוצר, Agent Platform מספקת מגוון של מדדים סטנדרטיים לבדיקה. אין תשובה מושלמת לשאלה איך להעריך את המודל. כדאי לשקול את מדדי ההערכה בהקשר של סוג הבעיה ושל המטרות שרוצים להשיג באמצעות המודל. הרשימה הבאה היא סקירה כללית של חלק מהמדדים ש-Agent Platform יכול לספק.
שגיאה ממוצעת מוחלטת (MAE)
MAE הוא ההפרש המוחלט הממוצע בין ערכי היעד לבין הערכים החזויים. המדד הזה מודד את הגודל הממוצע של השגיאות – ההפרש בין ערך היעד לבין הערך החזוי – בקבוצה של מסקנות. בנוסף, מכיוון שהפונקציה משתמשת בערכים מוחלטים, היא לא מתייחסת לכיוון הקשר ולא מציינת ביצועים נמוכים או גבוהים מדי. כשמעריכים את MAE, ערך קטן יותר מצביע על מודל באיכות גבוהה יותר (0 מייצג מודל חיזוי מושלם).
שורש טעות ריבועית ממוצעת (RMSE)
ה-RMSE הוא השורש הריבועי של ההפרש הממוצע בריבוע בין ערכי היעד לבין הערכים החזויים. המדד RMSE רגיש יותר לערכים חריגים מהמדד MAE, ולכן אם אתם חוששים משגיאות גדולות, כדאי להשתמש במדד RMSE כדי להעריך את השגיאות. בדומה ל-MAE, ערך קטן יותר מציין מודל באיכות גבוהה יותר (0 מייצג מודל חיזוי מושלם).
שורש טעות ריבועית ממוצעת לוגריתמית (RMSLE)
RMSLE הוא RMSE בקנה מידה לוגריתמי. המדד RMSLE רגיש יותר לשגיאות יחסיות מאשר לשגיאות מוחלטות, וחשוב לו יותר להעריך ביצועים נמוכים מדי מאשר ביצועים גבוהים מדי.
כמות חלוקה שנצפתה (חיזוי בלבד)
עבור קוונטיל יעד נתון, הקוונטיל שנצפה מציג את החלק בפועל של הערכים שנצפו מתחת לערכי ההסקה של הקוונטיל שצוין. הכמותון שנצפה מראה עד כמה המודל קרוב לכמותון היעד. הבדל קטן יותר בין שני הערכים מצביע על מודל באיכות גבוהה יותר.
Scaled pinball loss (forecasting only)
מדד לאיכות של מודל בקוונטיל יעד נתון. מספר נמוך יותר מציין מודל באיכות גבוהה יותר. אפשר להשוות את מדד ההפסד של פינבול בקנה מידה שונה באחוזונים שונים כדי לקבוע את הדיוק היחסי של המודל בין האחוזונים השונים האלה.
בדיקת המודל
תמונה
Agent Platform משתמשת אוטומטית ב-10% מהנתונים שלכם (או באחוז שבחרתם אם בחרתם את פיצול הנתונים בעצמכם) כדי לבדוק את המודל. בדף 'הערכה' מפורטות תוצאות הבדיקה של המודל על נתוני הבדיקה האלה. אבל למקרה שתרצו לבדוק את רמת הביטחון של המודל, יש כמה דרכים לעשות זאת. הדרך הכי קלה היא להעלות כמה תמונות בדף Deploy & test (פריסה ובדיקה), ולבדוק את התוויות שהמודל בוחר לדוגמאות שלכם. אנחנו מקווים שהמידע הזה עונה על הציפיות שלך. מנסים כמה דוגמאות לכל סוג של תמונה שאתם מצפים לקבל.
אם אתם רוצים להשתמש במודל בבדיקות אוטומטיות משלכם, בדף 'פריסה ובדיקה' מוסבר גם איך לבצע קריאות למודל באופן פרוגרמטי.
טבלאי
הדרך העיקרית לקבוע אם המודל מוכן לפריסה היא להעריך את מדדי המודל, אבל אפשר גם לבדוק אותו באמצעות נתונים חדשים. מעלים נתונים חדשים כדי לבדוק אם ההסקות של המודל תואמות לציפיות שלכם. על סמך מדדי ההערכה או הבדיקה עם נתונים חדשים, יכול להיות שתצטרכו להמשיך לשפר את הביצועים של המודל.
פריסת המודל
תמונה
כשמרוצים מהביצועים של המודל, אפשר להשתמש בו. יכול להיות שזה אומר שימוש בהיקף ייצור, או שאולי מדובר בבקשת הסקה חד-פעמית. בהתאם לתרחיש לדוגמה, אפשר להשתמש במודל בדרכים שונות.
היסק באצווה
הסקת מסקנות באצווה שימושית כשרוצים לשלוח הרבה בקשות להסקת מסקנות בבת אחת. הסקת מסקנות באצווה היא אסינכרונית, כלומר המודל ימתין עד שיעבד את כל הבקשות להסקת מסקנות לפני שיחזיר קובץ JSON Lines עם ערכי הסקת המסקנות.
היקש אונליין
פורסים את המודל כדי שיהיה זמין לבקשות הסקה באמצעות API בארכיטקטורת REST. הסקת מסקנות אונליין היא סינכרונית (בזמן אמת), כלומר היא תחזיר במהירות תוצאת הסקת מסקנות, אבל היא מקבלת רק בקשת הסקת מסקנות אחת לכל קריאה ל-API. הסקת מסקנות אונליין שימושית אם המודל שלכם הוא חלק מאפליקציה וחלקים מהמערכת שלכם תלויים בהסקת מסקנות מהירה.
טבלאי
כשמרוצים מהביצועים של המודל, אפשר להשתמש בו. יכול להיות שהמשמעות היא שימוש בהיקף ייצור, או שאולי מדובר בבקשת הסקה חד-פעמית. בהתאם לתרחיש לדוגמה שלכם, תוכלו להשתמש במודל בדרכים שונות.
היסק באצווה
הסקת מסקנות באצווה שימושית כשרוצים להגיש הרבה בקשות להסקת מסקנות בבת אחת. הסקת מסקנות באצווה היא אסינכרונית, כלומר המודל ימתין עד שיעבד את כל בקשות הסקת המסקנות לפני שיחזיר קובץ CSV או טבלת BigQuery עם ערכי הסקת המסקנות.
היקש אונליין
פורסים את המודל כדי שיהיה זמין לבקשות הסקה באמצעות API בארכיטקטורת REST. הסקת מסקנות אונליין היא סינכרונית (בזמן אמת), כלומר היא תחזיר במהירות מסקנה, אבל היא מקבלת רק בקשת מסקנה אחת לכל קריאה ל-API. הסקת מסקנות אונליין שימושית אם המודל שלכם הוא חלק מאפליקציה וחלקים מהמערכת שלכם תלויים בהסקת מסקנות מהירה.
הסרת המשאבים
כדי להימנע מחיובים לא רצויים, מומלץ לבטל את הפריסה של המודל כשלא משתמשים בו.
אחרי שמסיימים להשתמש במודל, מומלץ למחוק את המשאבים שיצרתם כדי להימנע מחיובים לא רצויים בחשבון.