מסווג תמונות מותאם אישית: מנתונים לא מאוזנים לפרודקשן

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

מסווג תמונות מותאם אישית: מנתונים לא מאוזנים ועד לפרודקשן

אתה פורס מודל עבור קטלוג מוצרים ומקבל macro-F1 = 0.72 עקב חוסר איזון חמור בין המחלקות. לאחרונה פנה אלינו פרויקט מסחר אלקטרוני עם מערך נתונים של 15,000 תמונות, 30 קטגוריות, כאשר 80% השתייכו לחמש מחלקות.

יישמנו Weighted Random Sampler ו-Focal Loss, והעלינו את ה-macro-F1 מ-0.72 ל-0.94 בתוך שבועיים. האתגר המרכזי אינו המודל עצמו (בנצ'מרקים סטנדרטיים עוברים), אלא ההתאמה לדומיין הספציפי: רעש בתיוג, שינויים בתאורה, נתונים חסרים.

התמודדנו גם עם פרויקט אבחון רפואי שדרש זיהוי פתולוגיות נדירות בסריקות MRI. חוסר האיזון היה חמור אף יותר: 99% בריאים, 1% חולים. בשילוב של oversampling, augmentation ו-focal loss, השגנו רגישות של 0.92 בספציפיות של 0.98. פרויקטים מתחילים בעלות המחושבת לאחר אבחון ומשתנים בהתאם למורכבות.

איזו ארכיטקטורה לבחור?

עבור רוב המשימות, אנו בוחרים ב-EfficientNet-B4 או ConvNeXt-Tiny: הם מציעים איזון טוב בין דיוק לזמן הסקה. EfficientNet-B4 מהיר פי 2 מ-ViT-B/16 עם דיוק דומה. הטבלה שלהלן משווה בין ארכיטקטורות פופולריות.

ארכיטקטורה Top-1 ImageNet פרמטרים השהיה (T4 GPU)
EfficientNet-B0 77.1% 5.3M 3.5 ms
EfficientNet-B4 82.9% 19M 9.2 ms
ConvNeXt-Tiny 82.1% 28M 7.8 ms
ViT-B/16 81.8% 86M 12.1 ms
EfficientNet-B7 84.4% 66M 28 ms

עבור התקני קצה (Raspberry Pi, Jetson Nano), אנו משתמשים ב-MobileNetV3 או EfficientNet-Lite – הם פועלים תוך 1–2 ms על CPU.

מדוע כיוונון עדין עדיף על אימון מאפס?

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

import timm
import torch.nn as nn

def build_classifier(num_classes: int, pretrained_model: str = 'efficientnet_b4'):
    model = timm.create_model(
        pretrained_model,
        pretrained=True,
        num_classes=0
    )
    embedding_dim = model.num_features  # 1792 for B4
    for param in model.parameters():
        param.requires_grad = False
    classifier = nn.Sequential(
        nn.Linear(embedding_dim, 512),
        nn.GELU(),
        nn.Dropout(0.3),
        nn.Linear(512, num_classes)
    )
    model.classifier = classifier
    return model

אסטרטגיית כיוונון עדין שלב אחר שלב:

  1. הקפאת עמוד השדרה, אימון המסווג בלבד במשך 5 תקופות.
  2. ביטול הקפאה של 2 הבלוקים האחרונים, אימון במשך 10 תקופות עם קצב למידה נמוך פי 10.
  3. ביטול הקפאה מלא, עוד 10 תקופות עם לוח זמנים קוסינוסי.
  4. הערכה על סט אימות: אם המדדים לא עומדים ביעד, חזרה עם היפר-פרמטרים שונים.
טעות נפוצה: אי-אימון שכבות batch norm בעת ביטול הקפאה חלקי, יש להשאיר שכבות batch norm במצב אימון – אחרת הסטטיסטיקות לא מתעדכנות והדיוק יורד ב-5–10%.

כיצד להתמודד עם חוסר איזון בין מחלקות?

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

  • דגימה אקראית משוקללת – תדירות דגימה ביחס הפוך לגודל המחלקה.
  • Focal Loss – מתמקד בדוגמאות קשות (γ=2).
  • דגימת יתר של מחלקות נדירות באמצעות הגברת נתונים (albumentations).
  • אנטרופיה צולבת משוקללת לפי מחלקה – משקלים 1/class_frequency.

גישה זו מעלה את macro-F1 ב-15–20% בהשוואה לאימון בסיסי. הזמינו פרויקט פיילוט – נראה תוצאות על הנתונים שלכם בתוך שבועיים.

ההבדל בין סיווג רב-מחלקתי לסיווג רב-תוויתי

רב-מחלקתי: מחלקה אחת לכל תמונה – softmax + cross-entropy (למשל, סוג בעל חיים). רב-תוויתי: מספר מחלקות בו-זמנית – sigmoid + binary cross-entropy (למשל, תגיות תמונה). הסף עבור כל מחלקה מכוונן בנפרד בהתבסס על F1.

מדדי איכות מודל

  • דיוק Top-1/Top-5 עבור סטים מאוזנים.
  • F1 ממוצע מאקרו עבור סטים לא מאוזנים.
  • Cohen's Kappa עבור משימות רפואיות.
  • AUC-ROC לכל מחלקה עבור ריבוי תוויות.

תהליך עבודה עבור מערכת סיווג

ניתוח → עיצוב → מימוש → בדיקות → פריסה. בשלב הראשון, אנו לומדים את מערך הנתונים שלך, מזהים מחלקות בעייתיות, ומעריכים את איכות התיוג. לאחר מכן אנו בוחרים ארכיטקטורה ומריצים סדרת ניסויי A/B עם היפר-פרמטרים. לאחר אישור המודל – ייצוא ל-ONNX, קונטיינריזציה, ופריסה לתשתית שלך.

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

לוחות זמנים

מורכבות המשימה לוח זמנים
2–10 מחלקות, 1000+ תמונות למחלקה 1–2 שבועות
50+ מחלקות או תחום מורכב 3–5 שבועות
סיווג היררכי, פריסה בקצה 5–8 שבועות

העלות נקבעת לאחר ניתוח – צרו קשר לקבלת הערכה מפורטת.

מה כלול?

  • ניתוח נתונים והכנת מערך נתונים.
  • בחירת ארכיטקטורה וכיוונון עדין (עם בדיקות תצורה A/B).
  • הערכת איכות לפי מדדים נבחרים (דוח).
  • פריסה כ-REST API או שילוב בתשתית שלך.
  • תיעוד והדרכת הצוות.
  • אחריות – אם הדיוק אינו עומד ביעדים המוסכמים, אנו מבצעים עבודה מחדש ללא תשלום.

עם שנות ניסיון, השלמנו למעלה מ-40 פרויקטים של סיווג תמונות עבור תחומי מסחר אלקטרוני, רפואה ותעשייה. המהנדסים שלנו מחזיקים בהסמכות מ-NVIDIA, AWS ו-Google Cloud, ומשתמשים בשיטות MLOps לשחזור ניסויים.

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