Batch Normalization
Batch Normalization (Normalizing Layer Activations per Mini-Batch) · Ayrıca şöyle bilinir: BatchNorm, BN, batch norm, mini-batch normalization, internal covariate shift reduction
Batch Normalization, Sergey Ioffe ve Christian Szegedy tarafından 2015'te tanıtılan ve her katmanın ön-aktivasyon çıktılarını mevcut mini-yığın (mini-batch) üzerinde hesaplanan ortalama ve varyans kullanılarak normalleştiren bir eğitim tekniğidir. Her katmana giden girdi dağılımını eğitim boyunca stabilize ederek, içsel kovaryant kaymasını (internal covariate shift) önemli ölçüde azaltır, daha yüksek öğrenme oranlarının kullanımını mümkün kılar ve derin ağların daha hızlı ve daha güvenilir bir şekilde eğitilmesini sağlar.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
Batch Normalization, mini-yığınlarla stokastik gradyan inişi (stochastic gradient descent) ile eğitilen hemen hemen her ileri beslemeli (feedforward) veya evrişimli sinir ağına (convolutional neural network) uygulanabilir. Özellikle içsel kovaryant kaymasının şiddetli olduğu derin mimariler (genellikle dört katmandan fazla) için en faydalıdır ve görüntü sınıflandırma, nesne tespiti ve görüntü üretimi için evrişimli ağlarda esasen standart bir uygulamadır. Teknik, yığın istatistiklerinin popülasyon istatistiklerinin makul tahminleri olması için yeterince büyük bir mini-yığın (genellikle 32 veya daha fazla örnek) varsayar — çok küçük yığınlarda tahminler gürültülü hale gelir ve Katman Normalleştirme (Layer Normalization) veya Grup Normalleştirme (Group Normalization) tercih edilebilir. Batch Normalization, değişken dizi uzunlukları nedeniyle tekrarlayan ağlarda (recurrent networks) daha az etkilidir, burada Katman Normalleştirme tercih edilen alternatiftir.
Güçlü yönler & sınırlılıklar
- Daha büyük öğrenme oranlarının ve daha hızlı yakınsamanın kullanımını sağlayarak içsel kovaryant kaymasını önemli ölçüde azaltır.
- Bir düzenlileştirici (regulariser) görevi görür, genellikle evrişimli ağlarda dropout ihtiyacını azaltır veya ortadan kaldırır.
- Ağların ayarlanmasını kolaylaştırarak ağırlık başlatmaya (weight initialisation) duyarlılığı azaltır.
- Aksi takdirde kaybolan veya patlayan gradyanlardan muzdarip olacak çok derin ağların eğitimini mümkün kılar.
- Sağladığı eğitim hızına kıyasla hesaplama açısından ucuzdur.
- Yeterince büyük bir mini-yığın gerektirir; çok küçük yığınlarda (8-16 örneğin altında) yığın istatistikleri gürültülüdür ve düzenlileştirme etkisi faydalı olmaktan çok zararlı hale gelir.
- Eğitim davranışı (yığın istatistiklerini kullanır) ile çıkarım davranışı (çalışma tahminlerini kullanır) arasında bir tutarsızlık getirir, bu da modelleri ince ayar yaparken veya aktarırken dikkatlice yönetilmelidir.
- Bir yığındaki örneklere göre değişen dizi uzunlukları nedeniyle tekrarlayan veya özyinelemeli (autoregressive) mimarilere doğrudan uygun değildir.
- Normalleştirilmiş her katman başına özellik başına iki öğrenilebilir parametre ekler ve çalışma istatistiklerini depolamak için bellek kullanımını biraz artırır.
SSS
Batch Normalization aktivasyon fonksiyonundan önce mi yoksa sonra mı yerleştirilmelidir?
Orijinal Ioffe & Szegedy makalesi, bunu aktivasyon fonksiyonundan hemen önce — yani doğrusal dönüşümden sonra ancak ReLU veya başka bir doğrusal olmayanlığı uygulamadan önce — yerleştirir. Pratikte, her iki sıralama da kullanılır ve fark genellikle küçüktür; ancak, belirli bir mimari aksi belirtmedikçe, aktivasyondan önce yerleştirmek geleneksel varsayılan değerdir.
Batch Normalization eğitim ve çıkarım sırasında neden farklı davranır?
Eğitim sırasında ortalama ve varyans mevcut mini-yığından hesaplanır, bu da bir tür stokastik düzenlileştirme getirir. Çıkarımda, mini-yığın istatistiklerini kullanmak, tahminlerin yığında şans eseri bulunan diğer örneklere bağlı olmasına neden olur, bu da istenmeyen bir durumdur. Bunun yerine, eğitim sırasında birikmiş popülasyon ortalaması ve varyansının çalışma tahminleri kullanılır, bu da çıkarımı deterministik hale getirir. Çoğu çerçevede bu, modeli değerlendirme moduna ayarlayarak kontrol edilir (örneğin, PyTorch'ta model.eval()).
Öğrenilebilir gama ve beta parametrelerinin rolü nedir?
Sıfır ortalama ve birim varyansa normalleştirmeden sonra, katman başka bir ortalama veya ölçek temsil etme yeteneğini kaybetmiştir. Gama ve beta bu kapasiteyi geri kazandırır: gama normalleştirilmiş aktivasyonu ölçeklendirir ve beta onu kaydırır. Geri yayılım ile öğrenilen bu parametreler, normalleştirmenin faydalı olmadığı durumlarda kimlik dönüşümünü temsil etmelerini sağlayarak ağın tam ifade gücünü korur.
Ne zaman Katman Normalleştirme veya Grup Normalleştirme kullanmalıyım?
Katman Normalleştirme, her bir örnek için özellik boyutu boyunca normalleştirme yapar, bu da onu yığın boyutundan bağımsız hale getirir; tekrarlayan ağlar ve Transformer'lar için tercih edilen seçenektir. Grup Normalleştirme, kanalları gruplara ayırır ve her grup içinde normalleştirme yapar, yığın istatistiklerinin güvenilmez olduğu küçük mini-yığınlarda iyi performans gösterir. Mini-yığın boyutlarının 16'nın oldukça üzerinde olduğu ve mimarinin standart bir ileri beslemeli veya evrişimli ağ olduğu durumlarda Batch Normalization kullanın.
Kaynaklar
- Ioffe, S. & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. Proceedings of the 32nd International Conference on Machine Learning (ICML), PMLR 37, 448–456. link ↗
- Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning (Ch. 8). MIT Press. ISBN: 978-0-262-03561-3
- Ioffe, S. & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. arXiv preprint arXiv:1502.03167. link ↗
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Batch Normalization (Normalizing Layer Activations per Mini-Batch). ScholarGate. https://scholargate.app/tr/deep-learning/batch-normalization
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- DropoutDerin öğrenme↔ karşılaştır