Was verursacht plötzliche Abfälle von Trainings- / Testfehlern beim Training eines neuronalen Netzwerks?

18

Ich habe einige Male während des Trainings im neuronalen Netzwerk Diagramme von Test- / Trainingsfehlern gesehen, die in bestimmten Epochen plötzlich abfielen, und ich frage mich, was diese Leistungssprünge verursacht:

ResNet-Testfehler

Dieses Bild stammt von Kaiming He Github, aber ähnliche Handlungen tauchen in vielen Zeitungen auf.

libphy
quelle
Ein verwandtes Papier: Smith et al. 2018 Verringern
Amöbe sagt Reinstate Monica

Antworten:

7

Sie haben die Lernrate geändert. Beachten Sie, dass der Abfall genau bei 30 und 60 Epochen liegt, offensichtlich manuell von jemandem eingestellt.

Warum?
quelle
In Abschnitt 3.4 wird erklärt, dass die Lernrate durch 10 geteilt wird, wenn der Fehler ein Plateau erreicht
xiawi
2

Denken Sie an die "Optimierungslandschaft". Wenn Sie beispielsweise ein Netzwerk mit nur zwei Gewichten hatten, können Sie alle Kombinationen dieser beiden Gewichte auf einer Oberfläche darstellen, wobei die Höhe an jedem Punkt die Fehlermenge darstellt, die Ihre Kostenfunktion zurückgibt, wenn Sie diese verwenden (x, y) ) koordinieren Sie als Ihre beiden Gewichte. Sie versuchen, zum niedrigsten Punkt auf dieser Oberfläche zu gelangen, um die niedrigste Fehlerstufe zu erhalten.
Das Problem ist manchmal, dass die Oberfläche ziemlich verrückt werden kann, insbesondere in Netzwerken mit Millionen von Parametern anstelle von nur zwei. Sie können an Sattelpunkten stecken bleiben, an denen der Fortschritt verlangsamt wird, und dann plötzlich in einen Abwärtshügel zurückgeschossen werden.
Hier ist eine Animation, um dies zu veranschaulichen. Wie Sie sehen können, bleiben die grundlegenderen Algorithmen für den Gradientenabstieg viel einfacher an diesen Positionen hängen.
Geben Sie hier die Bildbeschreibung ein

Es kann auch andere Ursachen dafür geben, aber dies ist die, von der Sie am häufigsten hören. Es ist möglich, dass in einem Netzwerk mehrere Einheiten gesättigte Aktivierungen erhalten (oder im Fall von relu eine Einheit, die nur durch eine sehr kleine Anzahl von Trainingseingaben aktiviert wird), und wenn eine Einheit die Sättigung verlässt eine Kettenreaktion auslöst, die den Rest aus der Sättigung bringt und die Gewichte plötzlich einen Anstieg des Gradientenflusses bekommen? Ich habe so etwas nicht untersucht, aber ich wäre interessiert, wenn jemand andere Gründe hätte, etwas hinzuzufügen.

Frobot
quelle
1
-1. Dies beantwortet die Frage nicht, oder es ist zumindest nicht klar, wie es funktioniert und warum das, was Sie geschrieben haben, relevant ist. Warum sollte eine Verringerung der Lernrate einen aus einem Sattelpunkt bringen?
Amöbe sagt Reinstate Monica
Es ist nicht einmal klar, dass die Animation sowieso korrekt ist, da SGD per Definition bei jeder Iteration eine andere Optimierungsoberfläche sieht. In dieser Grafik ist die Optimierungsfläche festgelegt, daher ist mir nicht klar, wie SGD hier ohnehin dargestellt werden kann. Der SGD "Punkt" verhält sich eher wie ein Gradientenabstieg im vollen Stapel, bei dem die Optimierungsfläche über den gesamten Trainingsprozess fixiert ist.
Josh