Ich versuche, das Transferlernen durch Feinabstimmung eines VGG16-Netzwerks (vortrainiert auf ImageNet) durchzuführen, um die Bildklassifizierung auf einem wesentlich kleineren Datensatz (11000 Bilder, 200 Klassen) durchzuführen. Ich trainiere eigentlich nur die letzten 3 FC-Schichten des modifizierten VGG16-Netzwerks. Ich habe Dropout auf zwei der 3 FC Schichten mit einer Wahrscheinlichkeit von 0,5 hinzugefügt.Welcher Zusammenhang besteht zwischen Verlust- und Validierungsgenauigkeit?
Also, wenn ich in diesem Netzwerk trainiere, mache ich keine ausgefallene Vorbearbeitung außer, um jeden Kanal im Bild mit den VGG_MEAN Werten zu subtrahieren, die von den ursprünglichen Autoren gegeben wurden.
So ist das Training scheint gut zu gehen, geht der Verlust wesentlich und stabilisiert sich um einen bestimmten Wert, und ich überwache die Vorhersage Genauigkeit des Netzes auf einem Validierungs-Set (20% der Daten) nach einer bestimmten Anzahl von Chargen wurden trainiert. Ich merke, dass die durchschnittliche Validierungsgenauigkeit keine Trends in der Verbesserung zeigt - und die durchschnittliche Validierungsgenauigkeit schwankt während des gesamten Trainings, als ich tatsächlich gehofft hatte, dass dies allmählich zunimmt. Ich habe sichergestellt, dass die Validierungsdaten beim Inferencing nicht gemischt werden.
Ich habe versucht, die Lernrate zu reduzieren, Feinabstimmung weniger Schichten, aber ohne Erfolg.Wenn Verlust ein Surrogat ist, um anzuzeigen, dass das Modell tatsächlich lernt, warum die Diskrepanz in der Validierungsgenauigkeit?
(1) Liegt es daran, dass ich nur sehr wenige Trainingsdaten habe? (2) Das ursprüngliche Imagine-Dataset hat 1000 Klassen, aber meine Klassifizierungsaufgabe ist feinkörniger und hat 1/5 der ursprünglichen Anzahl von ImageNet-Klassen (denken Sie daran, Vogelarten oder verschiedene Primaten zu klassifizieren). Könnte das ein Problem sein? Ich hätte gerne eine Meinung und Feedback von Personen, die Erfahrung mit solchen Problemen haben.
Wenn ich es gut verstehe, nimmt die Verlustfunktion ab, aber der Validierungsverlust geht nicht mehr zurück, was darauf hinweist, dass Sie Ihr Trainingsprogramm nicht mehr anpassen. Wenn dies der Fall ist, versuchen Sie, Ihre Parameter zu strafen, um eine Überanpassung zu vermeiden. – Feras
Hinzufügen von Dropout von 0,5 zu den Schichten FC7 und FC6 verbessert nichts. Tatsächlich ist die Validierungsgenauigkeit so schlecht, dass ich nur ratlos bin. – user1050648