Sobes.tech
Middle — Senior

Welke soorten normalisatie bestaan er (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

Antwoord van AI

Normalisatie in neurale netwerken helpt bij het stabiliseren en versnellen van training, door interne verschuiving van activaties te verminderen. De belangrijkste soorten normalisatie:

  • Batch Normalization (BatchNorm) — normalisatie per batch. Berekent de gemiddelde en variantie per mini-batch voor elke feature, en schaalt en verschuift vervolgens de waarden. Effectief, maar afhankelijk van de batchgrootte.

  • Layer Normalization (LayerNorm) — normalisatie per laag. Berekent statistieken voor alle neuronen in een laag voor elk individueel voorbeeld, onafhankelijk van batchgrootte. Vaak gebruikt in RNN's en transformers.

  • Instance Normalization (InstanceNorm) — normalisatie per voorbeeld en kanaal, vaak toegepast in beeldverwerkingstaken, bijvoorbeeld in stijltransfer.

  • Group Normalization (GroupNorm) — verdeelt kanalen in groepen en normaliseert binnen elke groep. Werkt stabiel bij kleine batchgroottes.

  • RMSNorm (Root Mean Square Normalization) — normaliseert op basis van de wortel van het gemiddelde van de kwadraten van de waarden, zonder het gemiddelde af te trekken. Een vereenvoudigde variant van LayerNorm, die soms betere resultaten geeft in transformers.

Voorbeeld van BatchNorm in PyTorch:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # batch van 32 voorbeelden
output = batch_norm(x)