Dropout
Dropout Regularization for Deep Neural Networks · Ayrıca şöyle bilinir: dropout regularization, stochastic dropout, neuron dropout, inverted dropout
Dropout, derin sinir ağlarının eğitimi için kullanılan, Srivastava, Hinton, Krizhevsky, Sutskever ve Salakhutdinov tarafından 2014 yılında tanıtılan stokastik bir düzenlileştirme tekniğidir. Her eğitim adımında, her bir nöron bağımsız olarak (1 − p) olasılıkla kapatılır, bu da ağın birimlerini çok sıkı bir şekilde birlikte adapte etmesini önler ve böylece aşırı uyumu azaltır.
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
Dropout, aşırı uyumun gözlemlendiği veya beklendiği orta büyüklükteki herhangi bir ileri beslemeli, evrişimli veya tekrarlayan sinir ağı için uygundur. Ağ yeterince geniş olduğunda ve veri kümesi model kapasitesine göre aşırı büyük olmadığında en etkilidir. Standart uygulama, tam bağlı (yoğun) katmanlardan sonra p = 0.5 ile ve isteğe bağlı olarak daha yüksek bir tutma oranıyla (p = 0.8–0.9) evrişimli katmanlardan sonra dropout uygulamaktır. Dropout, aynı katmanda toplu normalleştirme (batch normalisation) ile birleştirildiğinde daha az etkilidir — bazen ters etki yapar — çünkü iki düzenlileştirici, performansı olumsuz etkileyebilecek şekillerde etkileşime girer; yalnızca dikkatli bir şekilde birlikte kullanılmalıdırlar. Çok küçük veri kümeleri için, L2 ağırlık azalması veya erken durdurma gibi daha basit düzenlileştirme yeterli olabilir.
Güçlü yönler & sınırlılıklar
- Son derece etkili düzenlileştirici: büyük tam bağlı ağlarda aşırı uyumu minimum uygulama maliyetiyle önemli ölçüde azaltır.
- Örtük topluluk: tek bir model maliyetiyle üstel sayıda model mimarisi üzerinde ortalama almayı yaklaşık olarak gerçekleştirir.
- Mimari-agnostik: ileri beslemeli, evrişimli, tekrarlayan ve dönüştürücü ağlara uygulanabilir.
- Ek parametre yok: tek hiperparametre, 0.5 civarındaki makul seçimlere karşı sağlam olan tutma olasılığı p'dir.
- Nöronları, belirli birlikte adapte olmuş komşulara bağlı olmayan yedekli temsiller öğrenmeye zorlayarak özellik sağlamlığını teşvik eder.
- Aynı eğitim kaybına ulaşmak için genellikle daha fazla sayıda döneme ihtiyaç duyulduğu için eğitim süresini artırır.
- Evrensel olarak faydalı değil: sığ ağlar, çok küçük veri kümeleri ve toplu normalleştirme ile zaten iyi düzenlileştirilmiş ağlar az fayda sağlar veya zarar görebilir.
- Toplu normalleştirme ile etkileşimi dikkat gerektirir; bunları safça birleştirmek performansı düşürebilir.
- p'yi seçmek çapraz doğrulama gerektirir ve uygun olmayan bir oran (çok düşük veya çok yüksek) ya yetersiz düzenlileştirmeye ya da yakınsamayı bozmaya neden olabilir.
- Tekrarlayan sinir ağları, standart adım başına maskeleme zamansal bağımlılıkları bozduğu için özel dropout varyantları (örn. varyasyonel dropout) gerektirir.
SSS
Hangi tutma olasılığı p'yi kullanmalıyım?
Öncü makale, gizli tam bağlı katmanlar için p = 0.5 ve giriş katmanı için p = 0.8'i varsayılan bir başlangıç noktası olarak önermektedir. Bu değerler çapraz doğrulama yoluyla ayarlanmalıdır; daha geniş katmanlar daha düşük p'ye tolerans gösterebilirken, daha ince katmanlar yeterli kapasiteyi korumak için p'nin 0.8'e daha yakın olmasına ihtiyaç duyabilir.
Modeli değerlendirirken dropout'u devre dışı bırakmalı mıyım?
Evet. Dropout, doğrulama ve test çıkarımı sırasında kapatılmalıdır. Çoğu çerçeve (PyTorch, Keras, TensorFlow), model.eval() çağrıldığında veya training=False ayarlandığında bunu otomatik olarak halleder, ancak bunun doğru ayarlandığını doğrulamak çok önemlidir, çünkü çıkarım zamanında dropout'u aktif bırakmak gürültüye neden olur ve tahminleri bozar.
Dropout, toplu normalleştirme ile çalışır mı?
Aynı katmanda ikisini birleştirmek sorunludur. Toplu normalleştirme zaten bir düzenlileştirici olarak işlev görür ve istatistikleri parti dağılımına bağlıdır; dropout, toplu normalleştirme katmanı tarafından görülen girdilerin varyansını değiştirerek normalleştirmesini bozar. Her ikisi de kullanılıyorsa, toplu normalleştirmeyi dropout'tan önce yerleştirin ve performansı dikkatlice izleyin.
Ters dropout, orijinal formülasyondan nasıl farklıdır?
Orijinal formülasyonda ağırlıklar test zamanında p ile ölçeklenir. Ters dropout, eğitim sırasında korunan aktivasyonları p'ye böler, böylece beklenen büyüklük her ileri beslemede korunur ve test zamanında yeniden ölçeklendirmeye gerek kalmaz. Ters dropout, çıkarım yolunu temiz tuttuğu için modern çerçevelerde standart uygulamadır.
Kaynaklar
- Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research, 15, 1929–1958. link ↗
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning (Ch. 7: Regularization for Deep Learning). MIT Press. ISBN: 978-0-262-03561-3
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Dropout Regularization for Deep Neural Networks. ScholarGate. https://scholargate.app/tr/deep-learning/dropout
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.
- Batch NormalizationDerin öğrenme↔ karşılaştır