Batch Normalization ist eine Technik, die in neuronalen Netzwerken verwendet wird, um die Trainingsgeschwindigkeit zu erhöhen und die Stabilität des Modells zu verbessern. Sie normalisiert die Eingaben jeder Schicht, indem sie den Mittelwert und die Standardabweichung der Aktivierungen innerhalb eines Mini-Batches verwendet. Hier sind einige wichtige Aspekte des Verhaltens von Batch Normalization: 1. **Normalisierung**: Innerhalb eines Mini-Batches werden die Eingaben normalisiert, sodass sie einen Mittelwert von 0 und eine Standardabweichung von 1 haben. Dies hilft, die Verteilung der Eingaben zu stabilisieren und verhindert, dass die Aktivierungen zu groß oder zu klein werden. 2. **Skalierung und Verschiebung**: Nach der Normalisierung werden die Daten skaliert und verschoben, um die Repräsentationsfähigkeit des Modells zu erhalten. Dies geschieht durch lernbare Parameter, die während des Trainings optimiert werden. 3. **Reduzierung des internen Covariate Shifts**: Batch Normalization reduziert das Problem des internen Covariate Shifts, bei dem sich die Verteilung der Eingaben in jeder Schicht während des Trainings ändert. Dies führt zu stabileren und schnelleren Trainingsprozessen. 4. **Regulierung**: Batch Normalization hat einen regulierenden Effekt und kann die Notwendigkeit anderer Regularisierungstechniken wie Dropout verringern. 5. **Training und Inferenz**: Während des Trainings werden die Statistiken (Mittelwert und Standardabweichung) aus den Mini-Batches berechnet. Während der Inferenz (Testphase) werden die globalen Statistiken verwendet, die während des Trainings gesammelt wurden. Weitere Informationen findest du in der Originalarbeit von Sergey Ioffe und Christian Szegedy: [Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift](https://arxiv.org/abs/1502.03167).