¿Está bien usar la función de pérdida de entropía cruzada con etiquetas suaves?

10

Tengo un problema de clasificación donde los píxeles se etiquetarán con etiquetas suaves (que denotan probabilidades) en lugar de etiquetas duras de 0,1. Anteriormente con el etiquetado duro de 0,1 píxeles, la función de pérdida de entropía cruzada (sigmoidCross entropyLossLayer de Caffe) estaba dando resultados decentes. ¿Está bien usar la capa de pérdida de entropía cruzada sigmoidea (de Caffe) para este problema de clasificación suave?

saikat
fuente
Estoy buscando una función de entropía cruzada que pueda tratar con etiquetas de valor real. Por favor, avíseme si sabe una respuesta aquí
Amir

Respuestas:

27

La respuesta es sí, pero debe definirla de la manera correcta.

La entropía cruzada se define en distribuciones de probabilidad, no en valores únicos. Para distribuciones discretas y , es: pq

H(p,q)=yp(y)logq(y)

Cuando la pérdida de entropía cruzada se usa con etiquetas de clase 'duras', lo que realmente significa es tratar como la distribución empírica condicional sobre las etiquetas de clase. Esta es una distribución donde la probabilidad es 1 para la etiqueta de clase observada y 0 para todos los demás. es la distribución condicional (probabilidad de etiqueta de clase, entrada dada) aprendida por el clasificador. Para un solo punto de datos observado con la entrada y la clase , podemos ver que la expresión anterior se reduce a la pérdida de registro estándar (que se promediaría en todos los puntos de datos):pqx0y0

yI{y=y0}logq(yx0)=logq(y0x0)

Aquí, es la función del indicador, que es 1 cuando su argumento es verdadero o 0 de lo contrario (esto es lo que está haciendo la distribución empírica). La suma se toma sobre el conjunto de posibles etiquetas de clase.I{}

En el caso de las etiquetas "suaves" como usted menciona, las etiquetas ya no son identidades de clase en sí mismas, sino probabilidades sobre dos clases posibles. Debido a esto, no puede usar la expresión estándar para la pérdida de registro. Pero, el concepto de entropía cruzada todavía se aplica. De hecho, parece aún más natural en este caso.

Llamemos a la clase , que puede ser 0 o 1. Y, digamos que la etiqueta suave da la probabilidad de que la clase sea 1 (dada la entrada correspondiente ). Entonces, la etiqueta suave define una distribución de probabilidad:ys(x)x

p(yx)={s(x)If y=11s(x)If y=0

El clasificador también proporciona una distribución sobre las clases, dada la entrada:

q(yx)={c(x)If y=11c(x)If y=0

Aquí, es la probabilidad estimada del clasificador de que la clase es 1, dada la entrada .c(x)x

La tarea ahora es determinar cuán diferentes son estas dos distribuciones, utilizando la entropía cruzada. Conecte estas expresiones para y en la definición de entropía cruzada, arriba. La suma se toma sobre el conjunto de posibles clases :pq{0,1}

H(p,q)=p(y=0x)logq(y=0x)p(y=1x)logq(y=1x)=(1s(x))log(1c(x))s(x)logc(x)

Esa es la expresión para un único punto de datos observado. La función de pérdida sería la media sobre todos los puntos de datos. Por supuesto, esto también puede generalizarse a la clasificación multiclase.

usuario20160
fuente
3
Sigo volviendo a la lucidez de esta respuesta.
auro