Ich trainiere ein einfaches neuronales Netzwerk mit dem CIFAR10-Datensatz. Nach einiger Zeit begann der Validierungsverlust zuzunehmen, während die Validierungsgenauigkeit ebenfalls zunahm. Der Testverlust und die Testgenauigkeit verbessern sich weiter.
Wie ist das möglich? Es scheint, dass die Genauigkeit sinken sollte, wenn der Validierungsverlust zunimmt.
PS: Es gibt mehrere ähnliche Fragen, aber niemand hat erklärt, was dort passiert ist.
neural-networks
deep-learning
conv-neural-network
overfitting
Konstantin Solomatov
quelle
quelle
Antworten:
Aufbauend auf Ankur's Antwort und dem Kommentar darunter denke ich, dass das folgende Szenario möglich ist, obwohl ich keinen Beweis dafür habe. Es können zwei Phänomene gleichzeitig auftreten:
Einige Beispiele mit Grenzwertvorhersagen werden besser vorhergesagt, und daher ändert sich ihre Ausgabeklasse (z. B. wird ein Katzenbild mit 0,4 als Katze und 0,6 als Pferd als 0,4 als Pferd und 0,6 als Katze vorhergesagt). Dadurch erhöht sich die Genauigkeit, während der Verlust abnimmt.
Einige Beispiele mit sehr schlechten Vorhersagen werden immer schlechter (z. B. wird ein Katzenbild von 0,8 als Pferd vorhergesagt, während 0,9 als Pferd vorhergesagt wird) UND / ODER (wahrscheinlicher, insbesondere für mehrere Klassen?) Einige Beispiele mit sehr guten Vorhersagen Vorhersagen werden ein wenig schlechter (z. B. wird ein Katzenbild, das bei 0,9 als Katze vorhergesagt wird, bei 0,8 als Katze vorhergesagt). Mit diesem Phänomen steigt der Verlust, während die Genauigkeit gleich bleibt.
Wenn also Phänomen 2 irgendwann eintritt, bei vielen Beispielen (z. B. für eine bestimmte Klasse, die aus irgendeinem Grund nicht gut verstanden wird) und / oder wenn die Verlustzunahme stärker ist als die Verlustabnahme, die Sie von 1 an erzielen, könnte dies der Fall sein finden Sie sich in Ihrem Szenario.
Wiederum ist dies vielleicht nicht der Fall, aber ich denke, dass uns die Fähigkeit, solche Szenarien zu entwickeln, an die manchmal schlüpfrige Beziehung zwischen (entropieübergreifendem) Verlust und Genauigkeit erinnern muss.
quelle
Die Genauigkeit eines Satzes wird bewertet, indem nur die höchste Softmax-Ausgabe und die richtige beschriftete Klasse überprüft werden. Es ist nicht abhängig, wie hoch die Softmax-Ausgabe ist. Zur Verdeutlichung hier einige Zahlen.
Angenommen, es gibt 3 Klassen - Hund, Katze und Pferd. In unserem Fall ist die richtige Klasse Pferd . Der Ausgang des Softmax ist nun [0,9, 0,1]. Für diesen Verlust ~ 0,37. Der Klassifikator sagt voraus, dass es sich um ein Pferd handelt. Nehmen Sie einen anderen Fall, in dem die Softmax-Ausgabe [0,6, 0,4] beträgt. Verlust ~ 0,6. Der Klassifikator sagt weiterhin voraus, dass es sich um ein Pferd handelt. Aber der Verlust hat sicherlich zugenommen. Es geht also nur um die Ausgabeverteilung.
quelle
Aus Ankur's Antwort geht hervor, dass:
während
So...
quelle
Viele Antworten konzentrieren sich auf die mathematische Berechnung, in der erklärt wird, wie dies möglich ist. Aber sie erklären nicht, warum es so wird. Und sie können nicht vorschlagen, wie man weiter gräbt, um klarer zu sein.
Ich habe 3 Hypothesen. Und schlagen Sie einige Experimente vor, um sie zu überprüfen. Hoffentlich kann es helfen, dieses Problem zu erklären.
Streiten Sie nicht darüber, wenn Sie mit dieser Hypothese nicht einverstanden sind. Es wird sinnvoller sein, Experimente durchzuführen, um sie zu verifizieren, egal ob sie bewiesen werden oder ob sie falsch sind.
quelle