Wie ist es möglich, dass der Validierungsverlust zunimmt und gleichzeitig die Validierungsgenauigkeit zunimmt?


27

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.Bildbeschreibung hier eingeben


2
Sie können einige Hinweise überprüfen, um in meiner Antwort zu verstehen: stats.stackexchange.com/questions/258166/…
ahstat

@ahstat Ich verstehe, wie es technisch möglich ist, aber ich verstehe nicht, wie es hier passiert.
Konstantin Solomatov

Die "Illustration 2" ist das, was ich und Sie erlebt haben, was eine Art Überanpassung ist. Für mein spezielles Problem wurde es nach dem Mischen des Sets gelindert.
Ahstat

@ahstat Es gibt viele Möglichkeiten, Überanpassung zu bekämpfen. Zum Beispiel könnte ich Dropout verwenden. Was mich am meisten interessiert, was ist die Erklärung dafür. Das heißt, warum nimmt es so allmählich und nur nach oben zu.
Konstantin Solomatov

Antworten:


11

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:

  1. 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.

  2. 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.


15

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.


4
Beobachtung: In Ihrem Beispiel ändert sich die Genauigkeit nicht. Es ist immer noch 100%. Haben Sie ein Beispiel, bei dem der Verlust abnimmt und die Genauigkeit ebenfalls abnimmt?
Hugh Perkins

1

Aus Ankur's Antwort geht hervor, dass:

correctclassestotalclasses

während

less

So...

Hohe Validierungsgenauigkeit + High Loss Score im Vergleich zu hoher Trainingsgenauigkeit + Low Loss Score deuten darauf hin, dass das Modell möglicherweise zu stark auf die Trainingsdaten abgestimmt ist.


0

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.

  1. Etikett ist laut. Vergleichen Sie die falschen Vorhersagen zwischen dem Minimum von val_loss und dem Maximum von val_acc. Überprüfen Sie, ob diese Proben richtig beschriftet sind.
  2. [Weniger wahrscheinlich] Das Modell verfügt nicht über genügend Informationsaspekte, um sicher zu sein. Experimentieren Sie mit mehr und größeren versteckten Ebenen.
  3. [Eine sehr wilde Vermutung] Dies ist ein Fall, in dem das Modell weniger sicher ist, dass bestimmte Dinge länger trainiert werden. Eine solche Situation passiert auch dem Menschen. Wenn jemand anfängt, eine Technik zu lernen, wird ihm genau gesagt, was gut oder schlecht ist, was bestimmte Dinge sind (hohe Sicherheit). Wenn er mehr Fälle und Beispiele durchläuft, merkt er manchmal, dass bestimmte Grenzen verschwimmen können (weniger sicher, höherer Verlust), obwohl er bessere Entscheidungen treffen kann (mehr Genauigkeit). Und er kann schließlich sicherer werden, wenn er ein Meister wird, nachdem er eine riesige Liste von Beispielen und viele Versuche und Irrtümer durchgearbeitet hat (mehr Trainingsdaten). In diesem Fall empfehle ich, zu versuchen, den Trainingsdaten (nicht der Beschriftung) mehr Rauschen hinzuzufügen.

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.