Por que Micro F1=0,94 Pode Esconder um Classificador Inútil: Uma Análise de Problemas com Múltiplos Rótulos
DeepPavlov
Usando o exemplo de moderação de IA para Discord, o artigo mostra que a métrica agregada micro F1 pode mascarar falhas em classes raras, mas críticas. O autor alerta contra seguir cegamente o princípio KISS em tarefas com múltiplos rótulos e explica como o desbalanceamento de classes, a escolha da função de perda e as métricas de seleção de checkpoint afetam a qualidade real do modelo.
O autor desenvolve moderação de IA para Discord baseada em um modelo ruBERT tiny2, ajustado para classificação multi-rótulo com 15 rótulos (SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD e outros). O conjunto de dados contém cerca de 1 milhão de exemplos rotulados. Após o treinamento, o modelo alcançou micro F1=0,9358 e macro F1=0,8396 no teste — uma diferença de quase 0,1 sinalizou a necessidade de verificar as métricas para cada classe individualmente. Descobriu-se que classes raras (por exemplo, EVASION com 35.000 amostras) se perdem na massa de classes frequentes (SAFE com 400.000), e o micro F1 não reflete erros nelas. Para combater o desbalanceamento, o pos_weight foi usado em BCEWithLogitsLoss. A análise detalhada revelou que TOXIC tem recall≈0,78, ou seja, o modelo perde uma parte notável das mensagens tóxicas. As classes FLOOD e IMAGE_SCAM estão quase ausentes na divisão de teste, mas seu processamento é delegado a outros componentes do sistema, não ao classificador de texto. O autor também observa que selecionar o melhor checkpoint com base na perda de treinamento leva ao overfitting: a variante ideal foi encontrada usando macro F1, não a perda. A principal conclusão: o princípio KISS se aplica à implementação, mas não à tarefa — desbalanceamento de classes, diferenças de métricas, precisão/recall separados por classe e custos de erro não podem ser ignorados. O próximo passo é calibrar os limiares para cada classe individualmente.
Fonte: Habr — хаб NLP —
original
