Ի՞նչ տեսակների նորմալիզացիա կա (Batch, Layer, Instance, Group, RMSNorm):
sobes.tech AI
Պատասխան AI-ից
Նեյրոնային ցանցերում նորմալիզացիան օգնում է կայունացնել և արագացնել ուսուցումը՝ նվազեցնելով ակտիվացումների ներսի տարածման տեղաշարժը։ Հիմնական նորմալիզացիայի տեսակները՝
-
Բատչ Նորմալիզացիա (Batch Normalization, BatchNorm) — բատչի վրա հիմնված նորմալիզացիա։ Հաշվում է միջին արժեքը և տարբերությունը յուրաքանչյուր հատկության համար մինի-բատչում, ապա սքեյլավորում և տեղափոխում արժեքները։ Փորձարկված է, բայց կախված է բատչի չափից։
-
Ենթակառուցվածքի նորմալիզացիա (Layer Normalization, LayerNorm) — շերտի վրա հիմնված նորմալիզացիա։ Հաշվում է բոլոր նյարդային նմուշների վիճակագրությունը յուրաքանչյուր շերտի համար՝ անկախ բատչի չափից։ Շատ հաճախ օգտագործվում է RNN և փոխակերպիչներում։
-
Ինստանս նորմալիզացիա (Instance Normalization, InstanceNorm) — նմուշի և ալիքի վրա հիմնված նորմալիզացիա, հաճախ կիրառվում է պատկերային աշխատանքներում՝ օրինակ՝ ոճի փոխանցում։
-
Խմբի նորմալիզացիա (Group Normalization, GroupNorm) — բաժանում է ալիքները խմբերի և նորմալիզացնում յուրաքանչյուր խմբի ներսում։ կայուն է փոքր բատչի չափերով։
-
RMSNorm (Root Mean Square Normalization) — նորմալիզացիա՝ օգտագործելով արժեքների քառակուսի միջինի քառակուսին, առանց միջինից հանելու։ Պարզեցված տարբերակ է LayerNorm-ի, որը երբեմն տալիս է ավելի լավ արդյունքներ փոխակերպիչներում։
PyTorch-ում BatchNorm-ի օրինակ՝
import torch
import torch.nn as nn
batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10) # 32 օրինակով բատչ
output = batch_norm(x)