Sobes.tech
Middle — Senior

Hangi normalizasyon türleri vardır (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yapay sinir ağlarında normalizasyon, aktivasyonların iç dağılımındaki kaymayı azaltarak eğitimi stabilize etmeye ve hızlandırmaya yardımcı olur. Temel normalizasyon türleri:

  • Batch Normalization (BatchNorm) — toplu normalizasyon. Her özellik için mini-batch boyunca ortalama ve varyansı hesaplar, ardından değerleri ölçeklendirir ve kaydırır. Etkilidir, ancak batch boyutuna bağlıdır.

  • Layer Normalization (LayerNorm) — katman bazlı normalizasyon. Her örnek için bir katmandaki tüm nöronlar için istatistikleri hesaplar, batch boyutuna bağlı değildir. Sıkça RNN ve dönüştürücülerde kullanılır.

  • Instance Normalization (InstanceNorm) — örnek ve kanal bazlı normalizasyon, genellikle görüntü işleme görevlerinde, örneğin stil transferinde kullanılır.

  • Group Normalization (GroupNorm) — kanalları gruplara ayırır ve her grup içinde normalizasyon yapar. Küçük batch boyutlarında stabil çalışır.

  • RMSNorm (Root Mean Square Normalization) — değerlerin karelerinin ortalamasının kareköküyle normalizasyon, ortalamayı çıkarmadan. LayerNorm'a basitleştirilmiş alternatif, bazen dönüştürücülerde daha iyi sonuçlar verir.

PyTorch'ta BatchNorm örneği:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 örneklik batch
output = batch_norm(x)