Derin sinir ağlarında her mini-grup aktivasyonlarını standartlaştırarak eğitimi hızlandıran ve kararlı hâle getiren bir teknik.

Batch Normalization (Toplu Normalleştirme), derin sinir ağlarının eğitimini hızlandırmak ve kararlı hâle getirmek için 2015 yılında Ioffe ve Szegedy tarafından önerilen bir tekniktir. Temel fikir, her katmanın girdilerini mini-grup (mini-batch) bazında normalleştirmek ve böylece dahili kovaryat kaymasını (internal covariate shift) azaltmaktır. Bu teknik, daha yüksek öğrenme hızlarına olanak tanır, parametre başlatmaya duyarlılığı azaltır ve belirli durumlarda Dropout'a olan ihtiyacı ortadan kaldırabilir. Günümüzde derin öğrenme modellerinin neredeyse tamamında kullanılan standart bir bileşen hâline gelmiştir.

settings_suggest Nasıl Çalışır?

Batch Normalization, eğitim sırasında her mini-grup için şu adımları uygular: (1) Mini-gruptaki aktivasyonların ortalaması (μ) ve varyansı (σ²) hesaplanır. (2) Aktivasyonlar bu istatistiklere göre normalize edilir: x̂ = (x − μ) / √(σ² + ε). (3) Normalize edilmiş değerler, öğrenilebilir iki parametre olan gamma (γ) ve beta (β) ile yeniden ölçeklendirilip kaydırılır: y = γ·x̂ + β. Çıkarım (inference) aşamasında ise eğitim boyunca biriktirilen çalışan ortalama ve varyans değerleri kullanılır; bu sayede tek örnekli tahminler de tutarlı sonuçlar verir.

Temel Avantajları

speed Daha Hızlı Eğitim

Daha yüksek öğrenme hızları kullanılabilir; ağ yakınsama süresini önemli ölçüde kısaltır.

tune Başlatmaya Bağımsızlık

Ağırlık başlatma stratejisine duyarlılığı azaltarak modeli daha sağlam hâle getirir.

security Düzenlileştirme Etkisi

Hafif bir düzenlileştirici görevi görerek aşırı öğrenmeyi azaltabilir ve Dropout gereksinimini düşürür.

show_chart Gradyan Sorunlarını Hafifletir

Gradyan kaybı (vanishing gradient) ve patlaması (exploding gradient) sorunlarına karşı ağı daha dirençli kılar.

quiz Sıkça Sorulan Sorular

  • check_circle Batch Normalization aktivasyon fonksiyonundan önce mi sonra mı uygulanır?: Her iki yaklaşım da kullanılmaktadır. Orijinal makalede aktivasyon öncesi (pre-activation) önerilmiş olsa da pratikte aktivasyon sonrası (post-activation) da yaygındır. Mimariye göre en iyi strateji deneysel olarak belirlenir.
  • check_circle Küçük batch boyutlarında neden sorunlu olabilir?: Batch boyutu çok küçük olduğunda (1-2 örnek), hesaplanan ortalama ve varyans tahminleri güvenilmez olur. Bu durumlarda Layer Normalization veya Group Normalization gibi alternatifler tercih edilir.
  • check_circle Batch Normalization ile Layer Normalization arasındaki fark nedir?: Batch Normalization, bir mini-gruptaki tüm örnekler üzerinden normalize eder; bu nedenle batch boyutuna bağımlıdır. Layer Normalization ise her örneği kendi özellik boyutları üzerinden normalize eder; Transformer ve dil modellerinde daha yaygın kullanılır.
  • check_circle Eğitim ve çıkarım sırasında davranış farklı mıdır?: Evet. Eğitimde her mini-grubun istatistikleri anlık olarak kullanılırken, çıkarım sırasında eğitim boyunca biriktirilen kayan ortalama (running mean) ve kayan varyans (running variance) değerleri kullanılır.