XYZNOT

Makaleler · arXiv 1502.03167

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Yayımlanma cs.LG arXivPDF

Çeviri ve yapay zekâ ile oku

Üç satırda özet

  1. 🎯 Derin ağ eğitimi; önceki katmanlardaki parametre güncellemelerinin yol açtığı katman girdi dağılımlarındaki sürekli kayma olan internal covariate shift nedeniyle yavaşlar.
  2. 🔧 Mini grup aktivasyonlarını sıfır ortalama ve birim varyansa standartlaştıran, ardından öğrenilen bir afin ölçekleme ve kaydırma (γ ve β) uygulayan mimari bir katman olan Batch Normalization (BN) yöntemini sunar.
  3. 📈 Inception temel modelinin %72,2 doğrulama başarımını 14 kat daha az adımda yakalar ve bir toplulukla ImageNet test verisinde %4,82 ilk 5 hatasına ulaşır.

Özet

Derin Sinir Ağlarının eğitimi, önceki katmanların parametreleri değiştikçe her katmanın girdi dağılımının eğitim sırasında değişmesi nedeniyle karmaşıklaşır. Bu durum, daha düşük öğrenme oranları ile dikkatli parametre başlatma adımları gerektirerek eğitimi yavaşlatır ve doyumlu doğrusal olmayan işlevlere (saturating nonlinearities) sahip modellerin eğitilmesini son derece zorlaştırır. Bu olguyu internal covariate shift olarak adlandırıyor ve katman girdilerini normalleştirerek sorunu çözüyoruz. Yöntemimiz, gücünü normalleştirmeyi model mimarisinin bir parçası hâline getirmekten ve normalleştirmeyi her eğitim mini grubu (mini-batch) için gerçekleştirmekten alır. Batch Normalization, çok daha yüksek öğrenme oranları kullanmamıza ve ağırlık başlatma konusunda daha az dikkatli olmamıza olanak tanır. Ayrıca bir düzenlileştirici (regularizer) işlevi görerek bazı durumlarda Dropout ihtiyacını ortadan kaldırır. Son teknoloji ürünü bir görüntü sınıflandırma modeline uygulandığında Batch Normalization, 14 kat daha az eğitim adımıyla aynı doğruluğu elde eder ve orijinal modeli önemli bir farkla geride bırakır. Batch-normalized ağlardan oluşan bir topluluk (ensemble) kullanarak, ImageNet sınıflandırmasında yayımlanmış en iyi sonucu geliştiriyor; %4,9 ilk 5 doğrulama hatasına (ve %4,8 test hatasına) ulaşarak insan değerlendiricilerin doğruluğunu aşıyoruz.

Orijinal özet (İngilizce)

Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it notoriously hard to train models with saturating nonlinearities. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs. Our method draws its strength from making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regularizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch-normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the accuracy of human raters.

Okuma rehberi

Problem ve motivasyon

SGD ile derin ağ optimizasyonu sırasında, önceki katman parametrelerindeki değişiklikler sonraki katmanlara gelen girdilerin dağılımını değiştirir. Yazarlar bu olguyu Internal Covariate Shift olarak adlandırır.

Internal covariate shift iki temel zorluk yaratır:

  1. Alt ağlar sürekli olarak kayan aktivasyon dağılımlarına uyum sağlamak zorundadır.
  2. Aktivasyonlar doğrusal olmayan işlevlerin (örneğin sigmoid fonksiyonları) doyum bölgelerine kolayca sürüklenir; bu da gradyanların kaybolmasına (vanishing gradients) yol açarak küçük öğrenme oranları ve titiz parametre başlatma süreçleri gerektirir.

Katman girdilerini tüm veri kümesi genelinde beyazlatmak (whitening - ilişkisizleştirme ve standartlaştırma) dağılımları sabitleyebilse de, her parametre güncellemesinde tam kovaryans matrislerini ve bunların ters kareköklerini hesaplamak hesaplama açısından aşırı maliyetlidir; ayrıca normalleştirme geriye yayılıma (backpropagation) entegre edilmezse gradyanların patlamasına neden olabilir.

Temel fikirler

  • Türevlenebilir Normalleştirme Katmanı: Aktivasyonları optimizasyon sürecinin dışında standartlaştırmak yerine normalleştirme doğrudan model mimarisine entegre edilir; böylece geriye yayılımın katman aktivasyonları ile mini grup istatistikleri arasındaki bağımlılıkları hesaba katması sağlanır.
  • Boyut Başına Normalleştirme: Tam ortak beyazlatma yerine, her bir skaler özellik boyutu birbirinden bağımsız olarak sıfır ortalama ve birim varyansa normalleştirilir.
  • Temsil Kapasitesini Geri Kazandırma: Normalleştirmenin bir katmanın ifade gücünü yok etmemesini (örneğin bir sigmoidi tamamen doğrusal davranmaya zorlamamak gibi) sağlamak için, katmanın gerektiğinde özdeşlik dönüşümünü (identity transformation) geri kazanmasına olanak tanıyan öğrenilebilir (ölçekleme) ve (kaydırma) parametreleri eklenir.
  • Deterministik Çıkarım (Inference): Eğitim sırasında istatistikler her bir mini grubu üzerinden hesaplanır. Test aşamasında ise mini grup istatistiklerinin yerini sabit popülasyon istatistikleri (hareketli ortalamalar veya eğitim grupları üzerinden hesaplanan) alır; bu da tekil örnekler için deterministik çıkarım sağlar.
  • Parametre Ölçek Değişmezliği: Katman ağırlıklarının ölçek dönüşümleri eşitliğini sağlar; bu da daha büyük ağırlıkların daha küçük etkin gradyanlara yol açması anlamına gelir ve gradyan patlamasını engeller.

Yöntem (temel denklemlerle)

Tek bir aktivasyon boyutuna karşılık gelen bir mini grubu için:

  1. Mini grup ortalamasını hesaplayın:
  2. Mini grup varyansını hesaplayın:
  3. Aktivasyonları normalleştirin (kararlılık sabiti ile):
  4. Öğrenilebilir ve parametrelerini kullanarak ölçekleyin ve kaydırın:

Katmanlara Uygulanması

  • Konumlandırma: Doğrusal olmayan işlevlerin hemen öncesine uygulanır: . Orijinal katman sapması (bias) ihmal edilir çünkü ortalama çıkarma işlemi bunu sıfırlar (rolünü üstlenir).
  • Evrişimli Katmanlar (Convolutional Layers): Öteleme eşdeğişirliği (translation equivariance) özelliğini korumak için normalleştirme, uzamsal aktivasyon başına değil özellik haritası (feature map) başına uygulanır. grup boyutu ve uzamsal çözünürlüğü için etkin mini grup boyutu olur ve her özellik haritası genelinde tek bir çifti paylaşılır.

Çıkarım Dönüşümü

Test zamanında dönüşüm, ve popülasyon istatistiklerini kullanan statik bir doğrusal işleme dönüşür:

Sonuçlar (en önemli sayılarla)

  • Sigmoidli MNIST: Batch Normalization ile donatılmış ağlar, eğitim boyunca kararlı aktivasyon dağılımlarını korumuş, normalleştirilmemiş ağlara kıyasla yakınsamayı hızlandırmış ve daha yüksek test doğruluğuna ulaşmıştır.
  • ImageNet Eğitim Hızı (Tek Ağ):
    • Normalleştirilmemiş Inception, adımdan sonra %72,2 doğrulama başarımına ulaştı.
    • Temel Batch-Normalized Inception, %72,2'ye adımda ulaştı.
    • 5 kat daha yüksek öğrenme oranıyla (BN-x5), %72,2'ye adımda ulaştı—bu, gereken eğitim adımlarında 14 katlık bir azalma anlamına gelir ve model nihayetinde %73,0'a ulaştı.
    • 30 kat daha yüksek öğrenme oranıyla (BN-x30), model adımdan sonra maksimum %74,8 doğruluğa ulaştı.
  • Doyumlu Doğrusal Olmayan İşlevler: Sigmoid aktivasyonlarına sahip normalleştirilmemiş Inception eğitilemezken (%0,1 civarında rastgele seçim düzeyinde kalarak), BN-x5-Sigmoid %69,8 ilk 1 doğruluğu elde etti.
  • ImageNet SOTA Topluluğu: 6 adet batch-normalized ağdan oluşan bir topluluk, ILSVRC test sunucusunda %4,9 ilk 5 doğrulama hatası ve %4,82 test hatası elde ederek insan değerlendirici eşiklerini geride bıraktı.

Sınırlılıklar ve açık sorular

  • Grup Boyutu Bağımlılığı: Normalleştirme mini grup örnek istatistiklerine dayandığından, çok küçük mini grup boyutları varyans ve ortalama tahminlerinin kalitesini düşürebilir.
  • Yinelemeli Ağlar: Makale ileri beslemeli ve evrişimli modelleri test etmiş; yinelemeli sinir ağlarını (RNN'ler), internal covariate shift olgusunun kritik olabileceği henüz test edilmemiş açık bir soru olarak tanımlamıştır.
  • Teorik Temeller: Yazarlar, Batch Normalization'ın katman Jacobian'larının tekil değerlerinin (singular values) 1'e yakın olmasına yol açtığını öne sürmüş, ancak gradyan davranışının kesin teorik doğrulamasının gelecekteki analizlere açık bir konu olduğunu belirtmiştir.

Temel terimler

Internal Covariate Shift
Önceki katmanlardaki parametre güncellemelerinin eğitim sırasında dahili ağ aktivasyonlarının dağılımında yol açtığı değişim.
Batch Normalization
Mini grup katman girdilerini, öğrenilmiş parametrelerle ölçekleyip kaydırmadan önce sıfır ortalama ve birim varyansa standartlaştıran mekanizma.
Scale and Shift Parameters (γ and β)
Özdeşlik dönüşümünü temsil etme kabiliyeti de dâhil olmak üzere ağın ifade kapasitesini geri kazandırabilen aktivasyon başına öğrenilebilir parametreler.
Whitening
Girdileri sıfır ortalama, birim varyans ve karşılıklı olarak ilişkisiz özellik boyutları üretecek şekilde dönüştürme işlemi.
Batch Normalizing Transform
Mini grup ortalama ve varyansını hesaplayan, girdileri normalleştiren ve öğrenilmiş afin ölçekleme ve kaydırmayı uygulayan türevlenebilir algoritmanın kendisi.
Population Statistics
Deterministik çıkarım için normalleştirme parametrelerini dondurmak amacıyla eğitim mini grupları boyunca takip edilen toplam beklenen ortalama ve yansız varyans.
Feature Map Normalization
Evrişimli bir özellik haritası içindeki tüm aktivasyonların aynı istatistikleri ve afin parametreleri paylaşması için normalleştirmenin mini grup elemanları ve uzamsal konumlar üzerinde ortaklaşa uygulanması.

Sorular

Batch Normalization, aktivasyonlar ve sapma (bias) parametrelerine kıyasla nereye uygulanır?

Doğrusal olmayan işlevin hemen öncesine uygulanır (). Önceki doğrusal dönüşümün sapma parametresi ihmal edilir; çünkü ortalama çıkarma işlemi bunu sıfırlar ve sapmanın rolünü üstlenir.

Batch Normalization eğitim ve çıkarım sırasında nasıl farklı davranır?

Eğitim sırasında, aktivasyonları standartlaştırmak için ortalama ve varyans doğrudan geçerli mini grup üzerinden hesaplanır. Çıkarım sırasında ise bunların yerini sabit popülasyon istatistikleri (eğitim grupları üzerinden hesaplanan yansız hareketli ortalamalar) alır ve katman statik bir doğrusal dönüşüme çevrilir.

Batch Normalization neden daha yüksek öğrenme oranlarına izin verir?

Aktivasyonların normalleştirilmesi, küçük parametre değişikliklerinin doyum bölgelerine veya patlayan gradyanlara dönüşmesini önler. Ayrıca, bir katmandan geriye yayılan gradyan ağırlıklara göre ölçekten bağımsızdır: daha büyük ağırlıklar orantısal olarak daha küçük gradyanlar üreterek kararsızlığı engeller.

Batch Normalization, Dropout'un yerini alabilir mi?

Evet, birçok mimaride alabilir. Tek bir örneğin normalleştirilmiş aktivasyonu mini grupta bulunan diğer rastgele örneklere bağlı olduğundan, sürece etkili bir düzenlileştirici işlevi gören stokastik bir gürültü ekler; bu da Dropout oranının azaltılmasına veya tamamen kaldırılmasına olanak tanır.

Bu sayfadaki açıklama yapay zekâ tarafından makaleden yazılmıştır ve hata içerebilir. Ayrıntılar için makaleyi okuyun.

Çeviri ve yapay zekâ ile oku