Ich habe das Batch-Normalisierungspapier ( 1) gelesen und nicht verstanden, dass es notwendig ist, gleitende Durchschnitte zu verwenden, um die Genauigkeit des Modells zu verfolgen, und selbst wenn ich akzeptiere, dass dies das Richtige ist, verstehe ich es nicht was sie genau tun.
Nach meinem Verständnis (was ich falsch finde) wird in dem Papier erwähnt, dass die Bevölkerungsstatistik und nicht die Mini-Batch-Statistik verwendet wird, sobald das Modell das Training beendet hat. Nach einigen Diskussionen über unvoreingenommene Schätzungen (die mir tangential erscheinen und nicht verstehen, warum das so ist) sagen sie:
Stattdessen verfolgen wir die Genauigkeit des Modells beim Trainieren mit gleitenden Durchschnitten.
Das ist der Teil, der mich verwirrt. Warum führen sie gleitende Durchschnitte durch, um die Genauigkeit des Modells zu schätzen und über welchen Datensatz?
Normalerweise verfolgen die Benutzer bei der Schätzung der Generalisierung ihres Modells lediglich den Validierungsfehler ihres Modells (und stoppen möglicherweise frühzeitig ihren Gradientenabstieg, um zu regulieren). Es scheint jedoch, dass die Chargennormalisierung etwas völlig anderes bewirkt. Kann jemand erklären, was und warum es etwas anderes macht?
1 : Ioffe S. und Szegedy C. (2015),
"Batch-Normalisierung: Beschleunigung des Deep-Network-Trainings durch Reduzierung der internen Covariate-Verschiebung", Ergebnisse
der 32. Internationalen Konferenz über maschinelles Lernen , Lille, Frankreich, 2015.
Journal of Machine Learning Research: W & CP-Band 37