¿Cuál es la diferencia Cross-entropy y KL divergence?

25

Tanto la entropía cruzada como la divergencia KL son herramientas para medir la distancia entre dos distribuciones de probabilidad. ¿Cuál es la diferencia? Además, la minimización de KL es equivalente a la minimización de la entropía cruzada.

H(P,Q)=xP(x)logQ(x)
KL(P|Q)=xP(x)logP(x)Q(x)

Quiero conocerlos instintivamente.

Muchas gracias por adelantado.

Jourd
fuente

Respuestas:

24

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

Recordemos primero que la entropía se usa para medir la incertidumbre de un sistema, que se define como para como las probabilidades de diferentes estados del sistema. Desde el punto de vista de la teoría de la información, es la cantidad de información necesaria para eliminar la incertidumbre.

S(v)=ip(vi)logp(vi),
p(vi)viS(v)

Por ejemplo, el evento A I will die eventuallyes casi seguro (tal vez podamos resolver el problema del envejecimiento de la palabra almost), por lo tanto, tiene una baja entropía que requiere solo la información the aging problem cannot be solvedpara asegurarlo. Sin embargo, el evento B The president will die in 50 yearses mucho más incierto que A, por lo tanto, necesita más información para eliminar las incertidumbres.

Ahora observe la definición de divergencia KL entre los eventos A y B donde el primer término del lado derecho es la entropía del evento A, el segundo término puede interpretarse como la expectativa del evento B en términos del evento A. Y el describe cuán diferente es B de A desde la perspectiva de A.

DKL(AB)=ipA(vi)logpA(vi)pA(vi)logpB(vi),
DKL

Para relacionar la entropía cruzada con la entropía y la divergencia KL, formalizamos la entropía cruzada en términos de eventos A y B como De las definiciones, podemos ver fácilmente Si es una constante, entonces minimizar es equivalente a minimizar .

H(A,B)=ipA(vi)logpB(vi).
H(A,B)=DKL(AB)+SA.
SAH(A,B)DKL(AB)

Una pregunta adicional sigue naturalmente cómo la entropía puede ser una constante. En una tarea de aprendizaje automático, comenzamos con un conjunto de datos (denotado como ) que representa el problema a resolver, y el propósito del aprendizaje es hacer que la distribución estimada del modelo (denotada como ) esté lo más cerca posible como sea posible a la verdadera distribución del problema (denotado como ). es desconocido y está representado por . Por lo tanto, en un mundo ideal, esperamos y minimizamos . Y afortunadamente, en la prácticaP(D)P(model)P(truth)P(truth)P(D)

P(model)P(D)P(truth)
DKL(P(D)P(model))Dse da, lo que significa que su entropía se fija como una constante.S(D)

doblar
fuente
Gracias por su respuesta. Se profundizó mi comprensión. Entonces, cuando tenemos un conjunto de datos, es más efectivo minimizar la entropía cruzada en lugar de KL, ¿verdad? Sin embargo, no puedo entender el uso adecuado de ellos. En otras palabras, ¿cuándo debería minimizar KL o entropía cruzada?
registró el
1
Después de leer su respuesta, creo que no sirve de nada minimizar KL porque siempre tenemos un conjunto de datos, P (D).
registró el
Idealmente, uno elegiría la divergencia KL para medir la distancia entre dos distribuciones. En el contexto de la clasificación, la pérdida de entropía cruzada generalmente surge de la probabilidad de registro negativa, por ejemplo, cuando elige la distribución de Bernoulli para modelar sus datos.
dupllle
Es posible que desee ver esta gran publicación . La simetría no es un problema en la clasificación, ya que el objetivo de los modelos de aprendizaje automático es hacer que la distribución prevista se acerque lo más posible a la P (D) fija, aunque generalmente se agregan regularizaciones para evitar el sobreajuste.
dupllle
Entendí la asimetría de KL. Sin embargo, todavía no he entendido cómo usar la minimización de KL o Cross-Entropy. Significa que cuándo debería minimizar KL y cuándo debería minimizar la entropía cruzada. Creo que es siempre una constante, ¿no? SA
registró el
7

Supongo que es porque los modelos generalmente trabajan con las muestras empacadas en mini lotes. Para la divergencia KL y la entropía cruzada, su relación se puede escribir como De la ecuación, nosotros podría ver que la divergencia KL puede partir hacia una entropía cruzada de p y q (la primera parte), y una entropía global de la verdad fundamental p (la segunda parte).

H(q,p)=DKL(p,q)+H(p)=ipilog(qi)

En muchos proyectos de aprendizaje automático, el minibatch está involucrado para acelerar la capacitación, donde la de un minibatch puede ser diferente de la global . En tal caso, la entropía cruzada es relativamente más robusta en la práctica, mientras que la divergencia de KL necesita un H (p) más estable para terminar su trabajo.pp

zewen liu
fuente
1
Esta respuesta es lo que estaba buscando. En mi propia experiencia actual, que implica aprender las probabilidades de un objetivo, BCE es mucho más robusto que KL. Básicamente, KL era inutilizable. KL y BCE no son funciones de pérdida "equivalentes".
Nicholas Leonard el
Cuando dijiste "la primera parte" y "la segunda parte", ¿cuál era cuál?
Josh hace
1

Así es como lo pienso:

(1)DKL(p(yi|xi)||q(yi|xi,θ))=H(p(yi|xi,θ),q(yi|xi,θ))H(p(yi|xi,θ))

dónde p y qson dos distribuciones de probabilidad. En el aprendizaje automático, generalmente sabemosp, que es la distribución del objetivo. Por ejemplo, en un problema de clasificación binaria,Y={0,1}, Así que si yi=1, p(yi=1|x)=1 y p(yi=0|x)=0, y viceversa. Dado cadayii=1,2,,N, dónde N es el número total de puntos en el conjunto de datos, generalmente queremos minimizar la divergencia KL DKL(p,q) entre la distribución del objetivo p(yi|x) y nuestra distribución prevista q(yi|x,θ), promediado sobre todo i. (Lo hacemos ajustando los parámetros de nuestro modeloθ. Por lo tanto, para cada ejemplo de entrenamiento, el modelo está escupiendo una distribución sobre las etiquetas de clase0 y 1.) Para cada ejemplo, dado que el objetivo es fijo, su distribución nunca cambia. Así,H(p(yi|xi)) es constante para cada i, independientemente de los parámetros de nuestro modelo actual θson. Por lo tanto, el minimizador deDKL(p,q) es igual al minimizador de H(p,q).

Si tuviste una situación donde p y q fueron variables (digamos, en las cuales x1p y x2q eran dos variables latentes) y deseaba hacer coincidir las dos distribuciones, entonces tendría que elegir entre minimizar DKL y minimizando H(p,q). Esto es porque minimizandoDKL implica maximizar H(p) mientras minimiza H(p,q) implica minimizar H(p). Para ver esto último, podemos resolver la ecuación (1) para H(p,q):

(2)H(p,q)=DKL(p,q)+H(p)
El primero produciría una amplia distribución para pmientras que el último produciría uno que se concentra en uno o algunos modos. Tenga en cuenta que es su elección como profesional de ML si desea minimizarDKL(p,q) o DKL(q,p). Una pequeña discusión de esto se da en el contexto de inferencia variacional (VI) a continuación.

En VI, debes elegir entre minimizar DKL(p,q) y DKL(q,p), que no son iguales ya que la divergencia KL no es simétrica. Si una vez más tratamosp como se conoce, luego minimizando DKL(p,q) daría lugar a una distribución q que es nítido y enfocado en una o algunas áreas mientras minimiza DKL(q,p) daría lugar a una distribución q que es amplio y cubre una amplia gama del dominio de q. Nuevamente, esto último se debe a que minimizaDKL(q,p) implica maximizar la entropía de q.

Vivek Subramanian
fuente
En la ecuación (1) en el lado izquierdo no tienes θ en p(yi|xi), mientras que en el lado derecho tienes p(yi|xi,θ). ¿Por qué? También en la quinta fila debes usarxi en vez de x.
Rodvi
Además, la entropía H(p) ser típicamente constante en el caso de clasificadores generativos q(y,x|θ), en el caso de modelos de regresión, y en el caso de modelos no paramétricos (sin suponer caso de variable latente)?
Rodvi