Layer Normalization Nedir?
Layer Normalization (LN), bir sinir ağının belirli bir katmanındaki nöron aktivasyonlarını tek bir örnek (sample) üzerinde normalleştiren bir tekniktir. 2016 yılında Jimmy Ba ve Geoffrey Hinton tarafından önerilen bu yöntem, özellikle Tekrarlayan Sinir Ağları (RNN) ve Transformer mimarilerindeki Batch Normalization sorunlarını çözmek için geliştirilmiştir. Layer Norm, bir örnekteki tüm özellik değerlerinin ortalamasını (μ) ve varyansını (σ²) hesaplayarak her aktivasyonu bu istatistiklere göre yeniden ölçeklendirir.
Batch Normalization ile Farkı
Batch Normalization, normalizasyonu batch boyutu (N) üzerinden yapar; yani aynı pozisyondaki aktivasyonları farklı örnekler arasında normalleştirir. Bu yaklaşım, küçük batch'lerde istatistiksel gürültüye yol açar ve değişken uzunluklu dizilerde (örn. metin) uygulanması güçtür. Layer Normalization ise normalleştirmeyi her örnek için bağımsız olarak özellik boyutu (D) üzerinden yapar. Böylece batch boyutuna hiç bağımlı değildir ve batch size = 1 ile bile güvenilir biçimde çalışır.
Matematiksel Formül
Layer Norm'un hesabı üç adımda gerçekleşir: (1) Ortalama: μ = (1/D) × Σ xᵢ — örnekteki tüm D özelliğin ortalaması alınır. (2) Varyans: σ² = (1/D) × Σ (xᵢ − μ)² — sapmalar hesaplanır. (3) Normalleştirme: x̂ᵢ = (xᵢ − μ) / √(σ² + ε) — aktivasyonlar normalize edilir. Son adımda öğrenilebilir parametreler γ (ölçek/gain) ve β (bias/shift) uygulanarak çıktı ŷ = γ × x̂ + β elde edilir. Epsilon (ε ≈ 1e-5) sıfıra bölme hatasını önler.
Transformer'larda Kullanımı
Transformer mimarisi, her Attention ve Feed-Forward bloğunun ardından Layer Norm kullanır. Orijinal Transformer (Vaswani et al. 2017) Post-LN kullandı: alt-katman çıktısı hesaplandıktan sonra, residual bağlantıyla toplanıp ardından normalleştirme yapılır. Ancak derin modellerde Post-LN eğitimi kararsızlaştırabilir. Bu nedenle modern modeller (GPT-3, LLaMA, Mistral) Pre-LN tercih eder: normalleştirme alt-katmana girmeden önce uygulanır. Bu değişiklik, öğrenme oranı ısınması (warmup) gerekliliğini azaltır ve eğitimi daha kararlı kılar.
Pre-LN ve Post-LN
Post-LN (Orijinal): Residual → LayerNorm sırası. Gradyan akışı daha zordur, büyük modellerde dengesizlik riski taşır. Pre-LN (Modern): LayerNorm → Sublayer → Residual sırası. Gradyan akışı daha kararlıdır; daha az warmup gerektirir. GPT-2, GPT-3, LLaMA, Mistral ve diğer popüler LLM'lerin tamamı Pre-LN kullanır. Bir üçüncü varyant olan RMSNorm (Root Mean Square Layer Norm), ortalama çıkarma adımını tamamen atlayarak yalnızca kök-kare normalizasyonu uygular; hesaplama maliyetini düşürür. LLaMA 2 ve Gemma gibi modeller RMSNorm tercih eder.
Avantajları ve Sınırlılıkları
Avantajları: Batch boyutundan bağımsız çalışır; batch size = 1 veya değişken uzunluklu diziler için idealdir. Eğitimi hızlandırır ve başlangıç öğrenme oranına duyarlılığı azaltır. Gradient vanishing/exploding problemine karşı direnç sağlar. Transformer, LLM, RNN gibi sıralı modellerde Batch Norm'dan üstündür. Sınırlıkları: Konvolüsyonel ağlar (CNN) ve büyük batch'li görü modellerinde Batch Norm genellikle Layer Norm'dan daha iyi performans gösterir. Büyük özellik boyutlarında hesaplama maliyeti artabilir; bu durum RMSNorm'un ortaya çıkış nedenlerinden biridir.