Zunächst haben wir eine Klassifizierungsaufgabe.
Daher verwenden wir zur Klassifizierung die typische Softmax-Kreuzentropie.
Die derzeitige Implementierung des Lehrplanlernens ist wie folgt.
- Zuerst trainieren wir unsere beste Version des neuronalen Netzes
- In der letzten Epoche erhalten wir alle Kreuzentropien für alle Instanzen. So werden kleinere Kreuzentropien besser klassifiziert und größere nicht so gut.
- Dann sortieren wir die Instanzen basierend auf den Kreuzentropien.
- Dann fangen wir an, die Instanzen von einfacher zu schwieriger zu trainieren, wie es die Theorie des Lehrplanlernens vorschlägt
Beachten Sie, dass wir bereits mit verschiedenen Schritten und Wiederholungen experimentiert haben. In einem Beispiel haben wir die ersten 200 Chargen genommen und sie zweimal trainiert, bevor wir zur nächsten Charge übergingen und so weiter, bis eine Epoche abgeschlossen ist.
In einem anderen Beispiel haben wir die ersten 10 Chargen genommen und sie nur einmal trainiert und dann die nächsten 10 und die nächsten 10 und so weiter bis zum Ende der Epoche.
Alle bisherigen Experimente haben ergeben, dass das neuronale Netzwerk zu Beginn eine relativ gute Genauigkeit aufweist, und dies verschlechtert sich, wenn die schwierigeren Instanzen auftreten. Die endgültige Genauigkeit ist viel schlechter als erwartet und außerdem ist die maximale Genauigkeit immer noch ziemlich schlecht.
Warum funktioniert dieses Lehrplanlernen nicht? Fehlt etwas?
quelle
Antworten:
Sie benötigen viel mehr Informationen, um herauszufinden, was hier vor sich geht. Einige Möglichkeiten umfassen:
Ihre "harten" Beispiele sind eigentlich nicht lernbar. Sie können dies überprüfen, indem Sie prüfen, ob Sie die harten Beispiele mindestens überanpassen können und ob Sie als Mensch die harten Beispiele korrekt kennzeichnen können.
Ihr Netzwerk ist nicht groß genug, um die harten Beispiele zu lernen. Das heißt, Sie sind sicher, dass die harten Beispiele gelernt werden können. Es ist nur so, dass das Netzwerk nicht komplex genug ist, um dies zu tun. Sie können dies erneut überprüfen, indem Sie feststellen, ob Sie als Mensch in der Lage sind, die richtigen Bezeichnungen für die harten Instanzen herauszufinden.
Ihr Lehrplan Lernen kann tatsächlich das Training schaden. Am Ende des Trainings sieht Ihr Netzwerk nur Beispiele, mit denen es am meisten Probleme hat. Diese Beispiele verursachen die größten Änderungen im Netzwerk, und es kann zu einer kurzfristigen Gradientenexplosion kommen. Sie können überprüfen, ob dies geschieht, indem Sie am Ende des Trainings an den harten Beispielen feststellen, ob Sie bei "einfachen" Beispielen eine deutlich schlechtere Leistung erzielen. Eine Lösung könnte darin bestehen, das Trainingsset nach dem Sortieren nach Schwierigkeitsgrad langsam zu erweitern. Wenn Sie also 10.000 einfache Beispiele und 10.000 harte Beispiele haben, trainieren Sie mit 10.000 einfachen + 1.000 harten Beispielen, bis Sie mit der Netzwerkleistung zufrieden sind, und erweitern Sie dann den Trainingssatz, indem Sie die nächsten 1.000 schwierigsten hinzufügen.
quelle