Was ist der Unterschied zwischen Epoche y Iteration beim Training eines mehrschichtigen Perzeptrons?
Antworten
Zu viele Anzeigen?In der Terminologie der neuronalen Netze:
- eine Epoche \= ein Durchgang vorwärts und ein Durchgang rückwärts von alle die Übungsbeispiele
- Chargengröße \= die Anzahl der Trainingsbeispiele in einem Vorwärts-/Rückwärtsdurchlauf. Je höher die Stapelgröße ist, desto mehr Speicherplatz wird benötigt.
- Anzahl von Iterationen \= Anzahl der Durchläufe, jeder Durchlauf mit [Losgröße] Anzahl der Beispiele. Zur Verdeutlichung: ein Durchlauf = ein Vorwärtsdurchlauf + ein Rückwärtsdurchlauf (wir zählen den Vorwärtsdurchlauf und den Rückwärtsdurchlauf nicht als zwei verschiedene Durchläufe).
Beispiel: Bei 1000 Trainingsbeispielen und einer Stapelgröße von 500 dauert es 2 Iterationen, um 1 Epoche abzuschließen.
ZU IHRER INFORMATION: Abwägung zwischen Stapelgröße und Anzahl der Iterationen beim Training eines neuronalen Netzes
Der Begriff "Batch" ist mehrdeutig: Manche Leute verwenden ihn, um die gesamte Trainingsmenge zu bezeichnen, und manche Leute verwenden ihn, um sich auf die Anzahl der Trainingsbeispiele in einem Vorwärts-/Rückwärtsdurchlauf zu beziehen (wie ich es in dieser Antwort getan habe). Um diese Zweideutigkeit zu vermeiden und klarzustellen, dass Batch der Anzahl der Trainingsbeispiele in einem Vorwärts-/Rückwärtsdurchlauf entspricht, kann man den Begriff Mini-Batch .
Epoche y Iteration verschiedene Dinge beschreiben.
Epoche
Un site Epoche beschreibt die Anzahl der Male, die der Algorithmus die gesamte Datensatz. Jedes Mal, wenn der Algorithmus alle Proben im Datensatz gesehen hat, ist eine Epoche abgeschlossen.
Iteration
Un site Iteration beschreibt die Anzahl der Male, die ein Charge der Daten, die den Algorithmus durchlaufen. Im Fall von neuronalen Netzen bedeutet dies, dass die Vorwärtspass y Rückwärtspass . Jedes Mal, wenn Sie also einen Datenstapel durch das NN leiten, haben Sie eine Iteration .
Beispiel
Ein Beispiel könnte dies verdeutlichen.
Angenommen, Sie haben einen Datensatz mit 10 Beispielen (oder Proben). Sie haben eine Stapelgröße von 2, und Sie haben angegeben, dass der Algorithmus 3 Epochen lang laufen soll.
Daher gibt es in jeder Epoche 5 Stapel (10/2 = 5). Jede Charge durchläuft den Algorithmus, daher gibt es 5 Iterationen pro Epoche. Da Sie 3 Epochen angegeben haben, haben Sie insgesamt 15 Iterationen (5*3 = 15) für das Training.
Bei vielen Trainingsalgorithmen für neuronale Netze wird dem neuronalen Netz der gesamte Datensatz mehrfach präsentiert. Häufig wird eine einzelne Präsentation des gesamten Datensatzes als "Epoche" bezeichnet. Im Gegensatz dazu präsentieren einige Algorithmen dem neuronalen Netz jeweils nur einen einzigen Fall.
"Iteration" ist ein sehr viel allgemeinerer Begriff, aber da Sie danach in Verbindung mit "Epoche" gefragt haben, gehe ich davon aus, dass sich Ihre Quelle auf die Präsentation eines einzelnen Falls für ein neuronales Netz bezieht.
Sie haben Trainingsdaten, die Sie mischen und aus denen Sie Mini-Batches auswählen. Wenn Sie Ihre Gewichte und Verzerrungen anhand eines Ministapels anpassen, haben Sie eine Iteration abgeschlossen.
Sobald Sie keine Ministapel mehr haben, haben Sie eine Epoche abgeschlossen. Dann mischen Sie Ihre Trainingsdaten erneut, wählen erneut Ihre Ministapel aus und iterieren erneut durch alle Stapel. Das wäre dann Ihre zweite Epoche.
- See previous answers
- Weitere Antworten anzeigen