התראת סף "אם הטמפרטורה > 80°C" מופעלת מאוחר מדי: עד שהסף נחצה, הבעיה כבר נוצרה. בפרויקטי ניטור ה-IoT שלנו, אנו משתמשים בזיהוי אנומליות—סטיות מהתבנית הנורמלית שהופכות לבולטות שעות או ימים לפני הגעה לערך קריטי. לדוגמה, מנוע שבדרך כלל מתחמם ל-45°C תוך 20 דקות, עכשיו מגיע ל-45°C תוך 8 דקות. זו אנומליה, גם אם הטמפרטורה בטווח הנורמלי. יישמנו ארכיטקטורה דו-מפלסית שמזהה סטיות כאלה ומתריעה מיד למפעיל. עם למעלה מ-5 שנות פיתוח מובייל ו-30+ פרויקטי IoT, אנו יכולים להתאים את הפתרון לכל תרחיש.
איך עובד זיהוי אנומליות על-גבי המכשיר?
לזיהוי אנומליות בזמן אמת ב-IoT על מכשיר נייד, אלגוריתמים חייבים להיות בעלי טביעת זיכרון נמוכה והסקה מהירה. להלן השוואה של שלוש גישות פופולריות.
| אלגוריתם | שימוש בזיכרון | דיוק | מהירות הסקה |
|---|---|---|---|
| EWMA עם בסיס אדפטיבי | <1 MB | בינוני (חד-משתני) | <1 ms |
| Isolation Forest (TFLite) | ~5 MB (int8) | גבוה (רב-משתני) | ~2 ms |
| LSTM Autoencoder (TFLite int8) | ~4 MB | גבוה מאוד (סדרות זמן) | ~10 ms |
EWMA הוא אלגוריתם קל משקל ללא מודל, שפועל על המכשיר ללא תקורה. היישום שלו ב-Kotlin ב-10 שורות משתלב בקוד תוך שעה. Isolation Forest מתאים יותר לנתונים רב-משתניים: אימון אופליין, הסקה מהירה, מודל מומר ל-TFLite דרך ONNX. LSTM Autoencoder הוא הבחירה הטובה ביותר לסדרות זמן עם תבניות (מחזורים יומיים, משמרות ייצור). לאחר קוונטיזציה של int8, הוא תופס ~4 MB ומייצר שגיאת שחזור כציון אנומליה.
למה EWMA הוא הבחירה האופטימלית למכשיר?
EWMA מיושם כנוסחה רקורסיבית פשוטה: estimate = alpha * observation + (1 - alpha) * previous_estimate. הבסיס האדפטיבי מתעדכן תוך כדי תנועה: אם לא זוהו אנומליות, הבסיס זז לכיוון הערכים הנוכחיים. סף האנומליה הוא סטיית התקן כפול מקדם. זה מספק תגובה מיידית (<1 ms) ללא צריכת רשת או סוללה.
איך יישמנו LSTM Autoencoder על TFLite?
עבור סדרות זמן מורכבות, אנו משתמשים ב-LSTM Autoencoder שאומן על נתונים נורמליים. המודל מומר ל-TFLite עם קוונטיזציה של int8—הגודל יורד מ-12 MB ל-~4 MB. ההסקה רצה דרך Interpreter באנדרואיד או MLModel ב-iOS. שגיאת השחזור מחושבת כשגיאה ריבועית ממוצעת על פני חלון; אם היא חורגת מהסף (מכוונן על נתוני אימות), מסומנת אנומליה. הוספנו השתקות לסינון אירועים מתוכננים ולולאת משוב (כפתור "זה נורמלי") לאיסוף דוגמאות שליליות. לאחר חודש פעילות, מספר האזעקות השקריות יורד ב-60%.
למה יש צורך בזיהוי רב-מפלסי?
הארכיטקטורה האופטימלית היא דו-מפלסית. על-גבי המכשיר: EWMA קל משקל לתגובה מיידית (<100 ms). על-גבי השרת: מודל כבד (Isolation Forest, LSTM AE) עם הקשר היסטורי מלא לסיווג מדויק. אפליקציית המובייל מקבלת אירועים משני המפלסים: מכשיר → התראה ישירה דרך התראה מקומית (אם האפליקציה פעילה), שרת → FCM/APNs עם אנומליה מאומתת והסיווג שלה.
@Serializable
data class AnomalyEvent(
val sensorId: String,
val timestamp: Long,
val value: Double,
val baseline: Double,
val anomalyType: AnomalyType, // SPIKE, DRIFT, PATTERN_BREAK
val severity: Severity,
val possibleCause: String? // заполняется сервером через LLM
) זיהוי אנומליות חיישני IoT מונע בינה מלאכותית: אנליטיקה וניהול אזעקות שווא
מסך האנליטיקה צריך להציג מפת חום של אנומליות לפי חיישן ושעה ביום, אשכולות לפי סוג (DBSCAN על השרת), ומתאמים בין חיישנים. תובנות אלה מופיעות רק לאחר צבירת נתונים במשך מספר שבועות, ולכן חשוב להגדיר איסוף הקשר מההתחלה.
איך לנהל אזעקות שווא? — זיהוי אנומליות בינה מלאכותית
- לולאת משוב: כפתור "זה נורמלי" בכרטיס האנומליה שולח דוגמה שלילית; השרת משלב אותה באימון מחדש.
- השתקות: "אל תתריע עבור חיישן T-5 מ-06:00 עד 08:00—זה חימום מתוכנן."
- סף ביטחון: הצג רק אנומליות עם ביטחון > 0.8.
השוואה בין זיהוי על-גבי המכשיר לעומת השרת
| קריטריון | על-גבי המכשיר | שרת |
|---|---|---|
| זמן השהיה | <1 ms | ~100 ms (רשת) |
| דיוק | בינוני (EWMA) | גבוה (LSTM) |
| עצמאות | מלאה | תלוי ברשת |
| עדכון מודל | דרך OTA | מיידי |
הבחירה תלויה בתרחיש: לתגובות קריטיות בזמן, יש צורך במכשיר; לניתוח מפורט, השרת עדיף.
מה כלול בעבודה
- פיתוח מודול זיהוי אנומליות עם ארכיטקטורה דו-מפלסית.
- אימון וקוונטיזציה של מודלים (EWMA, Isolation Forest או LSTM לפי בחירה).
- אינטגרציה לאפליקציית המובייל (אנדרואיד/iOS) עם תמיכה ב-TFLite/Core ML.
- הגדרת לולאת משוב, השתקות ולוח אנליטיקה.
- תיעוד, הדרכת מפעילים ותמיכה חודש לאחר ההשקה.
החיסכון בהתראות עקב זיהוי מוקדם מגיע ל-40%. נבחן את הפרויקט שלך תוך 2 ימי עבודה. המומחיות שלנו—למעלה מ-5 שנות פיתוח מובייל ו-30+ פרויקטי IoT—מבטיחה מערכת יציבה. בקש ייעוץ להערכת הפרויקט שלך—נמצא את הפתרון האופטימלי. צור קשר.
מקורות: EWMA בוויקיפדיה, תיעוד TFLite.







