¿Tiene sentido el costo de la entropía cruzada en el contexto de la regresión?

13

¿Tiene sentido el costo de la entropía cruzada en el contexto de la regresión (en oposición a la clasificación)? Si es así, ¿podría dar un ejemplo de juguete a través de TensorFlow? ¿Si no, porque no?

Estaba leyendo acerca de la entropía cruzada en Redes Neurales y Aprendizaje Profundo por Michael Nielsen y parece algo que podría usarse naturalmente para la regresión y la clasificación, pero no entiendo cómo lo aplicaría eficientemente en TensorFlow desde el las funciones de pérdida toman logits (que tampoco entiendo) y se enumeran aquí en la clasificación

JacKeown
fuente
2
Encontré aquí en quora que dice diferente de lo que se acepta como respuesta a esta pregunta
Siddharth Shakya
Si lees toda la respuesta, ves que él da una "versión continua" de entropía cruzada que es bastante genial, pero resulta ser solo el Error Cuadrático Medio (MSE).
JacKeown

Respuestas:

11

No, no tiene sentido usar las funciones de TensorFlow como tf.nn.sigmoid_cross_entropy_with_logitspara una tarea de regresión. En TensorFlow, "entropía cruzada" es la abreviatura (o jerga) de "entropía cruzada categórica". La entropía cruzada categórica es una operación de probabilidades. Un problema de regresión intenta predecir resultados continuos, en lugar de clasificaciones.

La jerga "entropía cruzada" es un poco engañosa, porque hay muchas funciones de pérdida de entropía cruzada; sin embargo, es una convención en el aprendizaje automático referirse a esta pérdida particular como pérdida de "entropía cruzada".

Si miramos más allá de las funciones de TensorFlow a las que se vincula, entonces, por supuesto, hay varias posibles funciones de entropía cruzada. Esto se debe a que el concepto general de entropía cruzada se trata de la comparación de dos distribuciones de probabilidad. Dependiendo de las dos distribuciones de probabilidad que desea comparar, puede llegar a una pérdida diferente a la pérdida categórica típica de entropía cruzada. Por ejemplo, la entropía cruzada de un objetivo gaussiano con alguna covarianza diagonal variable media pero fija se reduce a error cuadrático medio. El concepto general de entropía cruzada se describe con más detalle en estas preguntas:

Sycorax dice reinstalar a Mónica
fuente
55
Sin embargo, debe mencionarse que usar la crossentropía binaria como la función de pérdida en una tarea de regresión donde los valores de salida son valores reales en el rango [0,1] es algo bastante razonable y válido.
hoy
[0,1]
5

La respuesta dada por @Sycorax es correcta. Sin embargo, vale la pena mencionar que usar la entropía cruzada (binaria) en una tarea de regresión donde los valores de salida están en el rango [0,1] es algo válido y razonable. En realidad, se usa en codificadores automáticos de imágenes (por ejemplo, aquí y este documento ). Es posible que le interese ver una prueba matemática simple de por qué funciona en este caso en esta respuesta .

hoy
fuente
[0,1]
@InfProbSciX "podría no ser un enfoque razonable para hacer frente a cualquier regresión donde las salidas están en un rango [0,1]". ¿Tan "razonable" en qué sentido? ¿O cómo define la razonabilidad de la función de pérdida para una tarea específica? Sospecho que esa afirmación podría ser cierta para cualquier función de pérdida. ¿Existe alguna función de pérdida que sería razonable usar para todo tipo de tareas de regresión, por supuesto, después de definir lo "razonable"?
hoy
Y=fθ(X)+ϵϵYBernoulli(pθ)La entropía cruzada binaria. Cuando la ley es una regresión lineal con un previo normal en los coeficientes, la pérdida corresponde a la penalización L2 y así sucesivamente. Siempre que sea posible, construiría una ley y luego obtendría una pérdida.
InfProbSciX
@InfProbSciX Gracias por su respuesta. Entonces, como mencionó, dependiendo de la tarea de regresión (y los supuestos sobre la distribución de datos, errores, etc.), una función de pérdida podría no ser razonable para ser utilizada. Y, como mencioné, esto es cierto para todas las funciones de pérdida, incluida la crossentropía. Por supuesto, entiendo que solo porque los valores de salida están en el rango [0,1] no garantiza que la crossentropía sea la función de pérdida de elección óptima y no estaba tratando de transmitir lo contrario en mi respuesta.
hoy
5

Los marcos de aprendizaje profundo a menudo mezclan modelos y pérdidas y se refieren a la entropía cruzada de un modelo multinomial con no linealidad softmax por cross_entropy, lo cual es engañoso. En general, puede definir la entropía cruzada para modelos arbitrarios .

fθ(x)ylogfθ(x),
y

Lucas
fuente
2

Desafortunadamente, la respuesta aceptada ahora por @Sycorax, aunque detallada, es incorrecta.

En realidad, un ejemplo excelente de regresión a través de la entropía cruzada categórica - Wavenet - se ha implementado en TensorFlow .

El principio es que usted discretiza su espacio de salida y luego su modelo solo predice el bin respectivo; Consulte la Sección 2.2 del documento para ver un ejemplo en el dominio de modelado de sonido. Entonces, aunque técnicamente el modelo realiza la clasificación, la tarea final resuelta es la regresión.

Un inconveniente obvio es que pierde la resolución de salida. Sin embargo, esto puede no ser un problema (al menos creo que el asistente artificial de Google habló con una voz muy humana ) o puede jugar con algo de procesamiento posterior, por ejemplo, interpolar entre el bin más probable y sus dos vecinos.

Por otro lado, este enfoque hace que el modelo sea mucho más poderoso en comparación con la salida habitual de una sola unidad lineal, es decir, permite expresar predicciones multimodales o evaluar su confianza. Sin embargo, tenga en cuenta que esto último puede lograrse naturalmente por otros medios, por ejemplo, teniendo una salida de varianza explícita (log) como en los codificadores automáticos variacionales.

De todos modos, este enfoque no escala bien a una salida más dimensional, porque entonces el tamaño de la capa de salida crece exponencialmente, lo que lo convierte en un problema tanto de computación como de modelado.

dedObed
fuente
1
Veo lo que está diciendo, pero personalmente no consideraría discretizar su espacio de salida para realizar "regresión" tanto como se aproxima a un problema de regresión utilizando la clasificación ... pero supongo que es solo una cuestión de terminología / convención.
JacKeown
1
Convenido. El espacio flotante de 32 bits es discreto de todos modos :-)
dedObed
-1

He revisado esta pregunta ya que ahora no estoy de acuerdo con la respuesta que acepté anteriormente. La pérdida de entropía cruzada PUEDE usarse en regresión (aunque no es común).

Todo se reduce al hecho de que la entropía cruzada es un concepto que solo tiene sentido cuando se comparan dos distribuciones de probabilidad. Podría considerar una red neuronal que genera una desviación media y estándar para una distribución normal como su predicción. Entonces sería castigado con más dureza por tener más confianza en las malas predicciones. Entonces, sí, tiene sentido, pero solo si está produciendo una distribución en algún sentido. El enlace de @SiddharthShakya en un comentario a mi pregunta original muestra esto.

JacKeown
fuente
1
Esta respuesta parece responder a la pregunta de una manera diferente a la que se hace. Las funciones a las que se vinculó en la pregunta son sobre un tipo específico de pérdida de entropía cruzada, y su pregunta parece preguntar si esas funciones se pueden usar en la regresión, y mi respuesta se escribe como si estuviera preguntando cómo usar esas funciones te enlazas a. La respuesta aquí parece responder a la pregunta "¿Se puede generalizar la entropía cruzada más allá de la clasificación?" La edición de la Q dejaría en claro que el enfoque está en cómo se definen los conceptos matemáticos, en lugar de enfocarse en cómo usar las funciones de Tensorflow.
Sycorax dice reinstalar a Mónica el
Entiendo su objeción, pero planeo dejar la pregunta como está porque representa mi consulta original, la cual creo que podría ayudar a las personas con la misma pregunta que tenía. En cualquier caso, toda la publicación debe contener suficiente información en general.
JacKeown