Derin sinir aglarinin egitimini hizlandirmak ve kararlilastirmak icin her katmanin aktivasyonlarini mini-batch uzerinden normalize eden teknik.

Batch Normalization (Toplu Normallesme), derin sinir aglarinin egitimi sirasinda her katmanin aktivasyonlarini mini-batch istatistiklerini kullanarak normalize eden ve bu sayede egitimi hizlandirip kararlilastiran bir tekniktir. 2015 yilinda Ioffe ve Szegedy tarafindan yayimlanan makale, BN'yi derin ogrenme camiasinin standart yontemlerinden biri haline getirdi. BN algoritmasini adim adim inceleyelim. Her mini-batch icin, hedef katmanda gelen aktivasyonlarin batch ortalamasisi ve varyansi hesaplanir. Bu istatistiklerle aktivasyonlar normalize edilir, yani ortalama 0, varyans 1 olur. Ardindan iki ogrenilir parametreyle (gama, beta) yeniden olcelkendirme yapilir: gama aktivasyonlarin olcegini, beta ise kaydirmasini belirler. Bu yeniden olceklendirme adimi, normalizasyonun modelin ifade gucunu kisitlamamasini saglar; model gerekirse orijinal dagilima benzer bir ciktiya geri donebilir. BN'nin en onemli pratik faydasi egitimin hizlanmasidir. Normallesme, gradyanlarin katmanlar arasinda daha tutarli bir buyuklukle akmasini saglar; bu cok daha yuksek learning rate kullanimi ve daha az epoch ile yakinsama anlamina gelir. Bazi deneyler BN'nin egitimi 5-10 kat hizlandirabildigini gostermistir. Mekanizma tartismali olsa da BN, "internal covariate shift" sorununu azalttigini iddia eden yaklasimla tanitilmistir. Derin ag egitiminde alt katmanlardaki agirlik guncellemeler, ust katmanlarin girdi dagilimini surdurur degistirir; bu degisim ogrenmeyi yavaslattir. BN her katmanin girdi dagilimini dengeleyerek bu sorunu azaltir. Transformer mimarisinin yayginlasmisiyla Layer Normalization (LayerNorm) on plana cikmiştir. LayerNorm batch boyutu yerine ozellik boyutu uzerinden normalizasyon yapar; tek ornekle de calistigindan RNN ve Transformer'larda tercih edilir. **Sik Sorulan Sorular** **Batch Normalization hangi konuma yerlestirilir?** Geleneksel olarak lineer katman veya evrisme katmani ile aktivasyon fonksiyonu arasina yerlestirilir. Ancak "pre-activation" yaklasiminda aktivasyondan once konumlandirma da kullanilir; performans farkli mimarilerde degisebilir. **Kucuk batch size'larda BN calisir mi?** Kucuk batch'lerde BN'nin istatistiksel tahminleri guvenilmez hale gelebilir. Bu durumda Group Normalization veya Layer Normalization daha kararlı alternatiflerdir. **BN neden inference'ta farkli davranir?** Egitimde mini-batch istatistikleri kullanilirken inference'ta egitim boyunca biriktirilen hareketli ortalama (running mean/variance) kullanilir. Bu model eval() ve train() modlari arasindaki farkliliktan kaynaklanir. **Transformer'lar neden LayerNorm kullanir?** Transformer'larin sekanslar ve self-attention yapilariyla calismasi, batch boyutuna bagli bir normalizasyonu pratik kilmaz. LayerNorm her ornegi bagimsiz normalize ettiginden bu mimariyle dogal bir uyum icindedir.

Batch Normalization Nedir?

Batch Normalization (BN), derin sinir aglarinin her katmaninin aktivasyonlarini mini-batch istatistiklerini kullanarak normalize ederek egitimi hizlandiran ve kararlilastiran bir tekniktir. 2015 yilinda Ioffe ve Szegedy tarafindan yayimlanan bu yontem, derin ogrenme pratiklerinde standart bir bileşene donusmustur. Cok yuksek learning rate'ler kullanaraklari katamayan modellerde BN, yakınsama hizini belirgin sekilde arttirir.

Calisma Mekanizmasi

Her mini-batch icin hedef katmandaki aktivasyonlarin ortalama ve varyansi hesaplanir; aktivasyonlar bu istatistiklerle normalize edilir. Ardindan ogrenilen gama ve beta parametreleriyle yeniden olcekleme yapilir. Bu yeniden olcekleme, normalizasyonun modelin ifade gucunu kisitlamamasini saglar. Inference sirasinda mini-batch istatistikleri yerine egitim boyunca biriktirilen hareketli ortalama kullanilir.

Faydalar ve Sinirliliklar

BN egitimi 5-10 kat hizlandirabilir ve daha yuksek learning rate kullanimi saglar. Hafif bir regularization etkisi de vardir. Sinirliliklari; kucuk batch boyutlarinda istatistiksel guvenilmezlik ve recurrent mimarilerde kullanimsizliktir. Online ogrenme veya tek ornek cikarim senaryolarinda da BN pratik degildir.

Alternatifler: LayerNorm, GroupNorm

Layer Normalization, ozellik boyutu uzerinden normalizasyon yapar; tek ornekle de calistigindan Transformer ve RNN'lerde tercih edilir. Group Normalization, kanallaری gruplara ayirarak kucuk batch'lerde de kararlı calisir; bilgisayarli gorme gorevlerinde BN'ye alternatiftir. Instance Normalization, her ornegi bagimsiz normalize ederek stil aktarimi uygulamalarinda kullanilir.

Normalizasyon Yöntemleri Karşılaştırması

Batch Norm

Mini-batch boyutu boyunca normalize eder; CNN ve MLP'lerde etkili, küçük batch'lerde kararsız, RNN'lerde sorunlu.

Layer Norm

Özellik boyutu boyunca normalize eder; batch boyutundan bağımsız, transformer ve RNN mimarilerinin standart tercihi.

Group Norm

Kanal gruplama ile normalize eder; nesne tespiti gibi küçük batch gerektiren görüntü görevlerinde Batch Norm'a güçlü alternatif.

RMS Norm

Ortalama hesaplamadan vazgeçerek yalnızca ölçek normalize eder; Llama ailesi dahil modern LLM'lerin çoğu tarafından benimsendi.

help Sik Sorulan Sorular

  • check_circle Batch Normalization hangi konuma yerlestirilir? Geleneksel olarak lineer veya evrisme katmani ile aktivasyon fonksiyonu arasina yerlestirilir. Pre-activation yaklasiminda aktivasyondan once konumlandirma da kullanilir.
  • check_circle Kucuk batch size'larda BN calisir mi? Kucuk batch'lerde BN istatistiksel tahminleri guvenilmez hale gelir. Bu durumda Group Normalization veya Layer Normalization daha kararlı alternatiflerdir.
  • check_circle BN neden inference'ta farkli davranir? Egitimde mini-batch istatistikleri kullanilirken inference'ta egitim boyunca biriktirilen hareketli ortalama kullanilir.
  • check_circle Transformer'lar neden LayerNorm kullanir? Transformer'larda batch boyutuna bagli normalizasyon pratik degildir. LayerNorm her ornegi bagimsiz normalize ederek bu mimariyle dogal uyum saglar.