11

Ich dachte, dass Batch-Größe nur für die Leistung ist. Je größer der Stapel, desto mehr Bilder werden gleichzeitig berechnet, um mein Netz zu trainieren. Aber ich habe festgestellt, dass meine Nettogenauigkeit besser wird, wenn ich meine Stapelgröße ändere. Also habe ich nicht verstanden, was Batchgröße ist. Kann mir jemand erklären, was Chargengröße ist?Was ist Batch-Größe in Caffe oder Convnets

+0

Soweit ich weiß, ist Batch-Größe die Größe von Bildern, die von der Festplatte abgerufen wird, wenn die Maschine Berechnungen mit den vorab abgerufenen Daten durchführt. Durch diese Technik versucht Caffe irgendwie, die Lesezeit von der Festplatte zu kompensieren. – Saeed

+0

Aber wenn ich meine Batchgröße ändere, bekomme ich eine bessere Genauigkeit. Ich hab es nicht verstanden. – Pasdf

Antwort

17

Caffe wird trainiert mit Stochastic-Gradient-Descend (SGD): das heißt, bei jeder Iteration berechnet es den (stochastischen) Gradienten der Parameter w.r.t der Trainingsdaten und macht eine Bewegung (= Änderung der Parameter) in Richtung des Gradienten.
Nun, wenn Sie die Gleichungen des Gradienten schreiben w.r.t. Trainingsdaten Sie werden feststellen, dass, um den Gradienten genau zu berechnen, müssen Sie alle Ihre Trainingsdaten bei jeder Iteration berechnen: das ist unerschwinglich Zeit, vor allem, wenn die Trainingsdaten größer und größer wird.
Um dies zu überwinden, approximiert SGD den exakten Gradienten auf stochastische Weise, indem nur ein kleiner Teil der Trainingsdaten bei jeder Iteration genommen wird. Dieser kleine Teil ist die Charge.
Je größer also die Losgröße, desto genauer ist die Gradientenschätzung bei jeder Iteration.

TL; DR: Die Batchgröße beeinflusst die Genauigkeit des geschätzten Gradienten bei jeder Iteration, ändert also die Batchgröße und beeinflusst somit den "Pfad" der Optimierung und kann die Ergebnisse des Trainingsprozesses verändern.

+0

. @ Shai - So 'Batch-Größe' sollte klein oder groß sein? Ich stoße sehr oft auf "auf Daten warten" und es wirkt sich auf meine Trainingszeit aus. AlexNet lief zweimal nacheinander. –

Verwandte Themen