¿Cómo es posible que la pérdida de validación aumente mientras que la precisión de validación también aumenta?

28

Estoy entrenando una red neuronal simple en el conjunto de datos CIFAR10. Después de un tiempo, la pérdida de validación comenzó a aumentar, mientras que la precisión de la validación también está aumentando. La pérdida de prueba y la precisión de la prueba continúan mejorando.

¿Cómo es esto posible? Parece que si la pérdida de validación aumenta, la precisión debería disminuir.

PD: Hay varias preguntas similares, pero nadie explicó lo que estaba sucediendo allí.ingrese la descripción de la imagen aquí

Konstantin Solomatov
fuente
2
Puede consultar algunos consejos para comprender en mi respuesta aquí: stats.stackexchange.com/questions/258166/…
ahstat
@ahstat Entiendo cómo es técnicamente posible, pero no entiendo cómo sucede aquí.
Konstantin Solomatov
La 'ilustración 2' es lo que experimentamos tú y yo, que es una especie de sobreajuste. Para mi problema particular, se alivió después de barajar el set.
ahstat
@ahstat Hay muchas formas de luchar contra el sobreajuste. Por ejemplo, podría usar el abandono. Lo que más me interesa es cuál es la explicación de esto. Es decir, ¿por qué está aumentando tan gradualmente y solo hacia arriba?
Konstantin Solomatov

Respuestas:

12

Sobre la base de la respuesta de Ankur y el comentario debajo, creo que el siguiente escenario es posible, aunque no tengo pruebas de ello. Pueden estar ocurriendo dos fenómenos al mismo tiempo:

  1. Algunos ejemplos con predicciones límite se predicen mejor y, por lo tanto, su clase de salida cambia (por ejemplo, una imagen de gato predicha en 0.4 para ser un gato y 0.6 para ser un caballo se convierte en 0.4 para ser un caballo y 0.6 para ser un gato). Gracias a esto, la precisión aumenta mientras que la pérdida disminuye.

  2. Algunos ejemplos con predicciones muy malas siguen empeorando (por ejemplo, una imagen de gato pronosticada en 0.8 como caballo se predice en 0.9 como caballo) Y / O (¿más probable, en particular para multiclase?), Algunos ejemplos con muy buena las predicciones empeoran un poco (por ejemplo, una imagen de gato que se predice que 0.9 es un gato se convierte en un gato que se pronostica a 0.8). Con este fenómeno, la pérdida aumenta mientras la precisión permanece igual.

Entonces, si el fenómeno 2 entra en algún momento, en muchos ejemplos (por ejemplo, para una clase específica que no se entiende bien por alguna razón) y / o con un aumento de pérdida más fuerte que la disminución de pérdida que gana de 1., entonces podría encuentrate en tu escenario.
Una vez más, tal vez esto no sea lo que está sucediendo, pero creo que ser capaz de idear tales escenarios debe recordarnos la relación a veces resbaladiza entre la pérdida (precisión de entropía cruzada) y la precisión.

Solcio
fuente
15

La precisión de un conjunto se evalúa simplemente verificando la salida softmax más alta y la clase etiquetada correcta. No depende de qué tan alta sea ​​la salida softmax. Para hacerlo más claro, aquí hay algunos números.

Supongamos que hay 3 clases: perro, gato y caballo. Para nuestro caso, la clase correcta es caballo . Ahora, la salida del softmax es [0.9, 0.1]. Por esta pérdida ~ 0.37. El clasificador predecirá que es un caballo. Tome otro caso donde la salida de softmax es [0.6, 0.4]. Pérdida ~ 0.6. El clasificador seguirá prediciendo que es un caballo. Pero seguramente, la pérdida ha aumentado. Entonces, se trata de la distribución de salida.

ANKUR SATYA
fuente
44
Observación: en su ejemplo, la precisión no cambia. Todavía es 100%. ¿Tiene un ejemplo donde la pérdida disminuye y la precisión también disminuye?
Hugh Perkins
1

Por la respuesta de Ankur, me parece que:

correctclassestotalclasses

mientras

less

Asi que...

La alta precisión de validación + la puntuación de pérdida alta frente a la precisión de entrenamiento alta + la puntuación de pérdida baja sugieren que el modelo puede estar sobreajustado en los datos de entrenamiento.

Ignacio Ezeani
fuente
0

Muchas respuestas se centran en el cálculo matemático que explica cómo es esto posible. Pero no explican por qué se hace así. Y no pueden sugerir cómo cavar más para ser más claros.

Tengo 3 hipótesis. Y sugiera algunos experimentos para verificarlos. Esperemos que pueda ayudar a explicar este problema.

  1. La etiqueta es ruidosa. Compare las predicciones falsas entre cuando val_loss es mínimo y val_acc es máximo. Compruebe si estas muestras están correctamente etiquetadas.
  2. [Menos probable] El modelo no tiene suficiente aspecto de información para estar seguro. Experimente con más y más grandes capas ocultas.
  3. [Una suposición muy descabellada] Este es un caso en el que el modelo es menos seguro acerca de ciertas cosas que se entrenan por más tiempo. Tal situación le sucede a los humanos también. Cuando alguien comienza a aprender una técnica, se le dice exactamente qué es bueno o malo, para qué sirve (alta certeza). Cuando pasa por más casos y ejemplos, se da cuenta de que a veces cierto borde puede ser borroso (menos seguro, mayor pérdida), aunque puede tomar mejores decisiones (más precisión). Y eventualmente puede estar más seguro cuando se convierta en un maestro después de revisar una gran lista de muestras y muchas pruebas y errores (más datos de capacitación). Entonces, en este caso, sugiero que sea útil experimentar con agregar más ruido a los datos de entrenamiento (no a la etiqueta).

No discuta sobre esto si no está de acuerdo con estas hipótesis. Será más significativo presentar un experimento para verificarlos, no importa probarlos o demostrar que están equivocados.

Diansheng
fuente