Sobes.tech
Middle — Senior

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)