Ich trainiere ein Modell (Recurrent Neural Network), um 4 Arten von Sequenzen zu klassifizieren. Während ich trainiere, sehe ich, dass der Trainingsverlust bis zu dem Punkt sinkt, an dem ich über 90% der Proben in meinen Trainingssätzen richtig klassifiziere. Ein paar Epochen später stelle ich jedoch fest, dass der Trainingsverlust zunimmt und meine Genauigkeit abnimmt. Das kommt mir komisch vor, da ich davon ausgehen würde, dass sich am Trainingssatz die Leistung mit der Zeit nicht verschlechtern sollte. Ich benutze Cross-Entropy-Loss und meine Lernrate beträgt 0,0002.
Update: Es stellte sich heraus, dass die Lernrate zu hoch war. Mit einer niedrigen Lernrate beobachte ich dieses Verhalten nicht. Allerdings finde ich das immer noch eigenartig. Alle guten Erklärungen sind willkommen, warum dies geschieht
Weil die Lernrate zu groß ist, divergiert sie und findet nicht das Minimum der Verlustfunktion. Mithilfe eines Schedulers können Sie die Lernrate nach bestimmten Epochen verringern, um das Problem zu lösen
quelle
Bei höheren Lernraten bewegen Sie sich zu stark in die dem Gradienten entgegengesetzte Richtung und können sich von den lokalen Minima entfernen, was den Verlust erhöhen kann. Die Planung der Lernrate und das Abschneiden von Verläufen können dabei helfen.
quelle