Miksi Micro F1=0,94 voi piilottaa hyödyttömän luokittelijan: Moniluokkaisen ongelman purkaminen
DeepPavlov
Käyttäen esimerkkinä Discord-palvelun tekoälymoderaatiota artikkeli osoittaa, että aggregoidun micro F1 -mittarin takana voi piillä epäonnistumisia harvinaisissa mutta kriittisissä luokissa. Kirjoittaja varoittaa noudattamasta sokeasti KISS-periaatetta moniluokkaisissa tehtävissä ja selittää, miten luokkien epätasapaino, häviöfunktion valinta ja tarkistuspisteen valintamittarit vaikuttavat mallin todelliseen laatuun.
Kirjoittaja kehittää Discordille tekoälypohjaisen moderointijärjestelmän, joka perustuu ruBERT tiny2 -malliin, hienosäädettynä moniluokkaiseen luokitteluun 15 luokalla (SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD ja muut). Aineisto sisältää noin miljoona merkittyä esimerkkiä. Koulutuksen jälkeen malli saavutti testissä mikro-F1-arvon 0,9358 ja makro-F1-arvon 0,8396 — lähes 0,1:n ero viittasi siihen, että mittarit on tarkistettava jokaiselle luokalle erikseen. Kävi ilmi, että harvinaiset luokat (esim. EVASION, jossa on 35 000 näytettä) hukkuvat yleisten luokkien (esim. SAFE, jossa on 400 000 näytettä) massaan, eikä mikro-F1 heijasta niiden virheitä. Epätasapainon torjumiseksi käytettiin pos_weight-arvoa BCEWithLogitsLoss-funktiossa. Yksityiskohtainen analyysi paljasti, että TOXIC-luokan saanti on noin 0,78, mikä tarkoittaa, että malli ohittaa huomattavan osan myrkyllisistä viesteistä. FLOOD- ja IMAGE_SCAM-luokat ovat lähes poissa testijaosta, mutta niiden käsittely on delegoitu muille järjestelmän osille, ei tekstiluokittelijalle. Kirjoittaja huomauttaa myös, että parhaan tarkistuspisteen valitseminen koulutushäviön perusteella johtaa ylisovittumiseen: optimaalinen versio löytyi makro-F1:n, ei häviön, avulla. Tärkein johtopäätös: KISS-periaate pätee toteutukseen, mutta ei tehtävään — luokkien epätasapainoa, mittarien eroja, erillisiä tarkkuus- ja saantilukemia jokaiselle luokalle sekä virheiden kustannuksia ei voi sivuuttaa. Seuraava askel on kalibroida kynnysarvot jokaiselle luokalle erikseen.
Lähde: Habr — хаб NLP —
Alkuperäinen
