W layer normalization chodzi o to, żeby znormalizować do mean=0, std=1 cechy per jedna instancja.

Cechy wejściowe do sieci zawsze są normalizowane (bo jeśli jedna zmienna miałaby zakres 0-1 a druga 200-300, to sieci długo by zajęło dostosowanie wag). Batch Normalization to jest przeniesienie tego pomysłu na warstwy ukryte, z tym że batch normalization działa faktycznie per batch, a normalizacja wejścia do modelu to jest taki Batch Normalization zrobione na batchu równym wielkości datasetu.

Pojawia się jednak pytanie co zrobić w przypadku RNN albo Transformera, no bo tam w jednym batchu sekwencje są różnej długości i pojawia się problem jak to normalizować. Layer Normalization rozwiązuje ten problem bo działa per jeden timestep per instancja, a nie per batch.

Layer Normalization powinno przyspieszać proces uczenia.

Źródło: Layer Normalization