J'entraîne un réseau neuronal simple sur l'ensemble de données CIFAR10. Après un certain temps, la perte de validation a commencé à augmenter, tandis que la précision de validation augmente également. La perte de test et la précision du test continuent de s'améliorer.
Comment est-ce possible? Il semble que si la perte de validation augmente, la précision devrait diminuer.
PS Il y a plusieurs questions similaires, mais personne n'a expliqué ce qui se passait là-bas.
neural-networks
deep-learning
conv-neural-network
overfitting
Konstantin Solomatov
la source
la source
Réponses:
Sur la base de la réponse d'Ankur et du commentaire en dessous, je pense que le scénario suivant est possible, alors que je n'en ai aucune preuve. Deux phénomènes pourraient se produire en même temps:
Certains exemples avec des prédictions limites sont mieux prédits et donc leur classe de sortie change (par exemple, une image de chat prédite à 0,4 pour être un chat et 0,6 pour être un cheval devient prédite 0,4 pour être un cheval et 0,6 pour être un chat). Grâce à cela, la précision augmente tandis que la perte diminue.
Certains exemples avec de très mauvaises prédictions continuent de s'aggraver (par exemple, une image de chat prédite à 0,8 pour être un cheval devient prédite à 0,9 pour être un cheval) ET / OU (plus probable, en particulier pour les classes multiples?) Quelques exemples avec de très bonnes les prévisions s'aggravent un peu (par exemple, une image de chat prédite à 0,9 pour être un chat devient prédite à 0,8 pour être un chat). Avec ce phénomène, la perte augmente tandis que la précision reste la même.
Donc, si le phénomène 2 se déclenche à un moment donné, sur de nombreux exemples (par exemple pour une classe spécifique qui n'est pas bien comprise pour une raison quelconque) et / ou avec une augmentation de perte plus forte que la diminution de perte que vous gagnez à partir de 1., alors vous pourriez vous retrouver dans votre scénario.
Encore une fois, ce n'est peut-être pas ce qui se passe, mais je pense que pouvoir proposer de tels scénarios doit nous rappeler la relation parfois glissante entre la perte (entropie croisée) et la précision.
la source
La précision d'un ensemble est évaluée en vérifiant simplement la sortie softmax la plus élevée et la classe étiquetée correcte. Cela ne dépend pas de la hauteur de la sortie softmax. Pour plus de clarté, voici quelques chiffres.
Supposons qu'il y ait 3 classes: chien, chat et cheval. Pour notre cas, la classe correcte est cheval . Maintenant, la sortie du softmax est [0.9, 0.1]. Pour cette perte ~ 0,37. Le classificateur prédira qu'il s'agit d'un cheval. Prenons un autre cas où la sortie softmax est [0,6, 0,4]. Perte ~ 0,6. Le classificateur prédira toujours qu'il s'agit d'un cheval. Mais sûrement, la perte a augmenté. Donc, tout tourne autour de la distribution de sortie.
la source
D'après la réponse d'Ankur, il me semble que:
tandis que
Alors...
la source
De nombreuses réponses se concentrent sur le calcul mathématique expliquant comment cela est possible. Mais ils n'expliquent pas pourquoi il en est ainsi. Et ils ne peuvent pas suggérer comment creuser davantage pour être plus clair.
J'ai 3 hypothèses. Et proposez quelques expériences pour les vérifier. J'espère que cela peut aider à expliquer ce problème.
Ne discutez pas de cela si vous n'êtes pas d'accord avec ces hypothèses. Il sera plus significatif de sortir une expérience pour les vérifier, peu importe de les prouver ou de leur prouver le contraire.
la source