Millised normaliseerimise tüübid on olemas (Batch, Layer, Instance, Group, RMSNorm)?
sobes.tech AI
Vastus AI-lt
Närvivõrkudes normaliseerimine aitab stabiliseerida ja kiirendada õppimist, vähendades sisemise aktiveerimise jaotuse nihkeid. Peamised normaliseerimise tüübid:
-
Partii normaliseerimine (Batch Normalization, BatchNorm) — normaliseerimine partii kohta. Arvutab iga omaduse jaoks mini-partii keskmise ja dispersiooni ning seejärel skaleerib ja nihutab väärtusi. Tõhus, kuid sõltub partii suurusest.
-
Kihinormeerimine (Layer Normalization, LayerNorm) — kihinormeerimine. Arvutab statistika kõigi kihi neuronite kohta iga üksiku näite jaoks, sõltumata partii suurusest. Kasutatakse sageli RNN-ides ja transformaatorses.
-
Näite normaliseerimine (Instance Normalization, InstanceNorm) — näite ja kanali põhine normaliseerimine, sageli kasutatav pilditöötlusülesannetes, näiteks stiili ülekandes.
-
Rühma normaliseerimine (Group Normalization, GroupNorm) — jagab kanalid gruppidesse ja normaliseerib iga grupi sees. Stabiilne väikeste partii suurustega.
-
RMSNorm (Root Mean Square Normalization) — normaliseerimine väärtuste ruutkeskmise ruutjuure järgi, ilma keskmist arvestamata. Lihtsustatud alternatiiv LayerNorm-ile, mõnikord annab paremaid tulemusi transformaatorses.
PyTorch näide BatchNorm-ist:
import torch
import torch.nn as nn
batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10) # 32 näidet
output = batch_norm(x)