2017-01-16 2 views

Antwort

1

Im Allgemeinen werden Deep Learning-Algorithmen auf GPUs ausgeführt, die über begrenzten Speicher verfügen und daher nur eine begrenzte Anzahl von Eingabedatenbeispielen (im allgemein als Stapelgröße definierten Algorithmus) geladen werden können.

Im Allgemeinen verringert eine größere Batchgröße die Gesamtberechnungszeit (da die internen Matrixmultiplikationen parallel in der GPU ausgeführt werden, wird also bei großen Batchgrößen die Zeit beim Lesen/Schreiben von Gradienten und möglicherweise bei einigen anderen Operationen gespeichert) .

Ein weiterer wahrscheinlicher Nutzen der großen Losgröße ist: In Multi-Class-Klassifikationsproblemen, wenn die Anzahl der Klassen groß ist, eine größere Chargengröße macht Algorithmus besser verallgemeinert (vermeiden technisch Überanpassung) über die verschiedenen Klassen (dabei ist es eine Standardtechnik, eine gleichmäßige Verteilung von Klassen in einem Stapel zu halten.

Bei der Entscheidung über die Batch-Größe gibt es noch einige andere Faktoren, die ins Spiel kommen: Lernrate und Art der Optimierungsmethode.

Ich hoffe, dies beantwortet Ihre Frage in gewissem Umfang!

Verwandte Themen