כיצד בינה מלאכותית מזהה אנומליות?

כיצד בינה מלאכותית מזהה אנומליות?

גילוי אנומליות הוא הגיבור השקט של פעולות נתונים - גלאי העשן שלולחש לפני שדברים עולים באש.

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

מאמרים שאולי תרצו לקרוא אחרי זה:

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

🔗 כמה מים משתמשים בפועל במערכות בינה מלאכותית
מסביר את קירור מרכזי הנתונים, דרישות ההדרכה והשפעת המים על הסביבה.

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

🔗 כיצד בינה מלאכותית מנבאת מגמות מנתונים מורכבים.
מכסה זיהוי תבניות, מודלים של למידת מכונה ושימושים בחיזוי בעולם האמיתי.


"כיצד בינה מלאכותית מזהה אנומליות?" 

תשובה טובה צריכה לעשות יותר מאשר רק רשימת אלגוריתמים. היא צריכה להסביר את המכניקה וכיצד היא נראת כאשר מיישמים אותה על נתונים אמיתיים ולא מושלמים. ההסברים הטובים ביותר:

  • הצג את המרכיבים הבסיסיים: מאפיינים , קווי בסיס , ציונים וספים . [1]

  • השוואת משפחות מעשיות: מרחק, צפיפות, מחלקה אחת, בידוד, הסתברותי, שחזור. [1]

  • טיפול במוזרויות של סדרות זמן: "נורמלי" תלוי בשעה ביום, ביום בשבוע, בפרסומים ובחגים. [1]

  • התייחסו להערכה כאל אילוץ אמיתי: אזעקות שווא אינן רק מעצבנות - הן שורפות אמון. [4]

  • כלול פירוש + נוכחות אנושית בלולאה, כי "זה מוזר" אינו שורש הבעיה. [5]


מכניקת הליבה: קווי בסיס, ציונים, ספים 🧠

רוב מערכות האנומליה - מפוארות או לא - מסתכמות בשלושה חלקים נעים:

1) ייצוג (aka: מה שהמודל רואה )

אותות גולמיים לעיתים רחוקות מספיקים. אתה מהנדס מאפיינים (סטטיסטיקות מתגלגלות, יחסים, השהיות, דלתות עונתיות) או לומד ייצוגים (הטמעות, תת-מרחבים, שחזורים). [1]

2) ניקוד (aka: כמה זה "מוזר"?)

רעיונות נפוצים לניקוד כוללים:

  • מבוסס מרחק : רחוק משכנים = חשוד. [1]

  • מבוסס צפיפות : צפיפות מקומית נמוכה = חשוד (LOF הוא דמות מצוינת). [1]

  • גבולות של כיתה אחת : למד "נורמלי", סמן את מה שנופל מחוץ לכך. [1]

  • הסתברותי : סבירות נמוכה תחת מודל מותאם = חשוד. [1]

  • שגיאת שחזור : אם מודל שאומן על רגיל לא יכול לבנות אותו מחדש, הוא כנראה לא תקין. [1]

3) סף (aka: מתי לצלצל בפעמון)

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

פרט אחד מעשי מאוד: גלאי חריגים/חדשנות של scikit-learn חושפים ציונים גולמיים ולאחר מכן מיישמים סף (הנשלט לעתים קרובות באמצעות הנחת זיהום) כדי להמיר ציונים להחלטות פנימיות/חריגות [2].


הגדרות מהירות שמונעות כאב מאוחר יותר 🧯

שני הבחנות שיחסכו לכם טעויות עדינות:

  • זיהוי חריגים : ייתכן שנתוני האימון שלך כבר כוללים חריגים; האלגוריתם מנסה לדמות את "האזור הנורמלי הצפוף" בכל מקרה.

  • גילוי חדשנות : נתוני אימון מניחים שהם נקיים; אתה שופט האם חדשות מתאימות לדפוס הנורמלי הנלמד. [2]

כמו כן: גילוי חידושים ממוסגר לעתים קרובות כסיווג חד-מחלקתי - מידול נורמלי מכיוון שדוגמאות חריגות הן נדירות או לא מוגדרות [1].

 

אנומליות של בינה מלאכותית

סוסי עבודה ללא פיקוח שתשתמשו בהם בפועל 🧰

כאשר תוויות הן נדירות (וזה בעצם תמיד), אלה הכלים שמופיעים בצינורות אמיתיים:

  • יער בידוד : ברירת מחדל חזקה במקרים טבלאיים רבים, בשימוש נרחב בפועל ומיושם ב-scikit-learn. [2]

  • SVM חד-מחלקתי : יכול להיות יעיל אך רגיש לכוונון והנחות; scikit-learn מדגיש במפורש את הצורך בכוונון היפר-פרמטרים זהיר. [2]

  • גורם חריג מקומי (LOF) : ניקוד קלאסי מבוסס צפיפות; מצוין כאשר "נורמלי" אינו גוש מסודר. [1]

צוותים מגלים מחדש גישה מעשית מדי שבוע: LOF מתנהג בצורה שונה בהתאם לשאלה האם מבצעים גילוי חריגים על מערך האימונים לעומת גילוי חדשנות על נתונים חדשים - אפילו scikit-learn דורש novelty=True כדי לצבור נקודות בלתי נראות בבטחה. [2]


בסיס איתן שעדיין עובד גם כשהנתונים לא יציבים 🪓

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

ציון ה-z המתוקן משתמש בחציון וב- MAD (סטיית מוחלטת חציונית) כדי להפחית את הרגישות לערכים קיצוניים. מדריך ה-EDA של NIST מתעד את טופס ציון ה-z המתוקן ומציין כלל אצבע נפוץ של "חריג פוטנציאלי" בערך מוחלט מעל 3.5 . [3]

זה לא יפתור כל בעיית אנומליה - אבל זה לרוב קו הגנה ראשון חזק, במיוחד עבור מדדים רועשים וניטור בשלב מוקדם. [3]


מציאות סדרות זמן: "נורמלי" תלוי מתי ⏱️📈

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

אם אתם זוכרים רק כלל אחד: פלחו את קו הבסיס שלכם (שעה/יום/אזור/רמת שירות) לפני שאתם מכריזים על מחצית מהתנועה שלכם כ"חריגה". [1]


הערכה: מלכודת האירועים הנדירים 🧪

גילוי אנומליות הוא לעתים קרובות "מחט בערימת שחת", מה שהופך את ההערכה למוזרה:

  • עקומות ROC יכולות להיראות יפות באופן מטעה כאשר חיוביות הן נדירות.

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

  • מבחינה תפעולית, צריך גם תקציב התראות : כמה התראות בשעה בני אדם יכולים באמת לנתח מבלי להפסיק את זעמם? [4]

בדיקות חוזרות (backtesting) על פני חלונות מתגלגלים עוזרות לך לזהות את מצב הכשל הקלאסי: "זה עובד יפהפה... על ההתפלגות של החודש שעבר." [1]


פרשנות ושורש הבעיה: הציגו את עבודתכם 🪄

התראה ללא הסבר זה כמו לקבל גלויה מסתורית. שימושי למדי, אבל מתסכל.

כלי פירוש יכולים לסייע על ידי הצבעה על המאפיינים שתרמו הכי הרבה לציון אנומליה, או על ידי מתן הסברים בסגנון "מה צריך להשתנות כדי שזה ייראה נורמלי?". Interpretable Machine Learning הוא מדריך מוצק וביקורתי לשיטות נפוצות (כולל ייחוסים בסגנון SHAP) ולמגבלותיהן. [5]

המטרה אינה רק נוחות בעלי העניין - אלא מיון מהיר יותר ופחות אירועים חוזרים.


פריסה, סחיפה ולולאות משוב 🚀

מודלים לא חיים בשקופיות. הם חיים בצנרת.

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

לְמַעֲשֶׂה:

  • ניטור הסחיפה ואימון/כיול מחדש ככל שההתנהגות משתנה [1]

  • רישום קלט ניקוד + גרסת מודל כדי שתוכלו לשחזר מדוע משהו הוצג [5]

  • לכידת משוב אנושי (התראות שימושיות לעומת התראות רועשות) כדי לכוונן ספים ומקטעים לאורך זמן. [4]


זווית אבטחה: IDS וניתוח התנהגותי 🛡️

צוותי אבטחה לעיתים קרובות משלבים רעיונות אנומליות עם גילוי מבוסס כללים: קווי בסיס ל"התנהגות רגילה של מארח", בתוספת חתימות ומדיניות לדפוסים שליליים ידועים. SP 800-94 (סופי) של NIST נותר מסגור מצוטט באופן נרחב לשיקולי מערכת גילוי ומניעת חדירות; כמו כן, הוא מציין כי טיוטת "Rev. 1" משנת 2012 מעולם לא הפכה סופית ומאוחר יותר הוצאה משימוש. [3]

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


טבלת השוואה: שיטות פופולריות במבט חטוף 📊

כלי / שיטה הטוב ביותר עבור למה זה עובד (בפועל)
ציוני z חזקים / שעברו שינוי מדדים פשוטים, קווי בסיס מהירים מעבר ראשון חזק כשצריך "מספיק טוב" ופחות אזעקות שווא. [3]
יער הבידוד טבלאית, תכונות מעורבות יישום ברירת מחדל מוצק ונמצא בשימוש נרחב בפועל. [2]
SVM חד-מחלקתי אזורים "נורמליים" קומפקטיים גילוי חדשנות מבוסס גבולות; כוונון חשוב מאוד. [2]
גורם חריג מקומי נורמלים בסגנון יריעה ניגודיות צפיפות לעומת שכנים לוכדת מוזרות מקומית [1]
שגיאת שחזור (למשל, בסגנון מקודד אוטומטי) תבניות בעלות מימדים גבוהים התאמנו על תקן; שגיאות שחזור גדולות יכולות לסמן סטיות. [1]

קוד רמאות: התחילו עם קווי בסיס חזקים + שיטה משעממת ולא מפוקחת, ואז הוסיפו מורכבות רק במקומות שבהם זה משתלם.


מיני ספר הדרכה: מאפס להתראות 🧭

  1. הגדירו "מוזר" מבחינה תפעולית (השהיה, סיכון להונאה, פגיעה במעבד, סיכון למלאי).

  2. התחל עם קו בסיס (סטטיסטיקות מוצקות או ספים מפולחים). [3]

  3. בחרו מודל אחד ללא פיקוח כמעבר ראשון (יער בידוד / LOF / SVM בעל מחלקה אחת). [2]

  4. קבעו ספים עם תקציב התראה , והעריכו באמצעות חשיבה בסגנון יחסי ציבור אם תוצאות חיוביות הן נדירות. [4]

  5. הוסף הסברים + רישום רישום כך שכל התראה תהיה ניתנת לשחזור וניפוי באגים. [5]

  6. בדיקה אחורית, משלוח, למידה, כיול מחדש - הסחיפה היא נורמלית [1]

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


הערות אחרונות - ארוך מדי, לא קראתי את זה🧾

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


הפניות

  1. פימנטל ואחרים (2014) - סקירה של גילוי חידושים (PDF, אוניברסיטת אוקספורד) קרא עוד

  2. תיעוד scikit-learn - זיהוי חדשנות וחריגים קרא עוד

  3. מדריך אלקטרוני של NIST/SEMATECH - איתור חריגים קרא עוד ו-NIST CSRC - SP 800-94 (סופי): מדריך למערכות איתור ומניעת חדירות (IDPS) קרא עוד

  4. סאיטו ורמסמאייר (2015) - דיאגרמת Precision-Recall אינפורמטיבית יותר מדיאגרמת ROC בעת הערכת מסווגים בינאריים על מערכי נתונים לא מאוזנים (PLOS ONE) קרא עוד

  5. מולנר - למידת מכונה ניתנת לפירוש (ספר אינטרנט) קרא עוד

מצאו את הבינה המלאכותית העדכנית ביותר בחנות הרשמית של עוזרי בינה מלאכותית

אודותינו

חזרה לבלוג