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
Finitizm: Bazı Matematikçiler Neden Sonsuzluğa İnanmaz?
Sonsuzluk, modern matematiğin her yerindedir. Ama küçük bir grup matematikçi, "asla tamamlanamayan" sonsuzun gerçek olmadığını, yalnızca sonlu olanın anlamlı olduğunu savunur. İlginç ve cesur bir karşı duruş.
MatematikSherlock Holmes, Moriarty ve Oyun Teorisi: Bir Kovalamacanın Matematiği
Holmes kaçıyor, Moriarty kovalıyor. Hangi tren istasyonunda inmeli? Bu edebi sahne, oyun teorisinin kurucularından birine "rakibini tahmin edilemez kılmanın" matematiğini ilham etti.
Matematikİki Çocuk Paradoksu: "Biri Kız" Demek Olasılığı Neden Değiştirir?
Bir ailenin iki çocuğu var ve en az biri kız. İkisinin de kız olma olasılığı kaçtır? Çoğu insan "yarı yarıya" der ve yanılır. Bu küçük bulmaca, koşullu olasılığın ne kadar kaygan olduğunu gösterir.