Koje vrste normalizacije postoje (Batch, Layer, Instance, Group, RMSNorm)?
sobes.tech АИ
Одговор од АИ
Normalizacija u neuronskim mrežama pomaže stabilizaciji i ubrzanju obuke, smanjujući unutrašnje pomeranje distribucije aktivacija. Glavne vrste normalizacije:
-
Batch Normalization (BatchNorm) — normalizacija po seriji. Računa srednju vrednost i dispersiju za svaku osobinu na mini-seriji, zatim skalira i pomera vrednosti. Efikasna je, ali zavisi od veličine serije.
-
Layer Normalization (LayerNorm) — normalizacija po sloju. Računa statistike za sve neurone sloja za svaki pojedinačni primer, nezavisno od veličine serije. Često se koristi u RNN i transformatorima.
-
Instance Normalization (InstanceNorm) — normalizacija po primeru i kanalu, često primenjivana u zadacima obrade slika, na primer u transferu stila.
-
Group Normalization (GroupNorm) — deli kanale u grupe i normalizuje unutar svake grupe. Stabilno radi pri malim veličinama serije.
-
RMSNorm (Root Mean Square Normalization) — normalizacija po korenu iz srednje vrednosti kvadrata, bez oduzimanja srednje vrednosti. Pojednostavljena alternativa LayerNorm, ponekad daje bolje rezultate u transformatorima.
Primer BatchNorm u PyTorch:
import torch
import torch.nn as nn
batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10) # serija od 32 primera
output = batch_norm(x)