23 votos

¿Es correcto utilizar la función de pérdida de entropía cruzada con etiquetas blandas?

Tengo un problema de clasificación en el que los píxeles serán etiquetados con etiquetas blandas (que denotan probabilidades) en lugar de etiquetas duras 0,1. Anteriormente, con el etiquetado de píxeles 0,1 la función de pérdida de entropía cruzada (sigmoidCross entropyLossLayer de Caffe) estaba dando resultados decentes. ¿Es correcto utilizar la capa de pérdida de entropía cruzada sigmoide (de Caffe) para este problema de clasificación suave?

46voto

throwaway Puntos 18

La respuesta es sí, pero hay que definirlo de la manera correcta.

Entropía cruzada se define sobre distribuciones de probabilidad, no sobre valores individuales. Para distribuciones discretas $p$ y $q$ Lo es: $$H(p, q) = -\sum_y p(y) \log q(y)$$

Cuando se utiliza la pérdida de entropía cruzada con etiquetas de clase "duras", lo que realmente se consigue es tratar $p$ como la distribución empírica condicional sobre las etiquetas de clase. Se trata de una distribución en la que la probabilidad es 1 para la etiqueta de clase observada y 0 para todas las demás. $q$ es la distribución condicional (probabilidad de la etiqueta de clase, dada la entrada) aprendida por el clasificador. Para un único punto de datos observado con una entrada $x_0$ y clase $y_0$ podemos ver que la expresión anterior se reduce a la pérdida logarítmica estándar (que se promediaría en todos los puntos de datos):

$$-\sum_y I\{y = y_0\} \log q(y \mid x_0) = -\log q(y_0 \mid x_0)$$

Toma, $I\{\cdot\}$ es la función indicadora, que es 1 cuando su argumento es verdadero o 0 en caso contrario (esto es lo que hace la distribución empírica). La suma se toma sobre el conjunto de posibles etiquetas de clase.

En el caso de etiquetas "blandas" como las que usted menciona, las etiquetas ya no son identidades de clase propiamente dichas, sino probabilidades sobre dos clases posibles. Por este motivo, no se puede utilizar la expresión estándar para la pérdida logarítmica. Pero el concepto de entropía cruzada sigue siendo válido. De hecho, parece incluso más natural en este caso.

Llamemos a la clase $y$ que puede ser 0 ó 1. Y, digamos que la etiqueta blanda $s(x)$ da la probabilidad de que la clase sea 1 (dada la entrada correspondiente $x$ ). Así pues, la etiqueta blanda define una distribución de probabilidad:

$$p(y \mid x) = \left \{ \begin{array}{cl} s(x) & \text{If } y = 1 \\ 1-s(x) & \text{If } y = 0 \end{array} \right .$$

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

$$ q(y \mid x) = \left \{ \begin{array}{cl} c(x) & \text{If } y = 1 \\ 1-c(x) & \text{If } y = 0 \end{array} \right . $$

Toma, $c(x)$ es la probabilidad estimada por el clasificador de que la clase sea 1, dada la entrada $x$ .

La tarea consiste ahora en determinar lo diferentes que son estas dos distribuciones, utilizando la entropía cruzada. Introduce estas expresiones para $p$ y $q$ en la definición de entropía cruzada, más arriba. La suma se toma sobre el conjunto de clases posibles $\{0, 1\}$ :

$$ \begin{array}{ccl} H(p, q) & = & - p(y=0 \mid x) \log q(y=0 \mid x) - p(y=1 \mid x) \log q(y=1 \mid x)\\ & = & -(1-s(x)) \log (1-c(x)) - s(x) \log c(x) \end{array} $$

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X