Expert • Les 25

LayerNorm en RMSNorm: normalisatie in diepe neurale netwerken

Zonder normalisatie worden activaties in diepe netwerken al snel te groot of te klein, waardoor het trainingsproces instabiel wordt. Normalisatietechnieken zorgen dat activaties in een gezond bereik blijven — een van de cruciale ingrepen die het trainen van modellen met honderden lagen mogelijk maakt.

Batch Normalization: de voorloper

Batch Normalization (2015) normaliseert activaties per feature over de mini-batch: het trekt het gemiddelde van de batch af en deelt door de standaarddeviatie, gevolgd door leerbare schaal- en verschuivingsparameters. Dit werkt uitstekend voor convolutionele netwerken, maar heeft een kritieke zwakte: het gedrag hangt af van de batchgrootte. Bij kleine batches of sequentieverwerking — zoals in transformers — is BatchNorm onbruikbaar.

Layer Normalization: normaliseren per token

LayerNorm normaliseert niet over de batch, maar over de featuredimensie van een enkel voorbeeld. Voor een activatievector x berekent het het gemiddelde en de variantie over alle features van dat ene element, normaliseert, en past leerbare parameters toe. Dit werkt onafhankelijk van batchgrootte en is daardoor de standaard in taalmodellen — van BERT tot GPT. In de originele transformer zat LayerNorm na de aandachtslaag (Post-LN); moderne modellen plaatsen het ervoor (Pre-LN) voor stabielere training bij grote leersnelheden.

RMSNorm: sneller en eenvoudiger

RMSNorm (Root Mean Square Normalization) laat het berekenen van het gemiddelde weg en normaliseert alleen op basis van de RMS-waarde van de activaties. Dit maakt het ongeveer 10-15% sneller dan LayerNorm bij vergelijkbare kwaliteit. LLaMA, Mistral en andere moderne open-source modellen gebruiken RMSNorm standaard. De intuïtie: het gemiddelde van de activaties draagt weinig bij aan stabiliteit — het is de schaal die telt.

Waar normalisatie in de transformer zit

In een typisch transformer-blok wordt RMSNorm of LayerNorm twee keer toegepast: eenmaal voor het self-attention mechanisme en eenmaal voor het feed-forward netwerk. De residual stream — de doorgaande verbinding die blokken omzeilt — wordt genormaliseerd bij binnenkomst van elk blok. Dit Pre-Norm patroon maakt gradiënten stabieler en maakt training met minder learning rate warmup mogelijk.