Fonction de perte de coefficient de dés vs entropie croisée


27

Lorsque vous entraînez des réseaux neuronaux de segmentation de pixels, tels que des réseaux entièrement convolutionnels, comment décidez-vous d'utiliser la fonction de perte d'entropie croisée par rapport à la fonction de perte de coefficient de dés?

Je me rends compte que c'est une question courte, mais je ne sais pas trop quelles autres informations fournir. J'ai regardé un tas de documentation sur les deux fonctions de perte mais je ne peux pas avoir une idée intuitive du moment où utiliser l'une sur l'autre.


Pourquoi ne pas utiliser l'approche pratique pour utiliser les deux et comparer les résultats. En examinant de nombreux domaines d'application différents, la discussion de la fonction de perte est son propre sujet de recherche approfondie. Étant donné que les réseaux convolutifs sont toujours un «sujet brûlant», je suppose que la plupart des articles seront toujours publiés à l'avenir.
chérubin

Réponses:


27

Une raison convaincante d'utiliser l'entropie croisée sur le coefficient de dés ou la métrique IoU similaire est que les gradients sont plus agréables.

Les gradients d'entropie croisée par rapport aux logits sont quelque chose comme , où p est les sorties softmax et t est la cible. Pendant ce temps, si nous essayons d'écrire le coefficient de dés sous une forme différenciable: 2 p tp-tpt ou2pt2ptp2+t2 , alors les gradients résultants par rapport àpsont beaucoup plus laids:2t22ptp+tp et2t(t2-p2)2t2(p+t)2 . Il est facile d'imaginer un cas oùpettsont tous deux petits et où le dégradé explose jusqu'à une valeur énorme. En général, il semble probable que la formation devienne plus instable.2t(t2-p2)(p2+t2)2pt


La principale raison pour laquelle les gens essaient d'utiliser directement le coefficient de dés ou l'IoU est que l'objectif réel est la maximisation de ces mesures, et l'entropie croisée n'est qu'un proxy qui est plus facile à maximiser en utilisant la rétropropagation. De plus, le coefficient de dés fonctionne mieux aux problèmes de classe déséquilibrés par conception:

Cependant, le déséquilibre de classe est généralement résolu simplement en affectant des multiplicateurs de perte à chaque classe, de sorte que le réseau est fortement dissuadé d'ignorer simplement une classe qui apparaît rarement, il n'est donc pas clair que le coefficient de dés soit vraiment nécessaire dans ces cas.


Je commencerais par la perte d'entropie croisée, qui semble être la perte standard pour la formation des réseaux de segmentation, à moins qu'il n'y ait une raison vraiment convaincante d'utiliser le coefficient de dés.


p-t

3
Quelle est la "maximisation du but principal" de la perte de dés? J'ai vérifié l'article original et tout ce qu'ils disent est «nous obtenons des résultats que nous avons observés expérimentalement sont bien meilleurs que ceux calculés via le même réseau formé optimisant une perte logistique multinomiale avec une nouvelle pondération de l'échantillon». Ce n'est pas très convaincant.
Neil G

@shimao Par "laid", vous voulez juste dire que les gradients peuvent exploser, est-ce exact?
flawr

17

Comme résumé par @shimao et @cherub, on ne peut pas dire a priori lequel fonctionnera mieux sur un ensemble de données particulier. La bonne façon est d'essayer les deux et de comparer les résultats. Notez également qu'en matière de segmentation, il n'est pas si facile de "comparer les résultats" : les mesures basées sur l'IoU comme le coefficient de dés ne couvrent que certains aspects de la qualité de la segmentation; dans certaines applications, différentes mesures telles que la distance de surface moyenne ou la distance de surface de Hausdorff doivent être utilisées. Comme vous le voyez, même le choix de la métrique de qualité correcte n'est pas trivial, encore moins le choix de la meilleure fonction de coût.

J'ai personnellement une très bonne expérience avec le coefficient de dés; cela fait vraiment des merveilles en matière de déséquilibre de classe (certains segments occupent moins de pixels / voxels que d'autres). En revanche, la courbe d'erreur d'apprentissage devient un gâchis total: elle ne m'a donné absolument aucune information sur la convergence, donc à cet égard l'entropie croisée gagne. Bien sûr, cela peut / doit être contourné en vérifiant quand même l'erreur de validation.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.