Aus vielen Diskussionen habe ich ähnliche Schlussfolgerungen gezogen, dass die Konvergenz von SGD mit zunehmender Minibatch-Größe tatsächlich schwieriger / schlechter wird, zum Beispiel in diesem Artikel und in dieser Antwort . Ich habe auch von Leuten gehört, die im frühen Stadium Tricks wie kleine Lernraten oder Losgrößen einsetzten, um diese Schwierigkeit bei großen Losgrößen anzugehen.
Dies erscheint jedoch kontraintuitiv, da der durchschnittliche Verlust eines Minibatches als Annäherung an den erwarteten Verlust über die Datenverteilung betrachtet werden kann:
Je größer die Losgröße, desto genauer soll sie sein. Warum ist das in der Praxis nicht der Fall?
Hier sind einige meiner (wahrscheinlich falschen) Gedanken, die zu erklären versuchen.
Die Parameter des Modells hängen stark voneinander ab. Wenn der Stapel zu groß wird, wirkt sich dies auf zu viele Parameter auf einmal aus, sodass es für die Parameter schwierig ist, eine stabile inhärente Abhängigkeit zu erreichen. (wie das interne Kovariatenverschiebungsproblem, das im Batch-Normalisierungspapier erwähnt wird )
Oder wenn fast alle Parameter in jeder Iteration verantwortlich sind, tendieren sie dazu, redundante implizite Muster zu lernen, wodurch die Kapazität des Modells verringert wird? (Ich meine, bei Problemen mit der Ziffernklassifizierung sollten einige Muster für Punkte verantwortlich sein, andere für Kanten, aber wenn dies passiert, versucht jedes Muster, für alle Formen verantwortlich zu sein).
Oder liegt es daran, dass die Minibatches, wenn sich die Stapelgröße dem Maßstab des Trainingssatzes annähert, nicht mehr als aus der Datenverteilung ersichtlich sind, da eine große Wahrscheinlichkeit für korrelierte Minibatches besteht?
Update
Wie in der Antwort von Benoit Sanchez hervorgehoben, ist ein wichtiger Grund, dass große Minibatches mehr Berechnungen erfordern, um ein Update abzuschließen, und die meisten Analysen verwenden zum Vergleich eine feste Anzahl von Trainingsepochen.
Diese Arbeit (Wilson und Martinez, 2003) zeigt jedoch, dass eine größere Stückzahl trotz einer ausreichenden Anzahl von Trainingsepochen immer noch leicht nachteilig ist. Ist das generell der Fall?