מערכי נתונים: תוויות

הקטע הזה מתמקד בתוויות.

תוויות ישירות לעומת תוויות שרת proxy

כדאי להשתמש בשני סוגים שונים של תוויות:

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

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

תוויות proxy הן תמיד פשרה – קירוב לא מושלם של תווית ישירה. עם זאת, חלק מהתוויות של שרת proxy הן משוערות מספיק כדי להיות מועילות. המודלים שמשתמשים בתוויות proxy מועילים רק במידה שהקישור בין תווית ה-proxy לבין החיזוי חזק.

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

תרגול: בדיקת ההבנה

החברה שלכם רוצה לבצע את הפעולות הבאות:

לשלוח שוברים לבעלי אופניים ('החלפת האופניים הישנים תמורת 15% הנחה על אופניים חדשים').

לכן, המודל צריך לבצע את הפעולות הבאות:

לחזות אילו אנשים הם בעלי אופניים.

לצערנו, מערך הנתונים לא מכיל עמודה בשם bike owner. עם זאת, מערך הנתונים מכיל עמודה בשם recently bought a bicycle.

האם recently bought a bicycle היא תווית proxy טובה או תווית proxy גרועה עבור המודל הזה?
תווית proxy טובה
תווית שרת proxy חלשה

נתונים שנוצרו על ידי בני אדם

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

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

בקטע הזה נסביר על היתרונות והחסרונות של נתונים שנוצרו על ידי בני אדם.

יתרונות

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

חסרונות

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

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

  • מהי רמת המיומנות הנדרשת של הבודקים? (לדוגמה, האם הבודקים חייבים לדעת שפה ספציפית? האם אתם זקוקים לבלשנים לצורך פיתוח אפליקציות של דיאלוג או NLP?)
  • כמה דוגמאות מתויגות נדרשות לכם? למתי דרושים לך הפריטים?
  • מה התקציב שלך?

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

כדאי לבדוק את הנתונים באופן ידני, לא משנה איך קיבלתם אותם. אנדריי קרפטי (Andrej Karpathy) עשה זאת ב-ImageNet ותיאר את החוויה.

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