oren steinberg

מה זה XAI – הסבר פשוט לאנשים שאין להם תואר שני ב-Data Science

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי oren steinberg

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

לך תסביר בינה מלאכותית

ביום שישי האחרון נתתי את ההרצאה הקשה בחיי. לך תסביר בינה מלאכותית ולמידת מכונה לקהל שאין לו תואר או אפילו בגרות 3 יחידות במתמטיקה, ומעולם לא שמע על מדעני מידע או מודלים סטטיסטיים. למזלי, כיתה ג’2 של בתי קיבלה אותי בזרועות פתוחות וספוגיות שאפשר למצוא היום רק אצל ילדים בני 8. אבל כאשר שבוע לאחר מכן בתגובה למייל ששלחתי, קולגות במשרד הציפו אותי בשאלות על מה זה Explainable AI  או בקיצור XAI, הבנתי שמשהו חסר. הסבר פשוט ושווה לכל נפש, גם אם הנפש הובילה את הבן אדם להיות מנהל מוצר, שיווק, מכירות ועוד אינסוף תארים שאין בהם Machine Learning Genius.

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

השאלות שמתעוררות

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

בעולם של בינה מלאכותית השאלות האלו מתורגמות ל: האם אני מסכים עם הגדרת הבעיה? באיזו מידה פונקציית המטרה של המודל משקפת את הבעיה העסקית / מוצרית? האם אני מסכים עם ה-Ground Truth שבבסיס המודל? האם המידע שהמודל עושה בו שימוש מייצג נאמנה את קהל המטרה שלי? למה המודל המליץ כך בנסיבות האלו? מתי המודל מדייק ומתי לא? ואיך אני יכול לזהות זאת? ועוד.

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

  1. דרישה רגולטורית. לרוב נפוצה יותר בשווקי הפיננסים והבריאות.

  2. אמון המשתמשים. לרוב הדגש הוא על הוגנות ומניעת הטיות.

  3. בניית המודל. בדיקת שפיות, איתור באגים, שיפור הדאטה ואיתור דריפט.

כלי הסברה

מדעני מידע בעולם התגייסו להתמודד עם האתגר ופיתחו מספר כלים להתמודד עם מה שנקרא FAT (Fairness, Accountability, and Transparency). הנפוצים שבהם מתחלקים לשני סוגים:

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

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

 

  1. ניתוח התרומה של פיצ’רים כגון SHAP. כלים אלו עושים מעין Reverse engineering לרשתות הניורונים במטרה לזהות מה ההשפעה היחסית של כל פיצ’ר (נתון) על החיזוי (ראו תמונה ולינק):

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

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

כלים נוספים כוללים DeepLIFT, WIT (What If Tool), ELI5 (Explain it like I’m 5) ו- Grad-CAM שמסביר יפה תמונה ב-CNN ע”י הפרדת השכבה האחרונה.

אפשר גם להסתכל על XAI לאורך תהליך המידול: בעת הכנת הדאטה ניתן להסביר את הדאטה (מטה-דאטה, ויזואליזציות של התפלגות הדאטה ונירמולו), בעת בניית המודל ניתן לבחור במודלים ‘קלים’ להסברה, ובעת הרצת המודל עומדים לרשותנו כלים כמו LIME ו-SHAP. עוד על XAI  לאורך חיי המודל בסדרת הבלוגים הזו.

סיכום – פרספקטיבה מוצרית

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

אז מה אפשר לעשות?

  1. משקפים למשתמש שמדובר במוצר/פיצ’ר מבוסס AI
  2. משלבים Human in the loop בהתאם לדיוק של המודל
  3. מאפשרים למשתמש גישה למידע שבבסיס המודל
  4. מייצרים שקיפות לגבי אופן בניית המודל וחישוב ההמלצות
  5. מתאמים ציפיות לגבי מגבלות וסיכוני המודל
  6. מאפשרים למשתמשים לתת משוב כדי לשפר את המודל
  7. מתאימים את כל אלו ככל שהאמון במודל משתנה

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

הפוסט פורסם לראשונה ב- https://orensteinberg.com/

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

 

Posted by oren steinberg in deep

מה עוד צריכה המכונה חוץ ממודל טוב?

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי oren steinberg

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

איגור הניח, כמו רבים לפניו, שאם גוף מוביל בתחום מזהה בעיה, נותן לו דאטה ואפילו עוזר ב-Labeling, אז הכל בסדר. שמספיק לתת פרדיקציות טובות וזה יתפוס. שמזמין העבודה, אותה מחלקת TTU ואותו פרופ’ מפורסם וכל מי שחתום על החוזה כבר ידאגו לאימוץ המודל. אז זהו שלא! בלי לצלול לעומק ה-Work Flow של המשתמש אי אפשר להצליח. לא משנה כמה טובים הביצועים של המודל. בסופו של כל מודל עומד בן אדם שצריך להשתמש בו. ואם זה לא בא לו בטוב, זה כנראה לא יקרה.

משתמשים

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

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

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

עיתוי

אומרים ש-Timing is everything אז במודל חיזוי העיתוי הוא ההבדל בין הכל ל-כלום. הכוונה היא לא רק לחיזוי שמגיע אחרי הזמן, כשהמציאות כבר מתגלה לנו. אלא לחיזוי שמגיע מתי שהמשתמש זקוק לו, ופתוח לקבל אותו. תארו לכם רופא במיון שבדק את החולה, עבר על הממצאים וקיבל החלטה. חמש דקות לאחר מכן הוא מקבל התרעה ממערכת AI שמשנה את ההחלטה שלו. עד כמה רופא זה יאמץ את המוצר בעתיד, גם אם לא נגרם נזק רפואי וניתן לשנות את ההחלטה במקרה הזה?

עיתוי זה דבר טריקי. בטח בקצבים שכולנו עובדים היום. עיתוי טוב משלב בין טריגר פנימי לחיצוני. טריגר חיצוני מתייחס לתוכן של המידע או ההתרעה. מתי הגיעה בדיקת המעבדה או הדימות. מתי רמת הדופק או לחץ דם חצתה קו אדום. עד כמה הממצאים חריגים. עד כמה הם דחופים. מה אומר הפרוטוקול (Best Practice) בעניין. טריגר פנימי מתייחס למשתמש. על מה הוא מסכל עכשיו. האם זה יותר דחוף. האם הוא עלול להתבלבל בין מטופלים. האם זה Actionable בעיתוי הזה.

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

הקשר

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

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

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

שחיקה

אי אפשר לדבר על התרעות בלי להתייחס ל-Alert Fatigue. ובהקשר של מודל AI זה נוגע ישר בעצב החשוף של מידת האמון שהמשתמש נותן בחיזוי. היום עדיין מרבית המשתמשים (מחוץ לקהילת מדעני המידע) מגלים חשדנות רבה כלפי AI. לעיתים הנסיונות להכשיל את המודל מונעים מרצון כן לגלות את ‘גבולות הגזרה’ של המודל כדי לדעת מתי ניתן לסמוך עליו. הרבה תלוי בציפיות. מה נאמר למשתמשים. מה הנסיון הקודם שלהם. מה ההטיות (Bias) איתן הם מגיעים.

לאורך זמן ככל שהמודל יציג פחות תוצאות חיוביות שגויות (False Positives) ופחות תוצאות שליליות שגויות (False Negatives) הוא יקנה את מקומו בלבבות המשתמשים. האתגר הוא איך להגדיר נכון את ה-Threshold בין Recall ל-Precision לאורך זמן. רק הכירות אינטימית עם המשתמשים וה-Work Flows שלהם תוכל לסייע בהשגת איזון נכון לאורך זמן. ולענות על השאלה: האם להתחיל עם מעט התרעות ‘בטוחות’ (והרבה פספוסים חשובים) או להפך. מתי לשנות.

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

מדידה

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

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

מודל טוב מתבסס על תכנון נכון של מדידת אימוץ. ומדידה מגיעה מהעולם האמיתי.

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


הפוסט פורסם לראשונה ב- https://orensteinberg.com/

Posted by oren steinberg in deep