Sobes.tech
Middle — Senior

Kādi normalizācijas veidi pastāv (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

Atbilde no AI

Neironu tīklu normalizācija palīdz stabilizēt un paātrināt apmācību, samazinot iekšējo aktivitāšu izkropļojumu. Galvenie normalizācijas veidi:

  • Partijas normalizācija (Batch Normalization, BatchNorm) — normalizācija pēc partijas. Aprēķina vidējo un dispersiju katrai īpašībai mini-partijā, pēc tam mērogo un pārvieto vērtības. Efektīva, bet atkarīga no partijas lieluma.

  • Slāņa normalizācija (Layer Normalization, LayerNorm) — slāņa normalizācija. Aprēķina statistiku visiem slāņa neironiem katram atsevišķam piemēram, neatkarīgi no partijas lieluma. Bieži lieto RNN un transformatoros.

  • Piemēra normalizācija (Instance Normalization, InstanceNorm) — normalizācija pēc piemēra un kanāla, bieži lieto attēlu apstrādē, piemēram, stila pārnesē.

  • Grupu normalizācija (Group Normalization, GroupNorm) — sadala kanālus grupās un normalizē katras grupas iekšienē. Stabilāka ar mazākiem partijas lielumiem.

  • RMSNorm (Root Mean Square Normalization) — normalizācija pēc kvadrātu vidējās vērtības saknes, bez vidējās vērtības atņemšanas. Vienkāršota LayerNorm alternatīva, dažreiz sniedz labākus rezultātus transformatoros.

PyTorch piemērs ar BatchNorm:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 piemēru partija
output = batch_norm(x)