Glossar

Chargengröße

Entdecke die Auswirkungen der Stapelgröße auf Deep Learning. Optimiere die Trainingsgeschwindigkeit, die Speichernutzung und die Modellleistung effizient.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

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 Bedeutung der Chargengröße

Die Wahl einer geeigneten Batchgröße ist ein entscheidender Hyperparameter, der die Dynamik des Modelltrainings, die Ressourcennutzung und die endgültige Leistung erheblich beeinflusst.

  • Trainingsgeschwindigkeit: Größere Stapelgrößen führen in der Regel zu schnelleren Trainingsepochen, weil sie eine bessere Nutzung der parallelen Verarbeitungsmöglichkeiten von Hardware wie GPUs ermöglichen. Es werden mehr Daten pro Berechnungszyklus verarbeitet.
  • Speicherverbrauch: Eine direkte Folge größerer Batches ist der erhöhte Speicherverbrauch. Die Stapelgröße muss in den verfügbaren Hardwarespeicher (z. B. GPU VRAM) passen. Ein Überschreiten dieser Grenze führt zu Fehlern oder verlangsamt das Training drastisch. Einige Plattformen bieten Anleitungen zur Optimierung der Speichernutzung.
  • Modellleistung und Verallgemeinerung: Kleinere Losgrößen bringen mehr Rauschen in die Gradientenschätzung während des Trainings mit Hilfe von Techniken wie dem Stochastischen Gradientenabstieg (SGD). Dieses Rauschen kann als eine Art Regularisierung wirken und dem Modell helfen, scharfe Minima in der Verlustlandschaft zu vermeiden und besser auf unbekannte Daten zu verallgemeinern, was das Risiko einer Überanpassung verringert. Sehr kleine Stapel können das Training jedoch instabil machen. Größere Stapel liefern eine genauere Gradientenschätzung, konvergieren aber möglicherweise zu weniger optimalen Minima und erfordern Techniken wie das Aufwärmen der Lernrate, um Stabilität zu gewährleisten.

Die Wahl der richtigen Losgröße

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.

Losgröße vs. andere verwandte Begriffe

Es ist wichtig, die Losgröße von verwandten Konzepten zu unterscheiden:

  • Iteration: Steht für eine einzelne Aktualisierung der Gewichte des Modells. In Standardtrainingsschleifen entspricht eine Iteration der Verarbeitung eines Datenstapels und der Durchführung von Backpropagation.
  • Epoche: Steht für einen vollständigen Durchlauf durch den gesamten Trainingsdatensatz. Wenn ein Datensatz 1000 Proben enthält und die Stapelgröße 100 beträgt, sind 10 Iterationen erforderlich, um eine Epoche abzuschließen (1000 / 100 = 10).

Anwendungen in der realen Welt

Objekt-Erkennung

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.

Bildklassifizierung

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.

Alles lesen