Counterfactual Logit Pairing (CLP) היא טכניקה בתוך ספריית TensorFlow Model Remediation המבקשת להבטיח שחיזוי של מודל לא ישתנה כאשר תכונה רגישה שמתייחסת אליה בדוגמה מוסרת או מוחלפת. לדוגמה, במסווג רעילות, דוגמאות כגון "אני גבר" ו"אני לסבית" לא אמורות להכיל חיזוי שונה של רעילות.
לדיון מעמיק בנושא זה, עיין במחקר על הוגנות נגד-עובדתית , זיווג לוגיט אדוורסרי וציווג לוגיט נגד-עובדתי .
מתי כדאי להשתמש ב-Counterfactual Logit Pairing?
CLP מתייחס לתרחיש שבו שינוי בתכונה רגישה שמתייחסת אליה בתכונה משנה את החיזוי (כאשר החיזוי לא היה צריך להשתנות). בתוך כך, הוא מנסה לענות על השאלה: האם מודל זה חשוף לשינוי התחזית שלו על סמך נוכחות של תכונת זהות בלבד? עיין במאמר המחקר לפרטים על הוגנות נגד-עובדתית.
בעיה זו נראתה ב- Perspective API , כלי ML המשמש מפתחים ומפרסמים כדי לנתח את התוכן של הערות עבור טקסט שעלול להיות פוגע או רעיל . ה-API של Perspective לוקח את טקסט הערה כקלט ומחזיר ציון מ-0 ל-1 כאינדיקציה להסתברות שההערה רעילה. לדוגמה, תגובה כמו "אתה אידיוט" עשויה לקבל ציון הסתברות של 0.8 עבור רעילות, המצביע על מידת הסבירות שקורא יתפוס את ההערה הזו כרעילה.
לאחר ההשקה הראשונית של ה-API של Perspective, משתמשים חיצוניים גילו מתאם חיובי בין מונחי זהות המכילים מידע על גזע או נטייה מינית לבין ציון הרעילות החזוי. לדוגמה, הביטוי "אני לסבית" קיבל ציון של 0.51, בעוד "אני גבר" קיבל ציון נמוך יותר של 0.2. במקרה זה, מונחי הזהות לא שימשו באופן משפיל, ולכן לא אמור להיות הבדל כה משמעותי בציון. למידע נוסף על ה-API של Perspective, עיין בפוסט בבלוג על הטיה ומונחי זהות בלתי מכוונים .
כיצד אוכל למדוד את ההשפעה של צימוד לוגיט Counterfactual Logit?
אם הערכת את מודל למידת המכונה שלך וקבעת ששינויים בתחזיות עקב שינויים בתכונות רגישות ספציפיות יזיקו, עליך למדוד את השכיחות של בעיה זו. במקרה של מסווג בינארי או מרובה מחלקות, היפוך מוגדר כמסווג הנותן החלטה אחרת (כגון שינוי חיזוי מרעיל לבלתי רעיל) כאשר התכונה הרגישה אליה מתייחסים בדוגמה משתנה. כאשר מעריכים את השכיחות של סיבובים , אתה יכול להסתכל על ספירת סיבובים וקצב סיבובים . על ידי התחשבות בנזק הפוטנציאלי של המשתמש שנגרם כתוצאה מהיפוך ותדירות ההיפוך, אתה יכול לקבוע אם זו בעיה שיש לטפל בה על ידי החלת CLP. למידע נוסף על מדדים אלה, עיין במדריך מדדי הוגנות .
על אילו סוגי דגמים אני יכול ליישם צימוד לוגי Counterfactual Logit?
ניתן להשתמש בטכניקה זו עם מסווגים בינאריים ורב-מעמדיים של סוגים שונים של נתונים כגון טקסט, תמונות וסרטונים.
מתי צימוד לוגיט נגד עובדות לא מתאים לי?
CLP אינה השיטה הנכונה לכל המצבים. לדוגמה, זה לא רלוונטי אם נוכחות או היעדרו של מונח זהות משנה באופן לגיטימי את חיזוי המסווגן. זה עשוי להיות המקרה אם המסווגן שואף לקבוע אם התכונה מתייחסת לקבוצת זהות מסוימת. שיטה זו גם פחות משפיעה אם למתאם הבלתי מכוון בין תוצאת המסווגים לקבוצת הזהות אין השלכות שליליות על המשתמש.
CLP שימושי לבדיקה אם מודל שפה או מסווג רעילות משנה את הפלט שלו בצורה לא הוגנת (למשל סיווג קטע טקסט כרעיל) פשוט בגלל שמונחים כמו "שחור", "הומו", "מוסלמי" קיימים ב- טֶקסט. CLP אינו מיועד לביצוע תחזיות לגבי אנשים, למשל על ידי מניפולציה של זהותו של אדם. עיין במאמר זה לדיון מפורט יותר.
חשוב לזכור ש-CLP היא טכניקה אחת ב- Responsible AI Toolkit שנועדה במיוחד לתת מענה למצב שבו תכונות רגישות שמתייחסות אליהן בתכונות משנה את החיזוי. בהתאם למודל ולמקרה השימוש שלך, ייתכן שיהיה חשוב גם לשקול אם ישנם פערי ביצועים עבור קבוצות שוליות היסטוריות, במיוחד מכיוון ש-CLP עשוי להשפיע על ביצועי הקבוצה. ניתן להעריך זאת באמצעות מדדי הוגנות ולטפל על ידי MinDiff שנמצאת גם בספריית תיקון המודלים של TensorFlow.
כדאי גם לשקול אם המוצר שלך הוא בכלל שימוש מתאים ללמידת מכונה. אם כן, זרימת העבודה של למידת המכונה שלך צריכה להיות מתוכננת לפי שיטות מומלצות ידועות, כגון משימת מודל מוגדרת היטב וצרכי מוצר ברורים.
כיצד פועל צימוד לוגיט נגד עובדות?
CLP מוסיף הפסד למודל המקורי שמסופק על ידי צימוד של logit בין דוגמה מקורית ונגדית ממערך נתונים. על ידי חישוב ההפרש בין שני הערכים, אתה מעניש את ההבדלים בין המונחים הרגישים שגורמים לשינוי בתחזית המסווגת שלך. עבודה זו התבססה על מחקר על זיווג לוגיט אדוורסרי וזיווג לוגיט נגדי .