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
Sekreter Problemi: Hayatın En İyi Seçimini Yapmak için "%37 Kuralı"
Bir işe alma görüşmesi, bir ev arama süreci, hatta hayat arkadaşı seçimi… Hepsinin altında aynı klasik matematik problemi yatar. Cevap şaşırtıcı biçimde tek bir sayıya bağlıdır: %37.
MatematikPisagor Teoremi ve Saklı Bir Sır: İrrasyonel Sayılar Nasıl Keşfedildi?
Dik üçgenlerle ilgili o ünlü kural, aynı zamanda matematik tarihinin en sarsıcı keşfine yol açtı: kesir olarak yazılamayan sayılar. Üstelik bu keşif, bir bilim topluluğunu temellerinden sarstı.
MatematikFibonacci Dizisi ve Altın Oran: Tavşanlardan Ayçiçeklerine Uzanan Örüntü
Bir tavşan üretme bilmecesiyle başlayan basit bir sayı dizisi, ayçiçeği tohumlarından çam kozalaklarına, deniz kabuklarından galaksilere kadar doğanın her yerinde nasıl karşımıza çıkıyor?