2017-03-24 35 views
1

Ich entwerfe eine neue Netzwerkarchitektur für semantische Segmentierung. Der Trainingsverlust verringert sich, wenn die Trainingsiteration zunimmt. Wenn ich jedoch die Testgenauigkeit messe. Ich habe die folgende AbbildungWie löst man das Problem "Testgenauigkeit reduzieren während Iterationen"?

Von 0 bis 20.000 Iterationen erhöht die Genauigkeit. Nach 20.000 Iterationen verringert sich jedoch die Testgenauigkeit. Ich denke, es ist ein übermäßiges Problem.

Ich habe versucht, Dropout zum Netzwerk hinzufügen, aber der Graph Trend ist ähnlich. Können Sie mir den Grund vorschlagen und wie kann ich es lösen? Ich denke, dass frühes Stoppen keine gute Lösung ist.

Dank

enter image description here

+1

Overfitting (https://en.wikipedia.org/wiki/Overfitting)? Sie können versuchen, weitere Daten hinzuzufügen oder zu versuchen, das Modell zu vereinfachen –

+0

Tatsächlich habe ich beim Testen Daten festgelegt. Ich kann nicht mehr Daten haben, weil es die Grundwahrheit erfordert. Was bedeutet ein vereinfachtes Modell? – user8264

+0

@ user9264 Sie können immer noch versuchen, Ihre Trainingsdaten zu erweitern (Hinzufügen von Rauschen/Verzerrungen zu vorhandenen Samples und Verwendung derselben Labels). Modell vereinfachen - Anzahl der Ebenen/Filter reduzieren, zum Beispiel –

Antwort

0

Seien Sie sicher, dass Ihre Daten auf Ihrem Training randomisieren, können Sie auch Tests mit einer höheren Lernrate beginnen (etwa 0,1) aus lokalen Minima erhalten dann auf einen sehr kleinen Wert verringern, es zu lassen Dinge erledigen. Um dies zu tun, ändern Sie die Schrittgröße auf 1000 Iterationen, um die Lernrate alle 1000 Iterationen zu reduzieren.

Verwandte Themen