Hansı normalizasiya növləri mövcuddur (Batch, Layer, Instance, Group, RMSNorm)?
sobes.tech Süni İntellekt
AI-dan cavab
Neyron şəbəkələrində normalizasiya təlimi stabilləşdirməyə və sürətləndirməyə kömək edir, aktivləşdirmənin daxili paylanmasının dəyişməsini azaldır. Əsas normalizasiya növləri:
-
Partiya Normalizasiyası (Batch Normalization, BatchNorm) — partiya üzrə normalizasiya. Hər xüsusiyyət üçün mini-partiya üzrə orta və dispersiyanı hesablayır, sonra dəyərləri miqyaslandırır və köçürür. Effektivdir, amma partiya ölçüsündən asılıdır.
-
Lay Normalizasiyası (Layer Normalization, LayerNorm) — lay üzrə normalizasiya. Hər nümunə üçün bütün laydakı neyronlar üçün statistikaları hesablayır, partiya ölçüsündən asılı deyil. Tez-tez RNN və transformerlərdə istifadə olunur.
-
İnstance Normalizasiyası (Instance Normalization, InstanceNorm) — nümunə və kanal üzrə normalizasiya, çox vaxt şəkil emalı tapşırıqlarında, məsələn, stil transferində istifadə olunur.
-
Qrup Normalizasiyası (Group Normalization, GroupNorm) — kanalları qruplara bölür və hər qrup daxilində normalizasiya edir. Kiçik partiya ölçüləri ilə stabil işləyir.
-
RMSNorm (Root Mean Square Normalization) — dəyərlərin kvadrat ortalamasının kvadrat kökü ilə normalizasiya, ortalamadan çıxmadan. LayerNorm-un sadələşdirilmiş variantı, bəzən transformerlərdə daha yaxşı nəticələr verir.
PyTorch-də BatchNorm nümunəsi:
import torch
import torch.nn as nn
batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10) # 32 nümunədən ibarət partiya
output = batch_norm(x)