Entdecke die Auswirkungen der Stapelgröße auf Deep Learning. Optimiere die Trainingsgeschwindigkeit, die Speichernutzung und die Modellleistung effizient.
Beim maschinellen Lernen, insbesondere beim Training von Deep-Learning-Modellen, bezieht sich die Stapelgröße auf die Anzahl der Trainingsbeispiele, die in einer Iteration verwendet werden. Anstatt den gesamten Datensatz auf einmal zu verarbeiten, was oft rechnerisch nicht machbar ist, werden die Daten in kleinere, überschaubare Gruppen oder Stapel aufgeteilt. Die Parameter des Modells werden nach der Verarbeitung jedes Stapels aktualisiert, was das Training effizienter macht, vor allem bei großen Datensätzen, wie sie beim Computer Vision üblich sind.
Die Wahl einer geeigneten Batchgröße ist ein entscheidender Hyperparameter, der die Dynamik des Modelltrainings, die Ressourcennutzung und die endgültige Leistung erheblich beeinflusst.
Bei der Auswahl der optimalen Stapelgröße gilt es, einen Kompromiss zwischen Rechenleistung, Speicherplatzbedarf und Modellgeneralisierung zu finden. Es gibt nicht die eine "beste" Stapelgröße; sie hängt oft von dem jeweiligen Datensatz, der Modellarchitektur und der verfügbaren Hardware ab.
Es ist wichtig, die Losgröße von verwandten Konzepten zu unterscheiden:
Bei Objekterkennungsaufgaben, wie sie zum Beispiel von Ultralytics YOLO Modellen durchgeführt werden, wirkt sich die Stapelgröße direkt darauf aus, wie viele Bilder beim Training gleichzeitig verarbeitet werden. Wenn du zum Beispiel ein Modell wie YOLOv8 auf einem Datensatz wie VisDrone trainiert, kann eine größere Stapelgröße (z. B. 32 oder 64) die Trainingszeit pro Epoche auf leistungsfähiger Hardware erheblich beschleunigen. Allerdings ist eine sorgfältige Überwachung des GPU erforderlich. Mit Plattformen wie Ultralytics HUB kann das Training effektiv verwaltet und nachverfolgt werden.
Beim Training eines Bildklassifizierungsmodells, z. B. mit dem ImageNet-Datensatz, beeinflusst die Stapelgröße die Stabilität und Konvergenz des Trainingsprozesses. Ein Forscher könnte mit einer Stapelgröße von 256 beginnen und diese anhand der Beobachtung des Verhaltens der Verlustfunktion und der Validierungsgenauigkeit anpassen. Kleinere Stapel können für Modelle mit komplexer Architektur oder bei begrenzten Hardware-Ressourcen wie in einer Google Colab-Umgebung notwendig sein.