Yığın Normalizasyonu (Batch Normalization)
Araç kavramlarıYığın Normalizasyonu nedir?
Yığın normalizasyonu, derin sinir ağlarında katmanlar arasında akan değerleri her batch •mini eğitim yığını• içinde standart bir ölçeğe çeken bir tekniktir. 2015'te ortaya atıldığından beri derin öğrenmenin standart parçalarından biri oldu. Amacı, eğitim sırasında katmanların gördüğü veri dağılımının sürekli kaymasını engellemek.
Nasıl çalışır?
Bir katmandan çıkan değerler, içinde bulundukları mini-yığının ortalaması ve standart sapması kullanılarak normalize edilir; yani ortalaması 0, varyansı 1 olacak şekilde yeniden ölçeklenir. Ardından öğrenilebilir iki parametre (ölçek ve kaydırma) ile model bu normalize değerleri kendi ihtiyacına göre tekrar ayarlar. Böylece hem dengeli hem de esnek bir akış sağlanır.
Eğitim sırasında istatistikler her yığından hesaplanır; inference •çıkarım• aşamasında ise eğitim boyunca biriken ortalama değerler kullanılır. Bu ayrım, modelin tek bir örnekle tahmin yaparken de tutarlı davranmasını sağlar.
Neden önemli?
Yığın normalizasyonu olmadan derin ağların eğitimi çok daha yavaş ve kırılgan olur. Daha yüksek öğrenme oranlarıyla çalışmaya izin verir, başlangıç ağırlıklarına olan aşırı hassasiyeti azaltır ve hafif bir regularization •aşırı öğrenmeyi engelleme• etkisi bile yaratır. Kısacası eğitim sürecini çok daha az dertli hale getirir.
Kullanım alanları
Görüntü sınıflandırma ağları, evrişimli sinir ağları (CNN) ve birçok derin mimari. Dil modellerinde genelde yerini layer normalization alır ama temel fikir aynıdır: değerleri dengede tut.