Comentarii

Copiați linkul Citat răspuns

greutăți

velikodniy comentat 9 martie 2018 •

Am implementat un analog al weighted_cross_entropy_with_logits în proiectul meu actual. Este util pentru lucrul cu seturi de date dezechilibrate. Vreau să-l adaug la PyTorch, dar mă îndoiesc dacă este cu adevărat necesar pentru alții.

De exemplu, implementarea mea:

(Desigur, testele și WeightedBCELoss trebuie scrise și ele.)

Textul a fost actualizat cu succes, dar s-au întâlnit aceste erori:

velikodniy comentat 9 martie 2018

O altă modalitate este de a adăuga un argument pos_weight la pierderea BCELoss și BCEWithLogits.

soumith comentat 13 martie 2018

am discutat ieri această propunere și nu cred că are sens să o adăugăm. greutățile țintă sunt pur și simplu un multiplicator pe care îl poți face în prealabil cu * și nu este atât de obișnuit ca un caz de utilizare.

velikodniy comentat 13 martie 2018 •

Rețineți că pos_weight se înmulțește numai cu primul addend din formula pentru pierderea BCE. Nu este greutatea pentru întreaga țintă. Nu văd modul simplu de a face acest lucru în prealabil.

Pierderea propusă arată ca:

BCEWithLogitsLoss cu multiplicator m pentru ținte:

Dacă aceste formule sunt aceleași, m ar trebui să fie egală:

Această formulă este destul de complexă, conține logituri și cred că este instabilă din punct de vedere numeric.