¿Qué tan significativa es la conexión entre MLE y la entropía cruzada en el aprendizaje profundo?

12

Entiendo que dado un conjunto de observaciones independientes el Estimador de máxima verosimilitud (o, de manera equivalente, el MAP con anterior plano / uniforme) que identifica los parámetros \ mathbf {θ} que producen la distribución del modelo p_ {modelo} \ izquierda (\, \ cdot \,; \ mathbf {θ} \ right) que mejor coincida con esas observaciones serámO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

o, más convenientemente

θML(O)=argminθi=1mlogpmodel(o(i);θ)

y vea el papel que θML puede desempeñar en la definición de una función de pérdida para redes neuronales profundas de múltiples clases, en la que θ corresponde a los parámetros entrenables de la red (por ejemplo, θ={W,b}) y las observaciones son los pares de activaciones de entrada x y las correspondientes etiquetas de clase correctas y[1,k] , o(i) = { x(i),y(i) }, tomando

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Lo que no entiendo es cómo esto se relaciona con la llamada "entropía cruzada" de la salida correcta (vectorizada), , y las activaciones de salida correspondientes de la red, que se utiliza en la práctica cuando la medición de error / pérdida durante el entrenamiento . Hay varios problemas relacionados:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Activaciones "como probabilidades"

Uno de los pasos para establecer la relación entre MLE y la entropía cruzada es utilizar las activaciones de salida "como si" fueran probabilidades. Pero no está claro para mí que lo sean, o al menos que lo sean .all

Al calcular el error de entrenamiento, específicamente, al llamarlo una "pérdida de entropía cruzada", se supone que (después de normalizar las activaciones para sumar 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

o

logpmodel(o(i);θ)=logay(i)(x(i);θ)

para que podamos escribir

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

y por lo tanto

θML(O)=argminθi=1mH(o(i);θ)

Pero si bien esto hace que una probabilidad (en la medida en que algo sea), no impone restricciones a las otras activaciones.ay(i)(x(i);θML)

¿Puede realmente son PMF en ese caso? ¿Hay algo que haga que no sean, de hecho, probabilidades (y simplemente "me gusten") )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Limitación a la categorización.

El paso crucial anterior para equiparar MLE con entropía cruzada se basa completamente en la estructura "one-hot" de que caracteriza un problema de aprendizaje de múltiples clases (etiqueta única). Cualquier otra estructura para haría imposible pasar de a .y(i)y(i)(1)(3)

¿La ecuación de MLE y minimización de entropía cruzada se limita a los casos en que son "one-hot"? y(i)


Diferentes probabilidades de entrenamiento y predicción

Durante la predicción, casi siempre es el caso que

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

lo que resulta en probabilidades de predicción correctas que son diferentes de las probabilidades aprendidas durante el entrenamiento a menos que sea confiablemente el caso que

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

¿Es este el caso de manera confiable? ¿Es probable que sea al menos aproximadamente cierto? ¿O hay algún otro argumento que justifique esta ecuación del valor de la activación aprendida en la posición de la etiqueta con la probabilidad de que el valor máximo de las activaciones aprendidas ocurra allí?


Entropía y teoría de la información.

Incluso suponiendo que se aborden las preocupaciones anteriores y que las activaciones sean PMF válidas (o que puedan tratarse de manera significativa como tales), de modo que el papel desempeñado por la entropía cruzada en la computación no sea problemático, no está claro Me pregunto por qué es útil o significativo hablar sobre la entropía del , ya que la entropía de Shanon se aplica a un tipo de codificación , que no es la que se usa para entrenar la red.θMLa(x(i);θML)

¿Qué papel juega la entropía teórica de la información en la interpretación de la función de costo, en lugar de simplemente proporcionar una herramienta (en forma de entropía cruzada) para calcular una (que corresponde a MLE)?

orome
fuente

Respuestas:

5

Las redes neuronales no necesariamente dan probabilidades como salidas, pero pueden diseñarse para hacer esto. Para ser interpretado como probabilidades, un conjunto de valores debe ser no negativo y sumarse a uno. Diseñar una red para generar probabilidades generalmente equivale a elegir una capa de salida que imponga estas restricciones. Por ejemplo, en un problema de clasificación con clases, una opción común es una capa de salida softmax con unidades. La función softmax obliga a las salidas a ser no negativas y sumar una. La unidad de salida da la probabilidad de que la clase sea . Para problemas de clasificación binaria, otra opción popular es usar una sola unidad de salida con logísticakkjjfunción de activación La salida de la función logística está entre cero y uno, y da la probabilidad de que la clase sea 1. La probabilidad de que la clase sea 0 es implícitamente uno menos este valor. Si la red no contiene capas ocultas, estos dos ejemplos son equivalentes a la regresión logística multinomial y la regresión logística , respectivamente.

La entropía cruzada mide la diferencia entre dos distribuciones de probabilidad y . Cuando entropía cruz se utiliza como una función de pérdida para clasificadores discriminativos, y son distribuciones más de etiquetas de clase, dada la entrada (es decir, un punto de datos particular). es la distribución 'verdadera' es la distribución predicha por el modelo. En los problemas de clasificación típicos, cada entrada en el conjunto de datos está asociada con una etiqueta entera que representa la clase verdadera. En este caso, usamos la distribución empírica paraH(p,q)pqpqpqp. Esto simplemente asigna la probabilidad 1 a la clase verdadera de un punto de datos, y la probabilidad 0 a todas las demás clases. es la distribución de las probabilidades de clase predichas por la red (por ejemplo, como se describió anteriormente).q

Digamos que los datos son iid, es la distribución empírica y es la distribución predicha (para el punto de datos ésimo). Luego, minimizar la pérdida de entropía cruzada (es decir, promediado sobre los puntos de datos) es equivalente a maximizar la probabilidad de los datos. La prueba es relativamente sencilla. La idea básica es mostrar que la pérdida de entropía cruzada es proporcional a una suma de probabilidades pronosticadas de log negativas de los puntos de datos. Esto se cae claramente debido a la forma de la distribución empírica.piqiiH(pi,qi)

La pérdida de entropía cruzada también se puede aplicar de manera más general. Por ejemplo, en problemas de 'clasificación suave', se nos da distribuciones sobre etiquetas de clase en lugar de etiquetas de clase duras (por lo que no usamos la distribución empírica). Describo cómo usar la pérdida de entropía cruzada en ese caso aquí .

Para abordar algunos otros detalles en su pregunta:

Diferentes probabilidades de entrenamiento y predicción

Parece que está encontrando la unidad de salida con la máxima activación y comparándola con la etiqueta de clase. Esto no se hace para entrenar usando la pérdida de entropía cruzada. En cambio, las probabilidades que arroja el modelo se comparan con las probabilidades "verdaderas" (generalmente consideradas como la distribución empírica).

La entropía de Shanon se aplica a un tipo específico de codificación, que no es el que se usa para entrenar la red.

La entropía cruzada se puede interpretar como el número de bits por mensaje necesario (en promedio) para codificar eventos extraídos de la distribución verdadera , si se usa un código óptimo para la distribución . La entropía cruzada toma un valor mínimo de (la entropía de Shannon de ) cuando . Cuanto mejor sea la coincidencia entre yH(p,q)pqH(p)pq=pqp, cuanto más corta sea la longitud del mensaje. El entrenamiento de un modelo para minimizar la entropía cruzada puede verse como un entrenamiento para aproximar mejor la distribución real. En problemas de aprendizaje supervisado como los que hemos estado discutiendo, el modelo proporciona una distribución de probabilidad sobre los posibles resultados, dada la entrada. Encontrar explícitamente códigos óptimos para la distribución no es parte del proceso.

usuario20160
fuente
"Esto no se hace para entrenar con la pérdida de entropía cruzada". Esto es exactamente lo que hacen las API como TensorFlow softmax_cross_entropy_with_logits: calculan y, por lo tanto, que define una red "diseñada para" producir probabilidades (al menos en la ubicación de la etiqueta). ¿No? argminθi=1mH(o(i);θ)θML(O)
orome
Sí, la entropía cruzada se minimiza y la probabilidad se maximiza (al menos localmente). En esa oración, me refería a las ecuaciones en la sección "diferentes probabilidades de entrenamiento y predicción". Mirándolo de nuevo, no me queda claro exactamente qué quieres decir con esas ecuaciones, así que solo diré esto: si está utilizando una capa de salida donde cada unidad proporciona una probabilidad de clase (por ejemplo, softmax). Las probabilidades del modelo son las mismas durante el entrenamiento y la predicción. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160
Entiendo que se usan los mismos valores , es decir, los aprendidos se usan en la predicción, pero se usan de diferentes maneras. La probabilidad de que el modelo aprenda para es de hecho , pero la probabilidad de que sea predicha por el modelo entrenado en respuesta a la misma entrada, es . Estos no son lo mismo a menos que (2) sea cierto. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome
Y (primera pregunta) entiendo eso debido a la función, definida en la ecuación. (1), jugado por para maximizar , el los valores son probabilidades (no porque de softmax, que solo asegura que se sumarán a 1). Pero eso no impone restricciones al otro ; (aparte de que suman ). Entonces no veo cómo como un hoyo puede considerarse un PMF. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
orome
Otra forma de hacer el punto de la primera pregunta es que solo los participan alguna vez en el proceso de LD, y por lo tanto solo ellos pueden considerarse probabilidades. Y aunque una función de activación adecuada (por ejemplo, softmax) asegura que la suma de las activaciones restantes será una probabilidad, las relaciones entre cualquiera de ellas no tienen sentido. ay(i)
orome
3

Contestaré desde una perspectiva un poco más general, con respecto a la naturaleza de cómo, cuándo y por qué podemos considerar las salidas NN como distribuciones de probabilidad.

En el sentido de que el softmax impone que las salidas sumen 1 y que no sean negativas, la salida de la red es una distribución de probabilidad discreta sobre las clases, o al menos puede interpretarse como tal. Por lo tanto, es perfectamente razonable hablar de entropías cruzadas y probabilidades máximas.

Sin embargo, lo que creo que está viendo (y es correcto), es que las "probabilidades" de salida pueden no tener nada que ver con la probabilidad real de corrección . Este es un problema bien conocido en ML, llamado calibración . Por ejemplo, si su clasificador de perros y gatos dice , entonces esperaría que si tomara un conjunto de ejemplos todos los cuales tenían , entonces aproximadamente el 30% de las entradas estarían mal clasificadas (ya que solo tenía un 70% de confianza).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Sin embargo, resulta que los métodos de entrenamiento modernos no hacen cumplir esto en absoluto. Ver Guo et al, sobre la calibración de redes neuronales modernas para ver una discusión sobre esto.

En otras palabras, la "probabilidad" de la salida del softmax puede no tener nada que ver con la confianza real del modelo. Y esto no es una sorpresa: simplemente queremos maximizar nuestra precisión, y cada ejemplo de entrada tiene una probabilidad de 1 de ser su clase objetivo. Hay pocos incentivos para que el modelo haga esto bien. Si no necesita estimar la incertidumbre, ¿por qué debería hacerlo? La entropía cruzada no corrige este problema; de hecho, ¡le está diciendo que vaya a una función delta cada vez!

Muchos trabajos recientes sobre redes neuronales bayesianas se esfuerzan por rectificar este problema. Dichos modelos emplean una distribución sobre parámetros dados los datos , que pueden integrarse para obtener una distribución de probabilidad real . Esto ayuda a garantizar mediciones útiles de incertidumbre y una mejor calibración. Sin embargo, es más problemático computacionalmente.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

¡Espero no haber entendido mal tu pregunta!

usuario3658307
fuente
Un buen trabajo relacionado: arxiv.org/abs/1711.01297
user3658307
0

Las redes neuronales de avance se aproximan a las verdaderas probabilidades de clase cuando se entrenan adecuadamente.

En 1991, Richard y Lippmann demostraron que las redes neuronales de avance se acercan a las probabilidades de clase posterior, cuando se entrenan con {0,1} patrones objetivo de indicadores de clase [ Richard MD, y Lippmann RP (1991). Los clasificadores de redes neuronales estiman las probabilidades bayesianas a posteriori. Computación neuronal, 3, 461–483 .]. En su línea de prueba, usan redes neuronales de alimentación oculta de una capa.

En la anotación matemática de Duda & Hart [ Clasificación de patrones y análisis de escena Duda RO & Hart PE (1973), Wiley ], defina las distribuciones de características proporcionadas como vector de entrada a la red neuronal de avance como , donde, por ejemplo, el vector de datos es igual a , para una tarea de clasificación con 4 variables de características. El índice indica las posibles clases, .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

El clasificador de la red neuronal de alimentación anticipada aprende las probabilidades posteriores, , cuando se entrena por descenso de gradiente. Las necesidades patrón de salida deseados , por ejemplo para ser , para un problema de clasificación de dos clases. La red neuronal de avance tiene un nodo de salida por clase. El vector indica que el vector de características observado pertenece a la segunda clase.P^(ωix)o=(0,1)(0,1)

Match Maker EE
fuente
Esa no es la pregunta.
orome
0

La probabilidad de registro no está directamente vinculada a la entropía en el contexto de su pregunta. La similitud es superficial: ambos tienen sumas de logaritmos de cantidades probabilísticas.

El logaritmo en log-verosimilitud (MLE) se realiza únicamente por razones de cálculo numérico. El producto de las probabilidades puede ser un número muy pequeño, especialmente si su muestra es grande. Luego, el rango de probabilidades va de 1 a un valor desaparecentemente pequeño de un producto. Cuando obtiene el registro, el producto se convierte en una suma y la función de registro comprime el rango de valores a un dominio más pequeño y más manejable. El logaritmo es una función monótona, por lo que el máximo (mínimo) de la probabilidad logarítmica producirá la misma respuesta de la probabilidad misma. Por lo tanto, la presencia del registro en la expresión MLE no es importante en sentido matemático, y es simplemente una cuestión de conveniencia.

La presencia de una función logarítmica en la entropía es más sustancial y tiene sus raíces en la mecánica estadística, una rama de la física. Está vinculado a la distribución de Boltzmann , que se utiliza en la teoría de los gases. Podría derivar la presión del aire en función de la altitud que la usa, por ejemplo.

Aksakal
fuente
¿Puede resaltar qué parte de la pregunta aborda esta pregunta?
orome
Como digo en el OP, está claro que el uso del registro en la segunda forma de expresar MLE es mera conveniencia (sus dos primeros párrafos). Y su último párrafo parece decir que la presencia del registro en la expresión para entropía es significativa, en el contexto de la entropía (especialmente física). Pero lo que falta (y esta es la pregunta) es una justificación para vincular estas dos observaciones distintas (y verdaderas). No veo una, que no sea la ecuación después de (3) como una forma útil de expresar la segunda ecuación para MLE. Tal vez eso es lo que estás diciendo?
orome
@orome, puede hacer que NN calcule la entropía, por supuesto, pero no es así como se usa realmente la función de entropía cruzada en la mayoría de los casos. Puede considerarlo como otro tipo de función de costos, eso es todo aquí. Parece tener propiedades deseadas, y es muy simétrica.
Aksakal
Sí, llamándolo entropía o sugiriendo que los son significativos las distribuciones (para las cuales la "entropía" proporciona alguna idea) es engañosa . ay(i)(x(i);θML)
orome
@orome, no me obsesionaría con el nombre. Es como si la función de "pérdida de bisagra" tuviera poco que ver con las bisagras. Lo llaman "pérdida de entropía" porque su forma funcional es exactamente como una ecuación de entropía de información.
Aksakal