Una razón de peso para utilizar la entropía cruzada en lugar del coeficiente de dados o la métrica similar IoU es que los gradientes son más agradables.
Los gradientes de entropía cruzada wrt los logits es algo así como $p - t$ , donde $p$ es la salida del softmax y $t$ es el objetivo. Mientras tanto, si tratamos de escribir el coeficiente de los dados en una forma diferenciable: $\frac{2pt}{p^2+t^2}$ o $\frac{2pt}{p+t}$ entonces los gradientes resultantes wrt $p$ son mucho más feas: $\frac{2t(t^2-p^2)}{(p^2+t^2)^2}$ y $\frac{2t^2}{(p+t)^2}$ . Es fácil imaginar un caso en el que ambos $p$ y $t$ son pequeños, y el gradiente se dispara hasta un valor enorme. En general, parece probable que la formación se vuelva más inestable.
La razón principal por la que la gente intenta utilizar directamente el coeficiente de dados o el IoU es que el objetivo real es la maximización de esas métricas, y la entropía cruzada es sólo un proxy que es más fácil de maximizar utilizando la retropropagación. Además, el coeficiente de dados funciona mejor en problemas de desequilibrio de clases por diseño:
Sin embargo, el desequilibrio de clases se suele solucionar simplemente asignando multiplicadores de pérdidas a cada clase, de manera que la red está muy desincentivada para ignorar simplemente una clase que aparece con poca frecuencia, por lo que no está claro que el coeficiente Dice sea realmente necesario en estos casos.
Yo empezaría con la pérdida de entropía cruzada, que parece ser la pérdida estándar para el entrenamiento de redes de segmentación, a menos que hubiera una razón realmente convincente para utilizar el coeficiente Dice.
0 votos
¿Por qué no utilizar el enfoque práctico para usar ambos y comparar los resultados? Al observar muchos campos de aplicación diferentes, la discusión sobre la función de pérdida es un tema propio de investigación ampliada. Dado que las redes convolucionales siguen siendo un "tema candente", supongo que la mayoría de los artículos se seguirán publicando en el futuro.