Cómo entender la divergencia K-L (entropía relativa)
Consulte el Apéndice 1 para conocer la definición de divergencia K-L. Además, en el Apéndice 5, se explica por qué se utiliza la entropía cruzada en lugar de la divergencia K-L al entrenar modelos en aprendizaje profundo.
Pensamos en la divergencia K-L a partir de la siguiente pregunta.
Estos datos son valiosos, pero también hay algunos problemas. ¿Somos terrícolas? Está demasiado lejos y es demasiado caro enviar estos datos de distribución de probabilidad a la Tierra. Afortunadamente, somos un grupo de científicos inteligentes y aproximar los datos originales con un modelo simple con solo uno o dos parámetros reducirá la cantidad de transferencia de datos. El modelo aproximado más simple es una distribución uniforme, porque el número de dientes de gusano no excede 10, por lo que hay 11 valores posibles y la probabilidad del número de dientes de gusano es 1/11. El diagrama de distribución es el siguiente:
Obviamente, nuestros datos originales no están distribuidos uniformemente, pero no es una distribución que conozcamos, al menos no una distribución común. Como alternativa, otro modelo sencillo que me viene a la mente es la distribución binomial. Hay n = 10 cavidades dentales en la boca del gusano. Si aparece o no un diente en cada cavidad dental es un evento independiente, la probabilidad es p. Entonces el número de dientes en el gusano es el valor esperado E [x] = n. *p. El valor esperado real es el promedio de los datos observados, como 5,7, luego p = 0,57, y se obtiene la distribución binomial que se muestra en la siguiente figura:
Comparando los datos originales, Se puede ver que ni la distribución promedio ni la distribución binomial pueden describir completamente la distribución original.
Sin embargo, no podemos evitar preguntarnos, ¿qué distribución se acerca más a la distribución original?
Hay muchas formas de medir el error, pero la que queremos considerar es reducir la cantidad de información enviada. Tanto la distribución media como la distribución binomial analizadas anteriormente simplifican el problema a solo dos parámetros, el número de dientes y el valor de probabilidad (la distribución media solo requiere el número de dientes). Entonces, ¿qué distribución conserva más información sobre la distribución de datos original? En este momento, se necesita la divergencia K-L.
La divergencia K-L proviene de la teoría de la información. La teoría de la información estudia principalmente cómo cuantificar la información en los datos. La unidad de medida de información más importante es la entropía, generalmente representada por h. La fórmula de distribución de la entropía es la siguiente:
El logaritmo anterior no tiene una base definida, puede ser 2, e o 10, etc. Si usamos el logaritmo de base 2 para calcular el valor de h, podemos pensar en este valor como el número mínimo de bits necesarios para codificar la información. En el ejemplo anterior del gusano espacial, la información se refiere al número de dientes del gusano dado por la distribución empírica observada. La entropía de la distribución de probabilidad de los datos originales se puede calcular como 3,12 bits. Este valor simplemente nos dice la cantidad de bits necesarios para codificar información sobre la probabilidad de la cantidad de dientes de gusano.
Pero el valor de entropía no proporciona un método para comprimir los datos al valor mínimo de entropía, es decir, cómo codificar los datos para lograr lo mejor (espacio de almacenamiento óptimo). La optimización de la codificación de información es un tema muy interesante, pero no es necesario comprender la divergencia K-L. La función principal de la entropía es indicarnos el límite inferior teórico (espacio de almacenamiento) del esquema de información de codificación óptimo y como una forma de medir la cantidad de información de datos. Al comprender la entropía, podemos saber cuánta información contienen los datos. Ahora podemos calcular cuánta información se pierde cuando aproximamos la distribución de datos original con una distribución de probabilidad parametrizada. Continúe leyendo la siguiente sección. ↓↓↓
La fórmula de la divergencia K-L se puede obtener modificando ligeramente la fórmula de entropía h. Sea p la distribución de probabilidad de observación y q sea otra distribución que se aproxime a p, luego p y q La divergencia K-L es. :
Obviamente, de acuerdo con la fórmula anterior, la divergencia K-L es en realidad la expectativa de la diferencia logarítmica entre la distribución original p y la distribución aproximada q de los datos. Si continuamos con el cálculo del logaritmo de base 2, el valor de divergencia K-L representa el número binario de pérdida de información. La siguiente fórmula expresa la divergencia K-L esperada:
En términos generales, la divergencia K-L es más común en los siguientes escritos:
Nota: log a-log b = log (a/ b)
Bien, ahora sabemos cómo calcular la pérdida de información cuando se utiliza una distribución para aproximar otra distribución. A continuación, volvamos al problema inicial de la distribución de probabilidad de los dientes de gusano.
La primera es utilizar la distribución media para aproximar la divergencia K-L de la distribución original:
A continuación, calcular la divergencia K-L de la distribución original aproximada por la distribución binomial: p>
p>
A través del cálculo anterior, podemos ver que la pérdida de información al usar la distribución media para aproximar la distribución original es menor que usar la distribución binomial. Entonces, si tiene que elegir entre la distribución media y la distribución binomial, la distribución media es mejor.
Naturalmente, algunos estudiantes ven la divergencia K-L como una medida de la distancia entre diferentes distribuciones. Esto es incorrecto porque se puede ver en la fórmula de cálculo de la divergencia K-L que no cumple con la simetría (la medición de distancias debe satisfacer la simetría). Si la distribución binomial se aproxima a la distribución de datos que observamos anteriormente, obtendremos los siguientes resultados:
Entonces Dkl(observación||binomial)! = Dkl(binomial||observación).
En otras palabras, la información perdida al usar P para aproximar a Q y al usar Q para aproximar a P son diferentes.
El parámetro de la distribución binomial utilizado anteriormente es la probabilidad p=0,57, que es el valor promedio de los datos originales. El rango de p está entre [0, 1]. Deberíamos elegir un valor de p para establecer la distribución binomial tal que se minimice el error de aproximación, es decir, la divergencia K-L. ¿Entonces 0,57 es mejor?
La siguiente figura muestra la divergencia K-L de la distribución de datos original y la distribución binomial en función del parámetro de distribución binomial p:
Como se puede ver en la figura anterior, la Divergencia K-L de El valor es mínimo en el punto, es decir, p = 0,57. Entonces nuestro modelo de distribución binomial anterior ya es el mejor modelo binomial. Tenga en cuenta que ya dije que es como un modelo, aquí me limito al modelo binomial.
Antes solo se consideraron el modelo de distribución uniforme y el modelo de distribución binomial, y luego consideramos otro modelo para aproximar los datos originales. Primero, los datos originales se dividen en dos partes: 1) la probabilidad de 0 a 5 dientes, 2) la probabilidad de 6 a 10 dientes. Los valores de probabilidad son los siguientes:
Cuando p=0,47, el valor mínimo de K-L es 0,338. ¿Déjà vu? Así es, este valor es el mismo que el valor de divergencia K-L de una distribución uniforme (¡no significa nada)! Seguimos dibujando el diagrama de distribución de probabilidad de este extraño modelo, y realmente se parece al diagrama de distribución de probabilidad de una distribución uniforme:
Como dijimos nosotros mismos, este es un modelo extraño y preferimos usar el modelo de distribución uniforme más común y simple con el mismo valor K-L.
Mirando hacia atrás, utilizamos la divergencia K-L como ecuación objetivo de esta sección para encontrar el parámetro p=0,57 del modelo de distribución binomial y el parámetro p=0,47 del modelo anterior. Sí, ese es el objetivo de esta sección: utilizar la divergencia K-L como ecuación objetiva para optimizar el modelo. Por supuesto, el modelo de esta sección tiene solo un parámetro y también se puede extender a modelos de alta dimensión con más parámetros.
Si estás familiarizado con las redes neuronales, habrás adivinado lo que vamos a aprender a continuación. Además de los detalles de la estructura de la red neuronal, todo el modelo de red neuronal en realidad está construyendo una función con una gran cantidad de parámetros (millones o más), que puede escribirse como f (x). Al establecer la función objetivo, la red neuronal se puede entrenar para aproximar una función real muy compleja g (x). La clave del entrenamiento es establecer una función objetivo y retroalimentar el rendimiento actual de la red neuronal. El proceso de entrenamiento es el proceso de disminuir el valor de la función objetivo.
Ya sabemos que la divergencia KL se utiliza para medir la pérdida de información al acercarse a una distribución. La divergencia K-L puede brindar a las redes neuronales la capacidad de aproximarse a distribuciones de datos muy complejas. Los codificadores automáticos variacionales son un método común para aprender información en la mejor aproximación de un conjunto de datos. El Tutorial de codificadores automáticos variacionales 2016 es un muy buen tutorial sobre VAE que explica los detalles de cómo construir VAE. ¿Qué es un codificador automático variacional? Una breve explicación presenta brevemente los VAE, y la construcción de un codificador automático en Keras presenta cómo usar la biblioteca Keras para implementar varios codificadores automáticos.
El método bayesiano variacional es un método relativamente común. Este artículo presenta el poderoso método de simulación Monte Carlo que puede resolver muchos problemas probabilísticos. La simulación de Monte Carlo puede ayudar a resolver los difíciles problemas de integración en muchos problemas de inferencia bayesianos, aunque es computacionalmente costosa. Los métodos bayesianos variacionales, incluido VAE, pueden explotar la divergencia K-L para generar distribuciones aproximadas óptimas, lo que permite un razonamiento más eficiente en problemas de integración intratables. Puede encontrar más información sobre la inferencia variacional en la biblioteca Edward para Python.
Debido a que no he estudiado VAE ni razonamiento variacional, no se puede garantizar la calidad de esta parte. Me pondré en contacto con amigos en este campo para mejorar el contenido de esta parte. Todos pueden hacer sugerencias en el área de comentarios.