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í.
neural-networks
deep-learning
conv-neural-network
overfitting
Konstantin Solomatov
fuente
fuente
Respuestas:
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:
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.
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.
fuente
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.
fuente
Por la respuesta de Ankur, me parece que:
mientras
Asi que...
fuente
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.
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.
fuente