Normalisatielagen batch norm layer norm
Batch Normalization
Batch Normalization (Batch Norm) is een techniek die in 2015 werd geïntroduceerd om de training van diepe neurale netwerken te versnellen en te stabiliseren. Het normaliseert de activaties van elke laag over de mini-batch: het trekt het gemiddelde af en deelt door de standaarddeviatie. Vervolgens worden twee leerbare parameters (gamma en beta) toegepast om de normalisatie ongedaan te maken als dat nodig is. Batch Norm vermindert de interne covariate shift, het fenomeen waarbij de verdeling van laagactivaties verandert tijdens de training. Hierdoor kan een hogere leersnelheid worden gebruikt en is minder zorgvuldige initialisatie nodig. Het heeft ook een regulariserend effect, waardoor dropout soms minder nodig is. Batch Norm wordt veel gebruikt in CNN's. Nadelen zijn de afhankelijkheid van de batchgrootte: bij kleine batches zijn de statistieken onbetrouwbaar. Ook werkt Batch Norm minder goed voor sequentiële data zoals RNN's. Daarom zijn er alternatieven ontwikkeld zoals Layer Norm, Group Norm en Instance Norm.
Layer Normalization en varianten
Layer Normalization (Layer Norm) normaliseert de activaties over de features in plaats van over de batch. Voor elke sample worden het gemiddelde en de standaarddeviatie berekend over alle neuronen in een laag. Hierdoor is Layer Norm onafhankelijk van de batchgrootte en werkt het goed voor sequentiële data. Layer Norm is de standaard in Transformers, waar het wordt toegepast na elke sublaag (self-attention en feedforward). Het is ook gebruikt in RNN's en reinforcement learning. Group Norm deelt de kanalen op in groepen en normaliseert binnen elke groep; het is een compromis tussen Batch Norm en Instance Norm en werkt goed bij kleine batches. Instance Norm normaliseert per kanaal en wordt gebruikt in stijltransformatie. Weight Norm normaliseert de gewichten in plaats van de activaties. RMS Norm (Root Mean Square Normalization) is een vereenvoudigde variant van Layer Norm die alleen de standaarddeviatie gebruikt, zonder het gemiddelde af te trekken. Het wordt gebruikt in modellen zoals Llama. Normalisatielagen zijn een essentieel onderdeel van moderne neurale netwerken en dragen bij aan snellere en stabielere training.