Toplu normalleştirme ile derin öğrenme performansını artırın! Bu tekniğin yapay zeka modellerinde eğitim hızını, kararlılığı ve doğruluğu nasıl artırdığını öğrenin.
Toplu Normalleştirme, öğrenme sürecini stabilize etmek ve derin sinir ağlarının eğitimini önemli ölçüde hızlandırmak için derin öğrenmede yaygın olarak kullanılan bir tekniktir. Sergey Ioffe ve Christian Szegedy tarafından 2015 tarihli"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift" başlıklı makalelerinde tanıttıkları bu yöntem, ağın derinliklerindeki katmanlara giden girdilerin dağılımının eğitim sırasında değişmesi sorununu ele almaktadır. Toplu Normalizasyon, her bir mini parti için her bir katmana giden girdileri normalleştirerek aktivasyon değerlerinin daha istikrarlı bir dağılımının korunmasına yardımcı olur ve daha düzgün ve daha hızlı yakınsama sağlar.
Eğitim sırasında, Toplu Normalleştirme, her mini toplu iş için bir katmana girdileri standartlaştırır. Bu, mini parti boyunca aktivasyonların ortalamasının ve varyansının hesaplanmasını ve ardından bu aktivasyonların normalleştirilmesini içerir. Bu teknik aynı zamanda aktivasyon kanalı başına iki öğrenilebilir parametre (bir ölçek (gama) ve bir kaydırma (beta) parametresi) sunar. Bu parametreler, ağın normalleştirilmiş girdilerin optimum ölçeğini ve ortalamasını öğrenmesine olanak tanıyarak, öğrenme için yararlı olduğu kanıtlanırsa normalleştirmeyi geri alma esnekliği sağlar. Bu süreç, aktivasyonları makul bir aralıkta tutarak kaybolan gr adyanlar ve patlayan gradyanlar gibi sorunlarla mücadele etmeye yardımcı olur. Çıkarım sırasında, ortalama ve varyans, tipik olarak eğitim sırasında tahmin edilen popülasyon istatistikleri kullanılarak sabitlenir.
Sinir ağlarında Toplu Normalleştirme uygulamak birkaç önemli avantaj sunar:
Toplu Normalleştirme, özellikle bilgisayarla görme alanında olmak üzere birçok son teknoloji derin öğrenme modelinde temel bir bileşendir.
Toplu Normalleştirme yaygın olarak kullanılmakla birlikte, her biri farklı senaryolar için uygun olan çeşitli ilgili normalleştirme teknikleri mevcuttur:
Toplu Normalleştirme için önemli bir husus, eğitim sırasında mini toplu iş boyutuna olan bağımlılığıdır. Yığın boyutu çok küçükse (örn. 1 veya 2), yığın istatistikleri popülasyon istatistiklerinin gürültülü tahminleri haline geldiğinden performans düşebilir. Ayrıca, davranış eğitim (yığın istatistikleri kullanarak) ve çıkarım (tahmini popülasyon istatistikleri kullanarak) arasında farklılık gösterir. Aşağıdaki gibi standart derin öğrenme çerçeveleri PyTorch (torch.nn.BatchNorm2d
) ve TensorFlow (tf.keras.layers.BatchNormalization
) sağlam uygulamalar sağlar. Alternatiflere rağmen, Toplu Normalleştirme birçok modern derin öğrenme modelini etkili bir şekilde eğitmek için temel bir teknik olmaya devam etmektedir.