Función de pérdida de coeficiente de dados vs entropía cruzada

27

Al entrenar una red neuronal de segmentación de píxeles, como redes completamente convolucionales, ¿cómo toma la decisión de utilizar la función de pérdida de entropía cruzada versus la función de pérdida de coeficiente de dados?

Me doy cuenta de que esta es una pregunta corta, pero no estoy muy seguro de qué otra información proporcionar. Miré un montón de documentación sobre las dos funciones de pérdida, pero no puedo tener una idea intuitiva de cuándo usar una sobre la otra.

cristiano
fuente
¿Por qué no utilizar el enfoque práctico para utilizar ambos y comparar los resultados? Al analizar muchos campos de aplicación diferentes, la discusión sobre la función de pérdida es su propio tema de investigación extendida. Dado que las redes convolucionales siguen siendo un "tema candente", supongo que la mayoría de los artículos aún se publicarán en el futuro.
querubín

Respuestas:

27

Una razón convincente para usar la entropía cruzada sobre el coeficiente de dados o la métrica similar de IoU es que los gradientes son más agradables.

Los gradientes de la entropía cruzada wrt los logits es algo así como , donde es la salida softmax es el objetivo. Mientras tanto, si tratamos de escribir el coeficiente de dados en una forma diferenciable: o , entonces los gradientes resultantes wrt son mucho más feos : y . Es fácil imaginar un caso en el que tanto como sean pequeños, y el gradiente explote a un valor enorme. En general, parece probable que el entrenamiento se vuelva más inestable.p t 2 p tpags-tpagst 2pt2pagstpags2+t2 p2t22pagstpags+tpags 2t(t2-p2)2t2(pags+t)2 pt2t(t2-pags2)(pags2+t2)2pagst


La razón principal por la que las personas intentan usar el coeficiente de dados o IoU directamente es que el objetivo real es maximizar esas métricas, y la entropía cruzada es solo un proxy que es más fácil de maximizar usando la propagación hacia atrás. Además, el coeficiente de dados funciona mejor en problemas de desequilibrio de clase por diseño:

Sin embargo, el desequilibrio de clase generalmente se soluciona simplemente asignando multiplicadores de pérdida a cada clase, de modo que la red está altamente desincentivada para simplemente ignorar una clase que aparece con poca frecuencia, por lo que no está claro que el coeficiente de dados sea realmente necesario en estos casos.


Comenzaría con la pérdida de entropía cruzada, que parece ser la pérdida estándar para entrenar redes de segmentación, a menos que haya una razón realmente convincente para usar el coeficiente Dice.

shimao
fuente
pags-t
3
¿Cuándo es la maximización del "objetivo principal" de la pérdida de dados? Revisé el documento original y todo lo que dicen es "obtenemos resultados que observamos experimentalmente que son mucho mejores que los calculados a través de la misma red capacitada para optimizar una pérdida logística multinomial con re-ponderación de la muestra". Esto no es muy convincente.
Neil G
@shimao Por "feo" solo quieres decir que los gradientes pueden explotar, ¿es correcto?
error
17

Como resumieron @shimao y @cherub, no se puede decir a priori cuál funcionará mejor en un conjunto de datos en particular. La forma correcta es probar ambos y comparar los resultados. Además, tenga en cuenta que, en lo que respecta a la segmentación, no es tan fácil "comparar los resultados" : las medidas basadas en IoU, como el coeficiente de dados, cubren solo algunos aspectos de la calidad de la segmentación; En algunas aplicaciones, se deben utilizar diferentes medidas, como la distancia superficial media o la distancia superficial de Hausdorff . Como puede ver, ni siquiera la elección de la métrica de calidad correcta es trivial, y mucho menos la elección de la mejor función de costo.

Personalmente tengo muy buena experiencia con el coeficiente de dados; Realmente hace maravillas cuando se trata del desequilibrio de clase (algunos segmentos ocupan menos píxeles / vóxeles que otros). Por otro lado, la curva de error de entrenamiento se convierte en un desastre total: no me proporcionó absolutamente ninguna información sobre la convergencia, por lo que, a este respecto, la entropía cruzada gana. Por supuesto, esto puede / debe evitarse verificando el error de validación de todos modos.

Jan Kukacka
fuente