Modellen 🇷🇺 27.07.2026 01:05

Waarom Micro F1=0,94 een nutteloze classificator kan verbergen: een uitsplitsing van een multi-label probleem

DeepPavlovDeepPavlov
Aan de hand van het voorbeeld van AI-moderatie voor Discord laat het artikel zien dat de samengevoegde micro F1-maatstaf fouten op zeldzame maar kritieke klassen kan verbergen. De auteur waarschuwt voor het blindelings volgen van het KISS-principe in multi-label taken en legt uit hoe klassenonevenwicht, keuze van verliesfunctie en statistieken voor checkpointselectie de werkelijke modelkwaliteit beïnvloeden.
De auteur ontwikkelt AI-moderatie voor Discord op basis van een ruBERT tiny2-model, verfijnd voor multilabel-classificatie met 15 labels (SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD en andere). De dataset bevat ongeveer 1 miljoen gelabelde voorbeelden. Na training behaalde het model een micro-F1-score van 0,9358 en een macro-F1-score van 0,8396 op de testset. Een verschil van bijna 0,1 gaf aan dat het nodig was om de metrieken per klasse afzonderlijk te controleren. Het bleek dat zeldzame klassen (bijvoorbeeld EVASION met 35.000 samples) verdrinken in de massa van frequente klassen (SAFE met 400.000), en micro-F1 weerspiegelt geen fouten op deze klassen. Om de onbalans tegen te gaan, werd pos_weight gebruikt in BCEWithLogitsLoss. Gedetailleerde analyse toonde aan dat TOXIC een recall van ongeveer 0,78 heeft, wat betekent dat het model een aanzienlijk deel van de toxische berichten mist. De klassen FLOOD en IMAGE_SCAM zijn vrijwel afwezig in de testsplitsing, maar hun verwerking wordt gedelegeerd aan andere systeemcomponenten, niet aan de tekstclassificator. De auteur merkt ook op dat het selecteren van de beste checkpoint op basis van trainingsverlies leidt tot overfitting: de optimale variant werd gevonden met behulp van macro-F1, niet met verlies. De belangrijkste conclusie: het KISS-principe geldt voor de implementatie, maar niet voor de taak — klasse-onbalans, metriekverschillen, aparte precisie/recall per klasse en foutkosten kunnen niet worden genegeerd. De volgende stap is het kalibreren van drempelwaarden voor elke klasse afzonderlijk.
Bron: Habr — хаб NLP — origineel
Eerdere berichten over dit onderwerp ↓
Vers nieuws