In SGD wäre eine Epoche die vollständige Darstellung der Trainingsdaten, und dann würde es N Gewichtsaktualisierungen pro Epoche geben (wenn der Trainingssatz N Datenbeispiele enthält).
Wenn wir jetzt stattdessen Mini-Batches durchführen, beispielsweise in Batches von 20. Besteht eine Epoche jetzt aus N / 20 Gewichtsaktualisierungen oder wird eine Epoche um 20 'verlängert', sodass sie die gleiche Anzahl von Gewichtsaktualisierungen enthält?
Ich frage dies, da in einigen Artikeln das Lernen für die angegebene Anzahl von Epochen zu schnell zu sein scheint.
Antworten:
In der Terminologie des neuronalen Netzwerks:
Beispiel: Wenn Sie 1000 Trainingsbeispiele haben und Ihre Stapelgröße 500 beträgt, sind 2 Iterationen erforderlich, um 1 Epoche abzuschließen.
quelle
Francks Antwort ist nicht richtig. Es braucht etwas Mut, um das zu sagen, weil er viel mehr Wiederholungen hat als ich und viele Leute bereits dafür gestimmt haben.
Epoche ist ein Wort, das einen einzelnen Durchgang durch ein Trainingsset bedeutet, nicht alle Trainingsbeispiele.
Also ja. Wenn wir Mini-Batch-GD anstelle eines Batch-GD durchführen, z. B. in Batches von 20, besteht eine Epoche jetzt aus N / 20-Gewichtsaktualisierungen. N ist die Gesamtzahl der Proben.
Um es ausführlich zu sagen: Bei einem Batch-Gradientenabstieg können Sie mit einem einzigen Durchgang durch das Training nur einen Gradientenabstiegsschritt ausführen. Bei einem Mini-Batch-Gradientenabstieg (Chargengröße = 5.000) können Sie mit einem einzigen Durchgang durch das Trainingsset, dh einer Epoche, 5.000 Gradientenabstiegsschritte ausführen.
quelle