Mini-Batch

Ein Mini-Batch bezeichnet eine kleine, handhabbare Teilmenge der Trainingsdaten, die bei der Schulung von maschinellen Lernalgorithmen verwendet wird. Während des Trainings eines Modells, insbesondere bei der Verwendung von Gradientenabstiegsverfahren, ist es üblich, die Daten entweder als einzelne Beispiele (stochastischer Gradientenabstieg), als gesamten Datensatz (Batch-Gradientenabstieg) oder als eine Zwischengröße, den Mini-Batch, zu verarbeiten.

Der Mini-Batch dient als Kompromiss zwischen der genauen, aber rechenintensiven Verwendung des gesamten Datensatzes und der ineffizienten, aber flexiblen Verarbeitung einzelner Beispiele. Durch die Verwendung eines Mini-Batches wird die Varianz in den Gradientenschätzungen reduziert, was zu einem stabileren und effizienteren Trainingsprozess führt. Darüber hinaus ermöglicht die Mini-Batch-Verarbeitung die parallele Verarbeitung von Daten, was die Schulungsgeschwindigkeit auf modernen Hardware-Komponenten wie Grafikprozessoren (GPUs) erheblich beschleunigen kann.

Die Wahl der Batch-Größe ist entscheidend. Eine zu kleine Batch-Größe kann die allgemeine Gültigkeit des Modells beeinträchtigen, während eine zu große Batch-Größe die Speicheranforderungen erhöhen und die Fähigkeit des Modells zur Anpassung an die Daten verringern kann. Somit spielt der Mini-Batch eine zentrale Rolle bei der Balance zwischen Rechenleistung und Modellleistung in maschinellen Lernalgorithmen.