Layer Normalization Nedir? Transformer'larda Normalizasyon Tekniği (Katman Normalizasyonu)

Transformer ve derin öğrenme modellerinde her örnek için özellik boyutu üzerinden yapılan normalizasyon tekniği.

Layer Normalization (Katman Normalizasyonu), derin öğrenme modellerinde eğitimi hızlandırmak ve kararlılaştırmak için kullanılan bir normalizasyon yöntemidir. Jimmy Ba ve Geoffrey Hinton tarafından 2016 yılında önerilen bu teknik, her bir veri örneğinin aktivasyonlarını özellik boyutu (feature dimension) üzerinden normalleştirir; bu sayede batch boyutundan tamamen bağımsız biçimde çalışır. Batch Normalization'dan farklı olarak değişken uzunluklu dizilerle ve tek örneklik (batch size=1) senaryolarla sorunsuz çalışması, Layer Norm'u Transformer, GPT, BERT ve LLaMA gibi büyük dil modellerinin vazgeçilmez bileşeni haline getirmiştir.

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.