Batch Normalization: Derin Ağların Sessiz Katalizörü
2015'te Google'dan gelen üç sayfalık fikir, 1000 katmanlı sinir ağlarının eğitilebilmesinin yolunu açtı.

Derin ağı eğitmek niye zordu?
2014'e kadar 10 katmandan derin sinir ağı eğitmek mümkün değildi. 20 katman? Hiç çalışmazdı. Yakınsama yok, kayıp infinity, NaN her yerde.
Sorun "internal covariate shift" olarak adlandırılmıştı: her katman bir önceki katmanın çıkışına bakıyor, ama o çıkış eğitim sırasında sürekli değişiyor. Yani her katman hareketli hedefi öğrenmeye çalışıyor.
Sergey Ioffe ve Christian Szegedy 2015'te Google'da bir makale yayımladı. Adı: "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift". Üç sayfalık ana fikir tüm derin öğrenmeyi değiştirdi.
Algoritma
Her katmanın çıkışını mini-batch içinde normalize et: ortalama 0, varyans 1.
Mini-batch boyutu , katman çıkışları . Her boyut için ayrı ayrı:
Sonra öğrenilen ölçek ve kaydırma uygula:
her boyut için öğrenilen parametreler — model normalizasyonu tersine çevirmeyi öğrenebilir, yani gerekirse.
Etki — anında kuşak değişimi
Batch normalization makalesinden sonra bir ay içinde:
- Inception-v3: %4 daha doğru, %14 daha hızlı eğitim.
- VGG: Eğitim zamanı yarıya düşer.
- ResNet (2015): Batch norm olmadan 152 katmanlı ResNet mümkün değildi. Modern derin mimari onunla doğdu.
Bir yıl içinde her büyük CV modeli batch norm kullanır oldu.
Neden işe yarar — gerçek sebep
Ioffe ve Szegedy'nin "internal covariate shift" açıklaması yanlış çıktı. 2018'de MIT'den Santurkar ve ark. gösterdi: batch norm bu shift'i azaltmıyor, hatta bazen artırıyor. Asıl etki başka:
Kayıp yüzeyini yumuşatıyor. Gradyanlar daha az gürültülü, daha tahmin edilebilir. Bu, daha büyük öğrenme oranı ile eğitime izin verir.
Bu yeni açıklama akademik tartışmaya konu oldu. Pratikte: işe yarıyor, sebep ikinci derecede.
Sorunlar
Batch normalization güçlü ama mükemmel değil:
- Küçük batch sorunu. Batch 4-8 ise istatistikler güvenilmez, eğitim bozulur.
- Test farkı. Eğitimde batch istatistikleri kullanılır, testte koşan ortalama. İki dağılım uyuşmazsa kalite düşer.
- RNN/Transformer için kötü. Sıra modellerinde batch boyutu farklı zaman adımlarında farklıdır.
- Eğitim/inference karmaşıklığı. İki ayrı mod gerek.
Alternatifler — uzun bir liste
Batch norm sorunlarını çözen birçok varyant:
- Layer Normalization (2016): Batch yerine her örneğin tüm özelliklerinde normalize et. Sıra modelleri için ideal. Transformer'ın standardı.
- Group Normalization (2018): Kanalları gruplara böl, grup içinde normalize et. Küçük batch için iyi.
- Instance Normalization (2016): Her örnek her kanal ayrı. Stil transferi için.
- RMSNorm (2019): Sadece varyans, ortalama yok. LLaMA, Mistral, Gemma kullanır — %30 daha hızlı.
Modern LLM'ler:
- BERT, GPT-2: LayerNorm
- LLaMA, Mistral: RMSNorm
- Eski CV modelleri: BatchNorm
Klasik benzetme
Bir orkestra düşün. Her enstrüman farklı ses seviyesinde çalıyorsa şef yönetemiyor. Batch normalization, her enstrümana "yapay ses seviyesi kalibratörü" takmak gibidir. Önce hepsini 0-1 aralığına getir; sonra şef (modelin öğrenen parametreleri) gerekirse hangisini öne çıkaracağını söyler.
Daha derin: 0 katmanın gücü
Batch norm öncesi, derin ağ + sigmoid kombinasyonunda gradyan kaybolması (vanishing gradient) standart problemdi. ReLU bunu kısmen çözdü; batch normalization tamamen çözdü.
Bugün 1000 katmanlı modellere eğitim mümkün. Normalizasyon olmadan bu hiç mümkün değildi.
Sade ders
Batch normalization hikâyesinden iki şey:
- Açıklama yanlış olabilir, sonuç gerçek. Ioffe-Szegedy'nin teorisi yanlıştı, ama makale geçerli sonuç verdi. Bu, mühendislik bilimle teoriden önce gelebileceğinin örneğidir.
- Üç sayfa bir alanı değiştirebilir. Şişirilmiş 30 sayfalık makaleler değil, küçük temiz fikirler tarih değiştirir.
Bağlam
Optimizer hikâyesi için: [[adamw-modern-llm-egitimlerinin-tek-optimizatoru]]. Vanishing gradient için: [[geri-yayilim-backpropagation]]. Modern mimari için: [[resnet-derin-aglar-icin-residual-connections]] (varsa), [[transformer-attention-is-all-you-need]]. RMSNorm için: [[llama-mimarisi-modern-llm-tasarimi]] (varsa).
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. Batch Normalization ne yapar?
2. Batch norm'un asıl etkisi nedir? (modern anlayış)
3. Layer Normalization'ın Batch Norm'dan farkı nedir?
4. RMSNorm hangi modellerde kullanılır?
5. Batch norm'un en büyük zayıflığı nedir?
İlgili Yazılar
Patates Paradoksu: 100 Kilo Patates Biraz Kuruyunca Neden 50 Kiloya Düşer?
100 kilo patatesiniz var ve %99’u sudan oluşuyor. Biraz beklettiniz, su oranı %98’e düştü. Şimdi patatesler kaç kilo? Sezginiz "neredeyse 100" diyor. Doğru cevap ise tam 50 kilo — ve bu, oranların ne kadar aldatıcı olduğunu gösteriyor.
MatematikLanchester’ın Savaş Yasaları: Bir Ordunun Gücü Neden Asker Sayısının Karesiyle Artar?
İki ordu çarpışırken sonucu ne belirler? Sezgi "daha kalabalık olan kazanır" der. Ama bir mühendis, modern savaşta sayısal üstünlüğün etkisinin doğrusal değil, asker sayısının karesiyle orantılı olduğunu gösterdi. Bu, neden "böl ve yönet" işe yaradığını açıklar.
Matematik"Yüzde 30 Yağmur İhtimali" Tam Olarak Ne Demek? Çoğu Kişi Yanlış Anlıyor
Hava durumu "bugün yüzde 30 yağmur ihtimali" dediğinde ne anlıyorsunuz? Gökyüzünün yüzde 30’u mu kapanacak? Günün yüzde 30’unda mı yağacak? Aslında ikisi de değil — ve gerçek anlamı, olasılığın ne kadar incelikli olduğunu gösteriyor.