מבוא ל-Vertex AI ניתן להסברה

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

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

הסברים שמבוססים על דוגמאות

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

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

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

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

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

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

    עם זאת, אם ההסברים הגיעו בעיקר מהסיווג bird, זהו אות לכך שהמודל שלנו לא יכול ללמוד קשרים גם כשהנתונים עשירים, וצריך לשקול להגדיל את מורכבות המודל (למשל, להוסיף עוד שכבות).

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

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

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

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

כדי ליצור מודל שתומך בהסברים מבוססי-דוגמאות, ראו הגדרת הסברים מבוססי-דוגמאות.

סוגי מודלים נתמכים

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

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

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

הסברים שמבוססים על תכונות

‫Vertex AI ניתן להסברה משלב שיוך תכונות ב-Vertex AI. בקטע הזה מופיעה סקירה כללית קצרה של שיטות שיוך התכונות שזמינות ב-Vertex AI.

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

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

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

    תרשים שיוך תכונות למשך נסיעה חזוי באופניים

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

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

    תמונה של חרצית עם שכבת-על של שיוך תכונות
    תמונה של חרצית עם שכבת-על של שיוך תכונות

סוגי מודלים נתמכים

שיוך מאפיינים נתמך בכל סוגי המודלים (גם AutoML וגם מודלים שאומנו בהתאמה אישית), מסגרות (TensorFlow,‏ scikit,‏ XGBoost), מודלים של BigQuery ML ושיטות (תמונות, טקסט, טבלאות).

כדי להשתמש בשיוך מאפיינים, צריך להגדיר את המודל לשיוך מאפיינים כשמעלים או רושמים את המודל במרשם המודלים של Vertex AI.

בנוסף, עבור הסוגים הבאים של מודלים של AutoML, שיוך התכונות משולב במסוף Google Cloud :

  • מודלים של תמונות ב-AutoML (מודלים לסיווג בלבד)
  • מודלים טבלאיים של AutoML (מודלים של סיווג ורגרסיה בלבד)

בסוגי מודלים של AutoML שמשולבים, אפשר להפעיל שיוך מאפיינים ב- Google Cloud console במהלך האימון ולראות את חשיבות המאפיינים של המודל באופן כללי, וגם את חשיבות המאפיינים המקומיים עבור הסקת מסקנות אונליין וגם עבור הסקת מסקנות באצווה.

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

יתרונות

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

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

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

שיטות שיוך של תכונות

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

שיטת Shapley לדגימה

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

מידע מפורט על אופן הפעולה של שיטת הדגימה של Shapley זמין במאמר Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

שיטת הגרדיאנטים המשולבים

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

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

כדי לקבל הסבר אינטואיטיבי על התהליך הזה בהקשר של תמונות, אפשר לעיין בפוסט בבלוג "Attributing a deep network's inference to its input features" (שיוך של הסקה של רשת עמוקה לתכונות הקלט שלה). בפוסט הקודם בבלוג, מחברי המאמר המקורי על שיפועים משולבים (Axiomatic Attribution for Deep Networks) מראים איך נראות התמונות בכל שלב בתהליך.

שיטת XRAI

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

  1. שיוך ברמת הפיקסל: XRAI מבצע שיוך ברמת הפיקסל לתמונת הקלט. בשלב הזה, XRAI משתמש בשיטת הגרדיאנטים המשולבים עם בסיס שחור ובסיס לבן.
  2. פילוח יתר: ללא קשר לשיוך ברמת הפיקסל, XRAI מבצע פילוח יתר של התמונה כדי ליצור טלאים של אזורים קטנים. ‫XRAI משתמש בשיטה מבוססת-גרף של Felzenswalb כדי ליצור את פלחי התמונה.
  3. בחירת אזור: XRAI מצטבר את השיוך ברמת הפיקסל בכל פלח כדי לקבוע את צפיפות השיוך שלו. על סמך הערכים האלה, XRAI מדרג כל פלח ואז מסדר את הפלחים מהחיובי ביותר לחיובי הכי פחות. ההגדרה הזו קובעת אילו אזורים בתמונה בולטים במיוחד, או תורמים באופן המשמעותי ביותר להסקת מסקנות לגבי סיווג נתון.

תמונות שבהן רואים את השלבים של אלגוריתם XRAI

השוואה בין שיטות שיוך של תכונות

‫Vertex AI ניתן להסברה מציע שלוש שיטות לשימוש בייחוס מאפיינים: sampled Shapley,‏ integrated gradients ו-XRAI.

‏Method הסבר בסיסי סוגי מודלים מומלצים תרחישים לדוגמה משאבי Model Vertex AI תואמים
דגימת Shapley משייך קרדיט על התוצאה לכל תכונה, ומתייחס לפרמוטציות שונות של התכונות. השיטה הזו מספקת קירוב של ערכי Shapley המדויקים על סמך דגימה. מודלים לא גזירים, כמו קבוצות של עצים ורשתות נוירונים
  • סיווג ורגרסיה של נתונים טבלאיים
  • כל מודל שעבר אימון בהתאמה אישית (פועל בכל מאגר הסקה)
  • מודלים טבלאיים של AutoML
הדרגות משולבות שיטה שמבוססת על גרדיאנטים לחישוב יעיל של שיוך תכונות, עם אותם מאפיינים אקסיומטיים כמו ערך Shapley. מודלים שניתן לגזור אותם, כמו רשתות נוירונים. מומלץ במיוחד למודלים עם מרחבי תכונות גדולים.
מומלץ לתמונות עם ניגודיות נמוכה, כמו צילומי רנטגן.
  • סיווג ורגרסיה של נתונים טבלאיים
  • סיווג של נתוני תמונה
XRAI (eXplanation with Ranked Area Integrals) ‫XRAI מבוסס על שיטת הגרדיאנטים המשולבים, ומעריך אזורים חופפים בתמונה כדי ליצור מפת חשיבות שמדגישה אזורים רלוונטיים בתמונה ולא פיקסלים. מודלים שמקבלים קלט של תמונות. מומלץ במיוחד לתמונות טבעיות, שהן סצנות מהעולם האמיתי שמכילות כמה אובייקטים.
  • סיווג של נתוני תמונה

מודלים גזירים ומודלים לא גזירים

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

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

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

מגבלות קונספטואליות

חשוב להביא בחשבון את המגבלות הבאות של שיוך תכונות:

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

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

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

  • שיוך מאפיינים כפוף להתקפות דומות של יריבים כמו מסקנות במודלים מורכבים.

מידע נוסף על מגבלות זמין ברשימת המגבלות הכלליות.

קובצי עזר

לשיוך מאפיינים, ההטמעות של Shapley עם דגימה, של שיפועים משולבים ושל XRAI מבוססות על ההפניות הבאות, בהתאמה:

מחשבים ניידים

כדי להתחיל להשתמש ב-Vertex AI ניתן להסברה, אפשר להשתמש במסמכי ה-notebook הבאים:

Notebook שיטת ההסברה מסגרת ML אופן הפעולה משימה
קישור ל-GitHub הסברים שמבוססים על דוגמאות TensorFlow תמונה אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים אונליין
קישור ל-GitHub feature-based AutoML טבלאי אימון מודל סיווג בינארי שמנבא אם לקוח בנק רכש פיקדון לזמן קצוב, וקבלת הסברים על קבוצת נתונים
קישור ל-GitHub feature-based AutoML טבלאי אימון מודל סיווג שמבצע חיזוי של סוג מין הפרח Iris וקבלת הסברים אונליין
קישור ל-GitHub feature-based (sampled Shapley) scikit-learn טבלאי אימון מודל רגרסיה ליניארית לחיזוי תעריפי מוניות וקבלת הסברים אונליין
קישור ל-GitHub מבוסס על תכונות (שיפועים משולבים) TensorFlow תמונה אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים על קבוצת תמונות
קישור ל-GitHub מבוסס על תכונות (שיפועים משולבים) TensorFlow תמונה אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים אונליין
קישור ל-GitHub מבוסס על תכונות (שיפועים משולבים) TensorFlow טבלאי אימון מודל רגרסיה שמנבא את המחיר החציוני של בית וקבלת הסברים על קבוצת נתונים
קישור ל-GitHub מבוסס על תכונות (שיפועים משולבים) TensorFlow טבלאי אימון מודל רגרסיה שמנבא את מחיר החציון של בית וקבלת הסברים אונליין
קישור ל-GitHub feature-based (sampled Shapley) TensorFlow טקסט אימון מודל LSTM שמסווג ביקורות על סרטים כחיוביות או כשליליות באמצעות הטקסט של הביקורת, וקבלת הסברים אונליין

מקורות מידע לימודיים

במקורות המידע הבאים תוכלו למצוא חומרים חינוכיים שימושיים נוספים:

המאמרים הבאים