Glossar App Entwicklung

Batch Normalization

Batch Normalization ist eine Technik in der maschinellen Lernmethode des Deep Learnings, die dazu beiträgt, Gradientenprobleme in neuronalen Netzwerken zu reduzieren. Sie wurde erstmals 2015 von Sergey Ioffe und Christian Szegedy vorgeschlagen und seitdem in vielen Deep-Learning-Architekturen eingesetzt.

Die Idee hinter der Batch-Normalisierung besteht darin, die Eingabe jedes Layers in einem neuronalen Netzwerk zu normalisieren, indem sie auf den Durchschnitt und die Standardabweichung der Werte in einer Minibatch-Stichprobe (einer zufälligen Teilmenge von Daten) des Trainingsdatensatzes skaliert wird. Durch diese Normalisierung wird verhindert, dass die Aktivierungen der Neuronen zu groß oder zu klein werden und somit das Gradientenverschwinden oder Gradientenexplodieren verursachen, was die Trainingszeit von neuronalen Netzwerken verlangsamen oder sogar verhindern kann.

Zusätzlich zur Gradientenstabilisierung hat die Batch-Normalisierung den Effekt, dass sie das Lernen beschleunigt und die benötigte Anzahl von Epochen reduziert, um eine bestimmte Genauigkeit zu erreichen. Sie kann somit als regulierendes Verfahren dienen, das Overfitting reduziert und somit die Generalisierungsfähigkeit von neuronalen Netzwerken verbessert.