65 votos

Entropía cruzada o probabilidad logarítmica en la capa de salida

He leído esta página: http://neuralnetworksanddeeplearning.com/chap3.html

y dice que la capa de salida sigmoide con entropía cruzada es bastante similar a la capa de salida softmax con log-likelihood.

¿qué pasa si utilizo sigmoide con log-likelihood o softmax con cross entropy en la capa de salida? ¿está bien? porque veo que sólo hay poca diferencia en la ecuación entre cross entropy (eq.57):

$$C = -\frac{1}{n} \sum\limits_x (y \ln a + (1-y) \ln (1-a))$$

y el logaritmo de la probabilidad (ecuación 80):

$$C =-\frac{1}{n} \sum\limits_x(\ln a^L_y)$$

90voto

dontloo Puntos 334

La probabilidad logarítmica negativa (ecuación 80) también se conoce como entropía cruzada multiclase (ref.: Reconocimiento de patrones y aprendizaje automático, sección 4.3.4), ya que en realidad son dos interpretaciones diferentes de la misma fórmula.

La ecuación 57 es la probabilidad logarítmica negativa de la distribución Bernoulli, mientras que la ecuación 80 es la probabilidad logarítmica negativa de la distribución multinomial con una observación (una versión multiclase de Bernoulli).

Para los problemas de clasificación binaria, la función softmax produce dos valores (entre 0 y 1 y suma a 1) para dar la predicción de cada clase. Mientras que las salidas de la función sigmoidea un (entre 0 y 1) para dar la predicción de una clase (por lo que la otra clase es 1-p).

Así que la ec. 80 no puede aplicarse directamente a la salida sigmoidea, aunque es esencialmente la misma pérdida que la ec. 57.

Ver también esta respuesta .


A continuación se muestra una ilustración sencilla de la conexión entre (sigmoide + entropía cruzada binaria) y (softmax + entropía cruzada multiclase) para problemas de clasificación binaria.

Digamos que tomamos $0.5$ como punto de separación de las dos categorías, para la sigmoidea se obtiene lo siguiente,

$$\sigma(wx+b)=0.5$$ $$wx+b=0$$ que es el límite de decisión en el espacio de características.

Para la salida de softmax se sigue $$\frac{e^{w_1x+b_1}}{e^{w_1x+b_1}+e^{w_2x+b_2}}=0.5$$ $$e^{w_1x+b_1}=e^{w_2x+b_2}$$ $$w_1x+b_1=w_2x+b_2$$ $$(w_1-w_2)x+(b_1-b_2)=0$$ por lo que sigue siendo el mismo modelo aunque haya el doble de parámetros.

A continuación se muestran los límites de decisión obtenidos con estos dos métodos, que son casi idénticos.

26voto

Jérémie Laval Puntos 21

Ampliando lo dicho por @dontloo respuesta , consideremos una tarea de clasificación con $K$ clases.

Veamos por separado la capa de salida de una red y el coste de coste. Para nuestro propósito aquí, la capa de salida es sigmoide o softmax y la función de coste es la entropía cruzada o la log-verosimilitud.

Capas de salida

En el caso de un sigmoide la capa de salida tendrá $K$ sigmoides cada uno que emite un valor entre 0 y 1. Es fundamental que la suma de estas salidas puede no ser igual a uno y, por tanto, no puede interpretarse como una distribución de probabilidad. La única excepción a ambas afirmaciones es el caso de que $K=2$ es decir, la clasificación binaria, cuando sólo una sigmoidea es suficiente. Y, en este caso, se puede imaginar que una segunda salida ser uno menos la salida solitaria.

Si la capa de salida es softmax También tiene $K$ salidas. Pero en este caso, las salidas suman uno. Debido a esta restricción, una red con una capa de salida softmax tiene menos flexibilidad que una con múltiples sigmoides (excepto, por supuesto, para $K=2$ ).

Para ilustrar la restricción, consideremos una red utilizada para clasificar dígitos. Tiene diez nodos de salida. Si son sigmoides, dos de ellos Si son sigmoides, dos de ellos, por ejemplo los del 8 y el 9 o el 0 y el 6, pueden dar como resultado, por ejemplo, 0,9. En el caso de softmax, esto no es posible. Los resultados pueden ser igual - ambos 0,45, por ejemplo - pero debido a la restricción, cuando los cuando los pesos se ajustan para aumentar la salida de un dígito, necesariamente disminuye la salida de otro(s) dígito(s). El texto tiene una demostración en el mismo capítulo para ilustrar este efecto.

¿Qué pasa con la inferencia? Bueno, un método directo sería simplemente asignar la clase que tiene la mayor salida. Esto es cierto para ambos tipos de capas de salida.

En cuanto a la función de coste, es posible utilizar la entropía cruzada o la log-verosimilitud (o alguna otra función de coste como el error medio cuadrado error) para cualquiera de las dos redes.

Veámoslo a continuación.

Funciones de coste

El entropía cruzada coste de un $K$ -La red de clase sería $$ C_\text{CE} = -\frac{1}{n} \sum\limits_x \sum\limits_{k=1}^K (y_k \ln a_k^L + (1 - y_k) \ln (1 - a_k^L)) $$ donde $x$ es una entrada y $n$ es el número de ejemplos en la entrada de entrada. Esta es la ecuación (63) del libro.

Tenga en cuenta que, para cada $x$ Sólo uno de los $y_k$ es 1 y el resto son 0 (es decir, codificación de un solo punto).

El log-likelihood coste de un $K$ -La red de clase es $$ C_\text{LL} = -\frac{1}{n} \sum\limits_x y^T \ln(a^L) = -\frac{1}{n} \sum\limits_x \sum\limits_{k=1}^K y_k \ln(a_k^L) $$ donde $y$ es la salida deseada (codificada en un punto) y $a^L$ es la salida de del modelo. Esto es sólo una forma diferente de escribir la ecuación (80) en el libro.

También hay que tener en cuenta que, para cada $x$ sólo un elemento de $y$ es 1 y el resto son 0.

Aquí está la diferencia crucial entre las dos funciones de coste: la log-verosimilitud considera sólo la salida para la clase correspondiente, mientras que la función de entropía cruzada también considera las otras salidas también. Esto se puede ver en las expresiones anteriores, en la suma, ambos $C_\text{CE}$ y $C_\text{LL}$ tienen el mismo primer término, pero $C_\text{CE}$ tiene un término adicional. Esto significa que tanto CE y LL recompensan a la red por la cantidad de salida en la clase correcta clase correcta. Pero CE también penaliza a la red por las cantidades en las otras clases. Si la confusión es fuerte, la penalización también lo es. Lo ilustramos a continuación.

Ejemplo

Veamos una sola muestra, es decir $n=1$ .

Dejemos que $$ \begin{align} a^L & = [0.55, 0.02, 0.01, 0.03, 0.01, 0.05, 0.17, 0.01, 0.06, 0.09], \text{and} \\ y & = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] \end{align} $$ es decir, la entrada es un 0 y la red tiene alguna confusión sobre un 6, pero no es tan grave. Esta salida es aplicable tanto a las capas de salida sigmoide como softmax.

Los costes son $$ \begin{align} C_\text{CE} & = 1.0725 \\ C_\text{LL} & = 0.5978 \end{align} $$

Ahora, digamos que miramos otro escenario donde la salida ahora indica más confusión entre un 0 y un 6. Mantenemos la salida de la clase 0 y aumentamos la salida de la clase 6 y disminuimos la salida de las otras clases. de las otras clases. De nuevo, este resultado es aplicable tanto a sigmoide y softmax. $$ a^L = [0.55, 0.002, 0.001, 0.003, 0.001, 0.04, 0.37, 0.001, 0.012, 0.02] $$

¿Qué pasa con el coste? $$ \begin{align} C_\text{CE} & = 1.1410 \\ C_\text{LL} & = 0.5978 \end{align} $$ Como puede verse, el coste de la LL no ha cambiado. Pero el coste de la CE ha aumentado: ¡se ha penalizado la confusión más fuerte de un 0 a un 6!

Resumen

En resumen, sí, las capas de salida y las funciones de coste pueden mezclarse y combinarse. Afectan al comportamiento de la red y a la interpretación de los resultados. interpretarse.

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