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

מכיוון שכל ההסברים שלו הם צלליות כהות ממחלקת המטוסים, זהו אות לקבלת צלליות נוספות של ציפורים.
עם זאת, אם ההסברים התבססו בעיקר על סיווג הציפורים, זהו אות לכך שהמודל שלנו לא יכול ללמוד על קשרים גם כשהנתונים עשירים, וצריך לשקול להגדיל את מורכבות המודל (למשל, להוסיף עוד שכבות).
פירוש נתונים חדשים: נניח שהמודל שלכם אומן לסווג ציפורים ומטוסים, אבל בעולם האמיתי המודל נתקל גם בתמונות של עפיפונים, רחפנים ומסוקים. אם מערך הנתונים של השכנים הקרובים ביותר כולל כמה תמונות מתויגות של עפיפונים, רחפנים ומסוקים, אפשר להשתמש בהסברים מבוססי-דוגמה כדי לסווג תמונות חדשות על ידי החלת התווית שמופיעה הכי הרבה פעמים בשכנים הקרובים ביותר. הדבר אפשרי כי אנחנו מצפים שהייצוג הסמוי של עפיפונים יהיה שונה מזה של ציפורים או מטוסים, ודומה יותר לזה של עפיפונים מתויגים במערך הנתונים של השכן הקרוב ביותר.
זיהוי אנומליות: באופן אינטואיטיבי, אם מופע רחוק מכל הנתונים בקבוצת האימון, סביר להניח שהוא חריג. רשתות עצביות ידועות בכך שהן בטוחות מדי בטעויות שלהן, ולכן הן מסתירות את השגיאות. מעקב אחרי המודלים באמצעות הסברים שמבוססים על דוגמאות עוזר לזהות את החריגים הכי חמורים.
למידה פעילה: הסברים שמבוססים על דוגמאות יכולים לעזור לכם לזהות את המקרים שבהם כדאי להשתמש בתוויות אנושיות. האפשרות הזו שימושית במיוחד אם התיוג איטי או יקר, כי היא מבטיחה שתקבלו את מערך הנתונים העשיר ביותר שאפשר לקבל ממשאבי תיוג מוגבלים.
לדוגמה, נניח שיש לנו מודל שמסווג מטופל רפואי כחולה בהצטננות או בשפעת. אם מטופל מסוים מסווג כחולה בשפעת, וכל ההסברים שמבוססים על דוגמאות הם מהסיווג של שפעת, הרופא יכול להיות בטוח יותר בהסקת המסקנות של המודל בלי לבדוק את המקרה לעומק. עם זאת, אם חלק מההסברים הם מהסוג של שפעת וחלק מהסוג של הצטננות, כדאי להתייעץ עם רופא. כך נוצר מערך נתונים שבו למקרים מורכבים יש יותר תוויות, ולמודלים בהמשך קל יותר ללמוד יחסים מורכבים.
כדי ליצור מודל שתומך בהסברים מבוססי-דוגמאות, ראו הגדרת הסברים מבוססי-דוגמאות.
סוגי מודלים נתמכים
כל מודל TensorFlow שיכול לספק הטמעה (ייצוג סמוי) לקלט נתמך. אין תמיכה במודלים מבוססי-עץ, כמו עצי החלטה. עדיין אין תמיכה במודלים ממסגרות אחרות, כמו PyTorch או XGBoost.
במקרה של רשתות עצביות עמוקות, אנחנו בדרך כלל מניחים שהשכבות הגבוהות יותר (קרוב יותר לשכבת הפלט) למדו משהו 'משמעותי', ולכן, לעיתים קרובות בוחרים בשכבה הלפני אחרונה להטמעות. מומלץ להתנסות בכמה שכבות שונות, לבדוק את הדוגמאות שמתקבלות ולבחור אחת על סמך מדדים כמותיים (התאמה לסיווג) או איכותיים (נראית הגיונית).
כדי לראות הדגמה של אופן החילוץ של הטמעה ממודל TensorFlow וביצוע חיפוש של השכן הקרוב ביותר, אפשר לעיין ב-example-based explanation notebook.
הסברים שמבוססים על תכונות
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 לדגימה כדי לקבוע את חשיבות התכונות. השיטה Sampled Shapley מתאימה למודלים האלה, שהם שילובים של עצים ורשתות עצביות.
למידע מפורט על אופן הפעולה של שיטת Shapley המבוססת על דגימה, אפשר לקרוא את המאמר Bounding the Estimation Error of Sampling-based Shapley Value Approximation.
שיטת הגרדיאנטים המשולבים
בשיטת integrated gradients, הגרדיאנט של פלט ההסקה מחושב ביחס לתכונות של הקלט, לאורך נתיב אינטגרלי.
- השיפועים מחושבים במרווחי זמן שונים של פרמטר קנה מידה. הגודל של כל מרווח נקבע באמצעות הכלל Gaussian quadrature. (לנתוני תמונה, אפשר לדמיין את פרמטר ההתאמה הזה כמחוון שמתאים את כל הפיקסלים של התמונה לשחור).
- המעברים משולבים באופן הבא:
- האינטגרל מחושב בקירוב באמצעות ממוצע משוקלל.
- מחשבים את המכפלה של הגרדיאנטים הממוצעים והקלט המקורי, לפי רכיב.
כדי לקבל הסבר אינטואיטיבי על התהליך הזה בהקשר של תמונות, אפשר לעיין בפוסט בבלוג 'שיוך של מסקנה של רשת עמוקה לתכונות הקלט שלה'. בפוסט הקודם בבלוג, מחברי המאמר המקורי על שיפועים משולבים (Axiomatic Attribution for Deep Networks) מראים איך התמונות נראות בכל שלב בתהליך.
שיטת XRAI
שיטת XRAI משלבת את שיטת הגרדיאנטים המשולבים עם שלבים נוספים כדי לקבוע אילו אזורים בתמונה תורמים הכי הרבה להסקת מסקנות לגבי סיווג נתון.
- שיוך ברמת הפיקסל: XRAI מבצע שיוך ברמת הפיקסל לתמונת הקלט. בשלב הזה, XRAI משתמש בשיטת הגרדיאנטים המשולבים עם בסיס שחור ובסיס לבן.
- פילוח יתר: ללא קשר לשיוך ברמת הפיקסל, XRAI מבצע פילוח יתר של התמונה כדי ליצור טלאים של אזורים קטנים. XRAI משתמש בשיטה מבוססת-גרף של Felzenswalb כדי ליצור את פלחי התמונה.
- בחירת אזור: XRAI מצטבר את השיוך ברמת הפיקסל בכל פלח כדי לקבוע את צפיפות השיוך שלו. על סמך הערכים האלה, XRAI מדרג כל פלח וממיין את הפלחים מהחיובי ביותר לחיובי פחות. ההגדרה הזו קובעת אילו אזורים בתמונה בולטים במיוחד, או תורמים באופן המשמעותי ביותר להסקת מסקנות לגבי סיווג נתון.

השוואה בין שיטות שיוך של תכונות
Vertex AI ניתן להסברה מציע שלוש שיטות לשימוש בייחוס מאפיינים: sampled Shapley, integrated gradients ו-XRAI.
| Method | הסבר בסיסי | סוגי מודלים מומלצים | תרחישים לדוגמה | משאבי Model Vertex AI תואמים |
|---|---|---|---|---|
| דגימת Shapley | משייך קרדיט על התוצאה לכל תכונה, ומתייחס לפרמוטציות שונות של התכונות. השיטה הזו מספקת קירוב של ערכי Shapley המדויקים על סמך דגימה. | מודלים לא גזירים, כמו קבוצות של עצים ורשתות עצביות |
|
|
| הדרגות משולבות | שיטה שמבוססת על גרדיאנטים לחישוב יעיל של שיוך תכונות, עם אותן תכונות אקסיומטיות כמו ערך Shapley. | מודלים שניתן לגזור אותם, כמו רשתות נוירונים. מומלץ במיוחד למודלים עם מרחבי תכונות גדולים. מומלץ לתמונות עם ניגודיות נמוכה, כמו צילומי רנטגן. |
|
|
| XRAI (eXplanation with Ranked Area Integrals) | XRAI מבוסס על שיטת הגרדיאנטים המשולבים, ומעריך אזורים חופפים בתמונה כדי ליצור מפת בולטות שמדגישה אזורים רלוונטיים בתמונה ולא פיקסלים. | מודלים שמקבלים קלט של תמונות. מומלץ במיוחד לתמונות טבעיות, שהן סצנות מהעולם האמיתי שמכילות כמה אובייקטים. |
|
|
מודלים גזירים ומודלים לא גזירים
במודלים דיפרנציאליים, אפשר לחשב את הנגזרת של כל הפעולות בתרשים TensorFlow. המאפיין הזה מאפשר לבצע backpropagation במודלים כאלה. לדוגמה, רשתות נוירונים הן דיפרנציאביליות. כדי לקבל שיוכים של תכונות למודלים שניתנים לגזירה, משתמשים בשיטת הגרדיאנטים המשולבים.
שיטת הגרדיאנטים המשולבים לא פועלת עבור מודלים לא גזירים. מידע נוסף על קידוד של קלט לא ניתן לגזירה כדי לעבוד עם שיטת הגרדיאנטים המשולבים.
מודלים לא גזירים כוללים פעולות לא גזירות בתרשים TensorFlow, כמו פעולות שמבצעות משימות של פענוח ועיגול. לדוגמה, מודל שנבנה כקבוצה של עצים ורשתות עצביות הוא לא גזיר. כדי לקבל שיוכים של תכונות למודלים לא גזירים, משתמשים בשיטת Shapley עם דגימה. השיטה של שאפלי עם דגימה פועלת גם במודלים שניתנים לגזירה, אבל במקרה כזה היא דורשת יותר משאבי מחשוב ממה שצריך.
מגבלות קונספטואליות
חשוב להביא בחשבון את המגבלות הבאות של שיוך לתכונות:
שיוך תכונות, כולל חשיבות תכונות מקומיות ל-AutoML, הוא ספציפי למסקנות אינדיבידואליות. בדיקת השיוכים של התכונות למסקנה ספציפית עשויה לספק תובנה טובה, אבל יכול להיות שהתובנה לא תהיה כללית מספיק כדי להסיק ממנה לגבי כל הכיתה במקרה הספציפי הזה, או לגבי המודל כולו.
כדי לקבל תובנות כלליות יותר לגבי מודלים של AutoML, כדאי לעיין בחשיבות התכונות של המודל. כדי לקבל תובנות כלליות יותר לגבי מודלים אחרים, אפשר לצבור שיוכים על קבוצות משנה של מערך הנתונים או על מערך הנתונים כולו.
שיוכי תכונות יכולים לעזור בניפוי באגים במודל, אבל הם לא תמיד מציינים באופן ברור אם הבעיה נובעת מהמודל או מהנתונים שהמודל אומן עליהם. כדאי להפעיל שיקול דעת ולנסות לאבחן בעיות נפוצות בנתונים כדי לצמצם את מרחב הגורמים האפשריים.
שיוך מאפיינים חשוף להתקפות דומות לאלה שמופנות כלפי מסקנות במודלים מורכבים.
מידע נוסף על מגבלות זמין ברשימת המגבלות הכלליות.
קובצי עזר
לשיוך מאפיינים, ההטמעות של Shapley בדגימה, של שיפועים משולבים ושל XRAI מבוססות על ההפניות הבאות, בהתאמה:
- Bounding the Estimation Error of Sampling-based Shapley Value Approximation
- Axiomatic Attribution for Deep Networks
- XRAI: שיוך משופר באמצעות אזורים
קובצי Notebook
כדי להתחיל להשתמש ב-Vertex AI ניתן להסברה, אפשר להשתמש במסמכי ה-notebook הבאים:
| Notebook | שיטת ההסברה | מסגרת ML | אופן השימוש | משימה |
|---|---|---|---|---|
| קישור ל-GitHub | הסברים שמבוססים על דוגמאות | TensorFlow | תמונה | אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים אונליין |
| קישור ל-GitHub | feature-based | AutoML | טבלאי | אימון מודל סיווג בינארי שמנבא אם לקוח בנק רכש פיקדון לזמן קצוב, וקבלת הסברים על קבוצת נתונים |
| קישור ל-GitHub | feature-based | AutoML | טבלאי | אימון מודל סיווג שמנבא את סוג המין של פרח האירוס וקבלת הסברים אונליין |
| קישור ל-GitHub | feature-based (sampled Shapley) | scikit-learn | טבלאי | אימון מודל רגרסיה ליניארית שמנבא את מחירי הנסיעות במוניות וקבלת הסברים אונליין |
| קישור ל-GitHub | מבוסס-תכונות (שיפועים משולבים) | TensorFlow | תמונה | אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים על אצווה |
| קישור ל-GitHub | מבוסס-תכונות (שיפועים משולבים) | TensorFlow | תמונה | אימון מודל סיווג שמנבא את הסיווג של תמונת הקלט שסופקה וקבלת הסברים אונליין |
| קישור ל-GitHub | מבוסס-תכונות (שיפועים משולבים) | TensorFlow | טבלאי | אימון מודל רגרסיה שמנבא את המחיר החציוני של בית וקבלת הסברים על קבוצת נתונים |
| קישור ל-GitHub | מבוסס-תכונות (שיפועים משולבים) | TensorFlow | טבלאי | אימון מודל רגרסיה שמנבא את המחיר החציוני של בית וקבלת הסברים אונליין |
| קישור ל-GitHub | feature-based (sampled Shapley) | TensorFlow | טקסט | אימון מודל LSTM שמסווג ביקורות על סרטים כחיוביות או שליליות באמצעות הטקסט של הביקורת, וקבלת הסברים אונליין |
מקורות מידע לימודיים
במקורות המידע הבאים תוכלו למצוא חומר לימודי שימושי נוסף:
- Explainable AI for Practitioners
- למידת מכונה שניתן לפרש: ערכי Shapley
- מאגר GitHub של Ankur Taly בנושא Integrated Gradients
- מבוא לערכי Shapley
המאמרים הבאים
- הגדרת המודל להסברים מבוססי-תכונות
- הגדרת המודל להסברים מבוססי-דוגמאות
- איך צופים בחשיבות התכונות במודלים של טבלאות AutoML