107 votos

¿Cuál es la diferencia entre la entropía cruzada y la divergencia de KL?

Tanto la entropía cruzada como la divergencia KL son herramientas para medir la distancia entre dos distribuciones de probabilidad, pero ¿cuál es la diferencia entre ellas?

$$ H(P,Q) = -\sum_x P(x)\log Q(x) $$

$$ KL(P | Q) = \sum_{x} P(x)\log {\frac{P(x)}{Q(x)}} $$

Además, resulta que la minimización de la divergencia KL es equivalente a la minimización de la entropía cruzada.

Quiero conocerlos instintivamente.

114voto

byamabe Puntos 796

Necesitará algunas condiciones para afirmar la equivalencia entre minimizar la entropía cruzada y minimizar la divergencia KL. Plantearé su pregunta en el contexto de los problemas de clasificación que utilizan la entropía cruzada como funciones de pérdida.

Recordemos primero que la entropía se utiliza para medir la incertidumbre de un sistema, que se define como \begin{equation} S(v)=-\sum_ip(v_i)\log p(v_i)\label{eq:entropy}, \end{equation} para $p(v_i)$ como las probabilidades de los diferentes estados $v_i$ del sistema. Desde el punto de vista de la teoría de la información, $S(v)$ es la cantidad de información necesaria para eliminar la incertidumbre.

Por ejemplo, el acontecimiento $I$ I will die within 200 years es casi seguro (podemos resolver el problema del envejecimiento de la palabra casi ), por lo que tiene una incertidumbre baja que sólo requiere la información de the aging problem cannot be solved para asegurarlo. Sin embargo, el acontecimiento $II$ I will die within 50 years es más incierto que el acontecimiento $I$ por lo que necesita más información para eliminar las incertidumbres. En este caso, la entropía puede utilizarse para cuantificar la incertidumbre de la distribución When will I die? que puede considerarse como la expectativa de incertidumbres de acontecimientos individuales como $I$ y $II$ .

Ahora mire la definición de divergencia KL entre las distribuciones A y B \begin{equation} D_{KL}(A\parallel B) = \sum_ip_A(v_i)\log p_A(v_i) - p_A(v_i)\log p_B(v_i)\label{eq:kld}, \end{equation} donde el primer término del lado derecho es la entropía de la distribución A, el segundo término puede interpretarse como la expectativa de la distribución B en términos de A. Y el término $D_{KL}$ describe lo diferente que es B de A desde la perspectiva de A. Cabe destacar que $A$ suele representar los datos, es decir, la distribución medida, y $B$ es la distribución teórica o hipotética. Es decir, siempre se parte de lo observado.

Para relacionar la entropía cruzada con la entropía y la divergencia KL, formalizamos la entropía cruzada en términos de distribuciones $A$ y $B$ como \begin{equation} H(A, B) = -\sum_ip_A(v_i)\log p_B(v_i)\label{eq:crossentropy}. \end{equation} A partir de las definiciones, podemos ver fácilmente \begin{equation} H(A, B) = D_{KL}(A\parallel B)+S_A\label{eq:entropyrelation}. \end{equation} Si $S_A$ es una constante, entonces minimizar $H(A, B)$ es equivalente a minimizar $D_{KL}(A\parallel B)$ .

Otra pregunta que surge de forma natural es cómo la entropía puede ser una constante. En una tarea de aprendizaje automático, partimos de un conjunto de datos (denominado $P(\mathcal D)$ ) que representan el problema a resolver, y el propósito del aprendizaje es hacer que la distribución estimada del modelo (denotada como $P(model)$ ) lo más cercana posible a la verdadera distribución del problema (denotada como $P(truth)$ ). $P(truth)$ es desconocida y está representada por $P(\mathcal D)$ . Por lo tanto, en un mundo ideal, esperamos \begin{equation} P(model)\approx P(\mathcal D) \approx P(truth) \end{equation} y minimizar $D_{KL}(P(\mathcal D)\parallel P(model))$ . Y por suerte, en la práctica $\mathcal D$ está dada, lo que significa que su entropía $S(D)$ se fija como una constante.

37voto

Sug Puntos 394

Supongo que se debe a que los modelos suelen trabajar con las muestras envasadas en minilotes. Para la divergencia KL y la entropía cruzada, su relación puede escribirse como $$H(q, p) = D_{KL}(p, q)+H(p) = -\sum_i{p_ilog(q_i)}$$ por lo que han $$D_{KL}(p, q) = H(q, p) - H(p)$$ A partir de la ecuación, podemos ver que la divergencia KL puede partir en una entropía cruzada de p y q (la primera parte), y una entropía global de la verdad fundamental p (la segunda parte).

En muchos proyectos de aprendizaje automático, se recurre a minilotes para agilizar el entrenamiento, en los que el $p'$ de un minilote puede ser diferente del global $p$ . En tal caso, la entropía cruzada es relativamente más robusta en la práctica, mientras que la divergencia KL necesita un H(p) más estable para terminar su trabajo.

6voto

Dave Puntos 21

Así es como yo lo veo:

$$ D_{KL}(p(y_i | x_i) \:||\: q(y_i | x_i, \theta)) = H(p(y_i | x_i, \theta), q(y_i | x_i, \theta)) - H(p(y_i | x_i, \theta)) \tag{1}\label{eq:kl} $$

donde $p$ y $q$ son dos distribuciones de probabilidad. En el aprendizaje automático, normalmente sabemos $p$ que es la distribución del objetivo. Por ejemplo, en un problema de clasificación binaria, $\mathcal{Y} = \{0, 1\}$ por lo que si $y_i = 1$ , $p(y_i = 1 | x) = 1$ y $p(y_i = 0 | x) = 0$ y viceversa. Dada cada $y_i \: \forall \: i = 1, 2, \ldots, N$ donde $N$ es el número total de puntos del conjunto de datos, normalmente queremos minimizar la divergencia KL $D_{KL}(p,q)$ entre la distribución del objetivo $p(y_i | x)$ y nuestra distribución prevista $q(y_i | x, \theta)$ como media de todos los $i$ . (Lo hacemos ajustando los parámetros de nuestro modelo $\theta$ . Así, para cada ejemplo de entrenamiento, el modelo escupe una distribución sobre las etiquetas de clase $0$ y $1$ .) Para cada ejemplo, como el objetivo es fijo, su distribución nunca cambia. Así pues, $H(p(y_i | x_i))$ es constante para cada $i$ independientemente de los parámetros de nuestro modelo actual $\theta$ son. Así, el minimizador de $D_{KL}(p,q)$ es igual al minimizador de $H(p, q)$ .

Si se diera una situación en la que $p$ y $q$ fueran ambas variables (digamos, en las que $x_1\sim p$ y $x_2\sim q$ fueran dos variables latentes) y se quisiera igualar las dos distribuciones, entonces habría que elegir entre minimizar $D_{KL}$ y minimizar $H(p, q)$ . Esto se debe a que minimizar $D_{KL}$ implica maximizar $H(p)$ minimizando $H(p, q)$ implica minimizar $H(p)$ . Para ver esto último, podemos resolver la ecuación ( \ref {eq:kl}) para $H(p,q)$ : $$ H(p,q) = D_{KL}(p,q) + H(p) \tag{2}\label{eq:hpq} $$ En el primer caso, se obtendría una amplia distribución de $p$ mientras que el segundo daría lugar a uno concentrado en uno o unos pocos modos. Tenga en cuenta que, como profesional del ML, usted decide si desea minimizar $D_{KL}(p, q)$ o $D_{KL}(q, p)$ . A continuación se ofrece una pequeña discusión al respecto en el contexto de la inferencia variacional (VI).

En VI, debe elegir entre minimizar $D_{KL}(p,q)$ y $D_{KL}(q,p)$ que no son iguales ya que la divergencia KL no es simétrica. Si volvemos a tratar $p$ como se sabe, entonces minimizar $D_{KL}(p, q)$ daría lugar a una distribución $q$ que sea nítida y se centre en una o unas pocas zonas, minimizando $D_{KL}(q, p)$ daría lugar a una distribución $q$ que sea amplio y abarque un amplio abanico del ámbito de la $q$ . De nuevo, esto último se debe a que minimizar $D_{KL}(q, p)$ implica maximizar la entropía de $q$ .

2voto

FatPanda Puntos 6

La respuesta de @zewen puede ser engañosa, ya que afirma que en el entrenamiento por mini lotes, CE puede ser más robusto que KL. En la mayoría de los entrenamientos estándar por mini lotes, utilizamos un enfoque basado en el gradiente, y el gradiente de $H(p)$ con respecto a $q$ (que es función del parámetro de nuestro modelo) sería cero. Así que en estos casos, CE y KL como función de pérdida son idénticas.

En realidad quiero añadir un comentario debajo de la respuesta de @zewen pero no puedo porque no tengo suficiente reputación...

0voto

Ya se han dado algunas respuestas, pero me gustaría puntualizar algo sobre la pregunta en sí

medir la distancia entre dos distribuciones de probabilidad

que ni la entropía cruzada ni la divergencia KL miden la distancia entre dos distribuciones, sino que miden la diferencia de dos distribuciones [1]. No es distancia debido a la asimetría, es decir, CE(P,Q) != CE(Q,P) y KL(P,Q) != KL(Q,P).

Referencia:

[1] I. Goodfellow, Y. Bengio, A. Courville e Y. Bengio, Deep learning, vol. 1 (MIT Press Cambridge, 2016).

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