אז מצלמת הבינה המלאכותית שלך חושבת שכל אישה היא אחות וכל גבר הוא מנכ"ל. סבבה, סבבה, סבבה.
קרה לכם שאי פעם העליתם תמונה לאפליקציה "משופרת בינה מלאכותית" וראיתם אותה מזהה בביטחון את הסארי של חברה שלכם כחלוק רחצה? או שראיתם מערכת הדמיה רפואית מתעקשת שהשׂומה על הזרוע שלכם היא אוכמנייה? זה הטיית מערך נתונים בהדמיית בינה מלאכותית, וזה לא רק מביך - זה יכול להיות מסוכן. תחשבו על זה כמו ללמד ילד את האלף-בית רק עם תנועות. בטח, הם ישׂירו משהו. לא תרצו שהם יכתבו מרשמים.
אנחנו ברגע מוזר שבו ראייה ממוחשבת טובה מספיק כדי להיות בכל מקום - הטלפון שלך, המכונית שלך, המרפאה של הרופא שלך - אבל עדיין גרועה מספיק כדי לפספס את הנקודה, את ההקשר, ולפעמים קבוצות שלמות של אנשים. האשם הוא בדרך כלל לא המתמטיקה. זה הנתונים. ליתר דיוק, הנתונים שאמנו את המודלים האלה לראות את העולם דרך עדשה צרה מאוד.
בואו נפרוט איך הטיית מערך נתונים בהדמיית בינה מלאכותית מתגנבת, משבשת, ו - הכי חשוב - איך אתם יכולים למנוע ממנה לקרוא לחתול שלכם קרואסון.
מהי הטיית מערך נתונים בהדמיית בינה מלאכותית? הגרסה הקצרה שדודה שלכם תקרא
הטיית מערך נתונים בהדמיית בינה מלאכותית מתרחשת כאשר התמונות המשמשות לאמן מודל אינן מייצגות את העולם האמיתי. אם מערך הנתונים שלך מורכב בעיקר מפנים של דמוגרפיה אחת, גווני עור מטווח מוגבל, או אובייקטים שצולמו בתאורת סטודיו מושלמת (היי, נורות טבעת של משפיענים!), המודל לומד גרסה מעוותת של המציאות.
- הטיית בחירה: בחרתם את התמונות שהיו הכי קלות להשגה - תמונות סטוק, רקעים לבנים ואוכל סלט שמח באופן חשוד מדי פעם.
- הטיית תיוג: בני אדם מתייגים תמונות. בני אדם מביאים דעות. לפעמים הדעות האלה הן יותר "כתיבה יוצרת" מאשר "אמת בסיסית".
- הטיית הקשר: סטתוסקופ ליד אישה? חייבת להיות אחות. אותו אובייקט ליד גבר? רופא. המודל למד את הסטריאוטיפ ממערך הנתונים.
- הטיית תחום: התאמנתם על תמונות מוצר מבריקות, ואז פרסתם ברצפות מפעל עמומות. הפתעה: המלגזה נראית כמו ביגפוט.
אם אתם מלמדים בינה מלאכותית לראות את העולם רק דרך שכונה אחת, אל תתפלאו כשהיא תלך לאיבוד במרכז העיר.
הסיכונים הלא-כל-כך-מצחיקים: היכן שהטיה מפסיקה להיות מם
הטיה בהדמיית בינה מלאכותית לא רק מייצרת כישלונות ראויים לממים. זה מופיע ב:
- הדמיה רפואית: גווני עור לא מיוצגים במערכי נתונים של דרמטולוגיה עלולים להוביל לשיעורי זיהוי גרועים יותר למצבים כמו מלנומה. כאשר פיקסלים לא תואמים את דוגמאות האימון, שגיאות מזנקות.
- בטיחות ומעקב: זיהוי שגוי בזיהוי פנים קושר למעצרים שגויים, במיוחד עבור אנשים צבעוניים. לא חווית משתמש נהדרת.
- גיוס ואימות זהות: התאמת פנים שמגמגמת פנים לא בינאריות או טרנסיות היא לא רק מעצבנת - היא מדירה.
- מערכות אוטונומיות: מכונית בנהיגה עצמית שאומנה בעיקר באור השמש של קליפורניה עשויה לא לזהות תמרור עצור מושלג במינסוטה. המכונית לא פזיזה. היא מוגנת.
כאשר העולם של המודל קטן, אנשים אמיתיים משלמים את המחיר.
איך זה מתגנב פנימה: ארבעת הפרשים של הטיית מערך נתוני תמונה
1) "הטיית החומרים החינמיים"
גירוד האינטרנט הפתוח לתמונות הוא בעצם צלילה לפחי אשפה לפיקסלים. תמצאו הרבה תמונות ראש של סלבריטאים, תגי ועידת טכנולוגיה ותמונות מוצר שנראות כאילו צולמו על הירח. מציאות יומיומית ומבולגנת? פחות. זה מטה את המודל שלכם כלפי פנים, מקומות וויברציות מסוימות.
2) "סחף ההערות"
שני מתייגים נכנסים לעבודת תיוג. אחד מתייג קפוצ'ון כ"בגדי ספורט", השני אומר "בגדי יום יום", ושלישי קורא לזה "בגדי רחוב". המודל לומד שבגדים הם כאוס. גרוע מכך, המתייגים מביאים הנחות תרבותיות - כמו מי נראה כמו "בוס" או מה נחשב ל"תסרוקת טבעית".
3) "קביים של הקשר"
מודלים אוהבים קיצורי דרך. אם 90% מהתמונות של שפים במערך הנתונים שלכם כוללות גברים, המודל ישתמש ברמזים מגדריים כקיצור דרך כדי לחזות "שף". זה לא אינטליגנציה; זה דף רמאות מוטה.
4) "אי התאמת תחום"
התאמנו על תמונות גלאם DSLR, פרסתם על מצלמות אבטחה ברזולוציה נמוכה. התאמנו על תמונות בשעות היום, פרסתם בלילה. התאמנו על רחובות עירוניים, פרסתם על כבישים כפריים. המודל שלכם בעצם מטייל בלי מטען.
לזהות הטיה בלי תואר דוקטור - או גלאי שקר
כך תדעו שלמודל הדמיית הבינה המלאכותית שלכם יש בעיית הטיה, מעבר לתחושה השוקעת בהדגמה שלכם:
- פערי ביצועים: חלקו את מדדי האימות שלכם לפי דמוגרפיה, תאורה, גיאוגרפיה או סוג מכשיר. אם הדיוק יורד כמו טלפון בלי כיסוי עבור קבוצות מסוימות, יש לכם הטיה.
- מטריצות בלבול שמבלבלות אתכם: אם המודל ממשיך לערבב מחלקות ספציפיות - נניח, חיג'אבים עם כובעים - זה סימן של מערך נתונים.
- ביקורות שיוך תכונות: כלים כמו Grad-CAM יכולים לחשוף שגלאי ה"חתול" שלכם בעצם מתמקד בדוגמת ספה. מזל טוב, אימנתם זיהוי ריפוד.
- סחף פיילוט בעולם האמיתי: הפעילו פיילוטים קטנים בשטח. אם המודל נבהל מתאורה פלואורסצנטית כמו צמח במרתף, הוא צריך נתונים מגוונים יותר.
ארגז הכלים: איך להפחית הטיית מערך נתונים לפני שזה נושך את מפת הדרכים של המוצר שלכם
תארו לעצמכם מאבק בהטיה כשיפוץ בית. אתם יכולים לתקן, לחזק, או לקרוע ולבנות מחדש. התקציב שלכם: זמן, נתונים וענווה.
1) אצרו כמו מוזיאון (לא שוק פשפשים)
- הגדירו כיסוי: רשמו את הדמוגרפיה, תנאי התאורה, סוגי המצלמות, הגיאוגרפיות והסביבות שהמערכת שלכם חייבת להתמודד איתן. אם זה לא כתוב, זה בגדר משאלת לב.
- קבעו מכסות: כן, מכסות. אם 30% מהמשתמשים שלכם נמצאים בתאורה חלשה, 30% ממערך הנתונים שלכם צריכים להיות תמונות בתאורה חלשה. אותו הדבר לגבי טווחי גווני עור (השתמשו בסולמות כמו Fitzpatrick כתחליף), קבוצות גיל, סגנונות לבוש והקשרים תרבותיים.
- רב-מקורות לנתונים שלכם: תמונות סטוק הן קינוח. אתם גם צריכים ארוחות ביתיות: תמונות שנתרמו על ידי משתמשים (בהסכמה), מערכי נתונים ציבוריים עם ביקורות הטיה ואיסוף נתונים ממוקד מקבוצות לא מיוצגות.
2) תייגו כמו עורך דין (אבל ידידותי יותר)
- טקסונומיה ברורה: כתבו מדריך תיוג. לא, מדריך אמיתי. כללו מקרי קצה, דוגמאות ומה לא לעשות. צמצמו את ה"וויברציות" של המתייגים.
- מבחר מגוון של מעריכים: אם כל המעריכים שלכם הלכו לאותם שלושה בתי קפה, גם התוויות שלכם יהיו. גיוון גיאוגרפי ותרבותי עוזר.
- בדיקות הסכמה: מדדו את ההסכמה בין מעריכים ושפטו מחלוקות עם מתייג מוביל. אל תעשו ממוצע לשטויות.
- תכונות רגישות: במידת הצורך ובהסכמה, אספו תגי תכונות מוגנות להערכה. הרחיקו אותם מאימון אלא אם כן אתם עושים התערבויות הוגנות מבוקרות.
3) תתאמנו כמו מדען (עם חטיפים)
- דגימה מאוזנת: השתמשו בדגימה שכבתית ושקלול מחדש של מחלקות, כך שהמודל לא יטבע במחלקת הרוב.
- הגדלת נתונים, באחריות: שנה תאורה, זוויות, סתימות ורקעים. נתונים סינתטיים יכולים לעזור, אבל אל תתנו למנוע משחק להמציא את כל המציאות שלכם.
- מטרות הסרת הטיה: כללו הפסדים או אילוצים מודעים להוגנות המצמצמים פערי ביצועים בין קבוצות.
- התאמת תחום: אם הפריסה חשוכה, רועשת או ברזולוציה נמוכה, הדמו את העולם הזה. עדיף: אספו בעולם הזה.
4) תבחנו כמו ציניקן
- הערכה של פרוס ולנתח: דווח על דיוק, דיוק/שחזור וכיול לפי תת-קבוצה. אם אתם לא יכולים לראות את זה, אתם לא תתקנו את זה.
- מבחנים מנוגדים לעובדות: החליפו הקשר תוך שמירה על הנושא קבוע. האם אישה שמחזיקה תיק הופכת ל"מורה" בעוד גבר עם תיק הוא "מנכ"ל"? זו הטיית הקשר שנתפסה ב-4K.
- מבחני לחץ: השליכו סנוור עוין, טשטוש תנועה, שלג, ערפל, מסכות וכובעים על המודל שלכם. בעצם ליל כל הקדושים לרשתות עצביות.
5) תנטרו כאילו התכוונתם לזה
- זיהוי סחף: עקבו אחר שינויים בהתפלגות הקלט לאחר ההשקה. כאשר האפליקציה שלכם פתאום גדלה בברזיל, תרצו לדעת.
- אדם-בתוך-הלולאה: תנו למשתמשים לסמן שגיאות והטיות, ובאמת לקרוא את הדוחות. כן, אפילו אלה באותיות גדולות.
- קצב אימון מחדש: תזמנו רענונים. מודלים מעופשים הם מודלים מוטים עם סניוריטיס.
תרחישים בעולם האמיתי: היכן שהטיית מערך נתונים הורסת את הוויברציות
- בינה מלאכותית דרמטולוגית: אם תמונות האימון שלכם הן בעיקר גווני עור בהירים יותר, נגעים על עור כהה יותר לא מזוהים. פתרון: גוונו מקורות ממרפאות על פני אוכלוסיות והעריכו לפי קטגוריות גווני עור.
- מניעת הפסדים קמעונאיים: מודלים שאומנו על צילומי מבחן מחנויות נקיות ובהירות משתבשות בחנויות צפופות ועמומות. פתרון: אספו מחנויות אמיתיות על פני אזורים ועונות. כמו כן, אולי אל תפלילו קפוצ'ונים.
- הדמיה חקלאית: מודל שאומן על תמונות מזל"טים בשעות היום מחמיץ מזיקים בשעת בין הערביים. פתרון: כללו זמנים שונים ביום וסוגי חיישנים (RGB + תרמי). לצמחים יש גם חיי לילה.
- סריקת מסמכים: בדיקות סלפי דרכון נכשלות על שיער מתולתל או כיסויי ראש. פתרון: הרחיבו את האימון והעריכו במפורש את מרקמי השיער והכיסויים. בונוס: שפרו את הנחיות ממשק המשתמש והתאורה.
מיתוסים שאני ממשיך לשמוע (וכן, הבאתי קבלות)
- "מערכי נתונים גדולים יותר = פחות הטיה." אם מערך הנתונים הגדול שלכם הוא רק יותר מאותו הדבר, הגדלתם את הבעיה. זה כמו להזמין וונטי של הקפה הלא נכון.
- "אנחנו נתקן את זה בהמשך עם אלגוריתם חכם." אלגוריתמים יכולים להפחית הטיה, אבל אי אפשר ללטש תפוח אדמה ולקרוא לו יהלום. התחילו עם תפוחי אדמה טובים יותר - אה, נתונים.
- "הוגנות פירושה אותו דיוק לכולם." לפעמים שוויון הוא המטרה; לפעמים סיכויים שווים או ציונים מכוילים חשובים יותר. בחרו מדדים התואמים את הנזק שאתם רוצים למנוע.
- "נתונים סינתטיים פותרים גיוון." זה עוזר למלא פערים, אבל אם המחולל למד הטיות מתמונות אמיתיות, פשוט שיבטתם את הבעיה ב-4K.
בדיקת הטיה מעשית, צעד אחר צעד, שתוכלו להפעיל השבוע
- ערכו רשימה של מערך הנתונים שלכם: צרו טבלה פשוטה של מי ומה יש בה - דמוגרפיה, תאורה, מכשירים, מיקומים. סמנו את הפערים באדום. תעמידו פנים שאתם מדרגים את המודל שלכם.
- בנו ערכת הערכת הוגנות: 1,000-10,000 תמונות מרובדות על פני הקבוצות שאכפת לכם מהן. זהו המבחן הגופני השנתי שלכם.
- בחרו שני מדדי הטיה: התחילו בדיוק תת-קבוצה ושגיאת כיול. אם האפליקציה שלכם בעלת סיכון גבוה (רפואי, זהות), הוסיפו סיכויים שווים או פערי שיעור שלילי שקרי.
- הגדירו ספים: "אף תת-קבוצה מתחת ל-95% מהדיוק הכולל" היא התחלה. כתבו את זה. הדביקו את זה לקיר.
- מיינו ואמנו מחדש: מלאו פערים עם איסוף נתונים ממוקד, שקלו מחדש את הדוגם שלכם, ונסו להגדיל את התחום היכן שאתם פורסים. הפעילו מחדש את הערכת ההוגנות. חזרו על הפעולה עד שהכרזה על הקיר שלכם תפסיק לצעוק עליכם.
שימו לב: תקנות, ביקורות, ולמה צוות עורכי הדין שלכם פתאום אוהב ארוחת צהריים
חוקים ותקנים מצמצמים פערים. צפו לדרישות להערכות השפעה, תיעוד נתוני אימון וניטור לאחר פריסה - במיוחד בתחום הבריאות, הגיוס ושימושים במגזר הציבורי. תרגום: שמרו רשומות. גליונות נתונים למערכי נתונים, כרטיסי מודל למודלים, ושביל נייר לכל שינוי גדול. העתיד שלכם - ורגולטור - יודו לכם.
כלים שכדאי לנסות כאשר גליון האלקטרונים שלכם מתחיל לבכות
- ספריות הערכת הטיה: חפשו כלי פתוח שמדווח על מדדי תת-קבוצה, כיול ואילוצי הוגנות. רבים משתלבים עם מסגרות ML נפוצות.
- יכולת הסברה: מפות בולטות, Grad-CAM, SHAP. השתמשו בהן כדי לראות על מה המודל באמת מסתכל. אם זה הלוגו ולא המוצר, יש לכם בעיית ריסוק.
- דפדפני נתונים: מערכות שמאפשרות לכם לסנן לפי מטא נתונים, להמחיש פערי התפלגות ולסמן כפילויות קרובות. שאפו לפחות שיבוטים, יותר כיסוי.
ראוי לציין: אם אתם רוצים בדיקת שפיות בזמן שאתם בוחרים או בודקים מערכי נתונים, Sider.AI יכולה לעזור לכם להשוות במהירות התפלגויות, להדגיש פרוסות לא מיוצגות ולחשוף מתאמי "אוי ואבוי" לפני שהם הופכים לבאגים בייצור. תחשבו על זה כמו החבר שאומר לכם שיש לכם תרד בשיניים - בעדינות, ועם תרשימים. הצד האנושי: צוותים מתקנים הטיה, לא סרגלי כלים
- צוותים מגוונים מבחינים בנקודות עיוורון שונות. אם כולם בצוות שלכם מבלים בחופשות באותן שלוש ערים, גם המודל שלכם יעשה זאת.
- תמריצים חשובים. אם ההצלחה היא רק "דיוק כולל", אנשים ישלחו את המודל המוטה שמנצח בטבלת המובילים. קבעו מטרות הוגנות ותגמלו על השגתן.
- דברו עם משתמשים, במיוחד אלה שמקבלים את התוצאות הגרועות ביותר. הם יגידו לכם מה לוח המחוונים שלכם לא יגיד.
ניצחונות מהירים לעומת מסעות ארוכים: מה לעשות על סמך המועד האחרון שלכם
- לשלוח מחר: הוסיפו הגדלה ממוקדת לתת-הקבוצה בעלת הביצועים הגרועים ביותר שלכם, שקלו מחדש את ההפסד שלכם והצמידו לוח מחוונים לניטור עם התראות לסחף.
- לשלוח בחודש הבא: אספו מערך נתונים קטן אך רב עוצמה המתמקד בפערים, אמנו מחדש עם אילוצי הוגנות והריצו חבילת בדיקות מנוגדות לעובדות.
- לשלוח ברבעון הבא: עצבו מחדש את צינור הנתונים שלכם כך שיכלול דגימה מבוססת מכסות, הערכות הטיה רציפות ובדיקה חוצת תפקודים לפני השחרור.
רשימת הבדיקה שבאמת תשתמשו בה
- האם אנחנו יודעים מי נמצא בנתונים שלנו ומי חסר?
- האם קבענו יעדי ביצועים של תת-קבוצות?
- האם התוויות שלנו עקביות ומודעות מבחינה תרבותית?
- האם בדקנו בסביבות שבהן המשתמשים שלנו חיים - לא רק במעבדה שלנו?
- האם אנחנו יכולים להסביר החלטות מודל כאשר דברים משתבשים?
- האם יש לנו תוכנית לעדכן ולנטר לאחר ההשקה?
הדפיסו את זה. תמסגרו את זה. או שתדביקו את זה למכונת האספרסו שלכם.
כאשר הטיה היא התכונה, לא הבאג: הכרה במגבלות
משימות הדמיה מסוימות מקודדות נורמות תרבותיות (אופנה, מחוות, סמלים) שאינן אוניברסליות. לפעמים התשובה הנכונה היא למקם מודלים לפי אזור, תרבות או מקרה שימוש ולא לרדוף אחרי הוגנות במידה אחת שמתאימה לכולם. המטרה היא לא ליצור בינה מלאכותית שיודעת הכל על כולם - אלא לבנות אחת שיודעת מתי היא לא.
השורה התחתונה: אל תתנו לבינה המלאכותית שלכם לגדול בתוך בועה
הטיית מערך נתונים בהדמיית בינה מלאכותית היא כמו ללמד את המצלמה שלכם לראות את העולם דרך צינור נייר מגבת: אתם מקבלים מבט צר וכאב ראש. אבל אתם לא נידונים לכך.
- בדקו את הנתונים שלכם כאילו זה משנה - כי זה כן.
- תייגו בכוונה, התאמנו עם אילוצים ובדקו בספקנות.
- נטרו, הקשיבו ותקנו כשהעולם האמיתי מפתיע אתכם באופן בלתי נמנע.
תעשו את זה, והבינה המלאכותית שלכם תפסיק לבלבל סארי עם חלוקי רחצה ושׂומות עם תוצרת. זה אפילו יכול להיות טוב מספיק כדי לעזור לאנשים - בבטחה, בהגינות ובמציאות הפרועה והמבולגנת שבה כולנו חיים בפועל.
עכשיו לכו לבדוק את מערך הנתונים שלכם. אני אחכה. ואני אהיה זה שבפינה, לוחש למודל שלכם: "זה לא אתה, זה מערך האימונים שלך."
שאלות נפוצות
ש1: מהי הטיית מערך נתונים בהדמיית בינה מלאכותית, בשפה פשוטה?
זה כאשר תמונות האימון לא תואמות את העולם האמיתי - מעט מדי גווני עור, תנאי תאורה או הקשרים. המודל לומד מציאות צרה ומבצע תחזיות מוטות או שגויות כאשר הוא פוגש משהו מחוץ לבועה הזו.
ש2: איך אני מזהה הטיית מערך נתונים לפני שאני שולח?
חלקו את המדדים שלכם לפי תת-קבוצה - דמוגרפיה, תאורה, מכשירים - וחפשו פערי ביצועים. הוסיפו בדיקות מנוגדות לעובדות וערכת הערכת הוגנות קטנה ומאורגנת כדי לתפוס הקשר והטיית תיוג בשלב מוקדם.
ש3: האם נתונים סינתטיים יכולים לתקן הטיית מערך נתונים בראייה ממוחשבת?
נתונים סינתטיים יכולים למלא פערים כמו תאורה או זוויות נדירות, אך הם יכולים גם לשבט את ההטיה הקיימת שלכם. השתמשו בהם כדי להגדיל תרחישים לא מיוצגים, לא להחליף תמונות מגוונות בעולם האמיתי.
ש4: מהן דרכים מהירות להפחית הטיה מבלי לבנות מחדש הכל?
שקלו מחדש מחלקות, הוסיפו הגדלות ממוקדות ואספו מערך נתונים קטן המתמקד בקבוצות בעלות הביצועים הגרועים ביותר שלכם. לאחר מכן, אמנו מחדש עם הפסדים מודעים להוגנות ונטרו סחף לאחר ההשקה.
ש5: באילו מדדים עלי להשתמש כדי למדוד הטיית הדמיה?
התחילו בדיוק תת-קבוצה ושגיאת כיול, ואז שקלו סיכויים שווים או פערי שיעור שלילי שקרי עבור משימות בעלות סיכון גבוה. בחרו מדדים המתאימים ביותר לנזק שאתם הכי רוצים למנוע.