shuffle Dropout Nasıl Çalışır?
Her eğitim adımında p olasılığıyla rastgele seçilen nöronlar sıfırlanır ve o adım boyunca hesaplamaya dahil edilmez. Geriye kalan nöronlar, kayıp hesaplanır, gradyanlar geri yayılır ve ağırlıklar güncellenir. Bir sonraki adımda farklı bir nöron kümesi seçilir. Bu sayede ağ, herhangi bir nöronun yokluğunda bile doğru tahmini üretmeyi öğrenir; nöronlar arasındaki ko-adaptasyon (co-adaptation) kırılır. Test aşamasında hiç dropout uygulanmaz; tüm nöronlar aktiftir. Ağırlıklar eğitimde seyrelmeden kaynaklanacak büyüklük farkını telafi etmek için (1−p) çarpanıyla ölçeklenir. Modern derin öğrenme çerçevelerinin büyük çoğunluğu "inverted dropout" uygular: eğitim sırasında hayatta kalan nöronların çıkışları 1/(1−p) ile çarpılır; test aşamasında ekstra işleme gerek kalmaz.
Dropout Varyantları
shuffle Standart Dropout
Tam bağlı katmanlarda nöronları bağımsız olarak rastgele sıfırlar. En yaygın kullanılan formdur.
grid_on Spatial Dropout
CNN'lerde özellik haritalarının tüm kanalını sıfırlar. Uzamsal bağıntıyı bozarak evrişimsel katmanlarda daha etkilidir.
assessment MC Dropout
Test aşamasında da dropout açık tutularak birden fazla tahmin alınır; Bayesian belirsizlik tahmini için kullanılır.
auto_fix_high AlphaDropout
SELU aktivasyon fonksiyonuyla uyumlu; sıfırlama yerine negatif doygunluk değeri atar, self-normalizing özelliğini korur.
balance Avantajlar ve Kısıtlamalar
- check_circle Overfitting azaltımı: Modelin eğitim verisini ezberlemesini engeller; test ve gerçek dünya performansı arasındaki uçurumu kapatır.
- check_circle Ensemble etkisi: Binlerce farklı alt ağı dolaylı olarak eğitip birleştirmek yerine tek bir model eğitmek, hesaplama verimliliğini korur.
- check_circle Kolay uygulama: PyTorch'ta torch.nn.Dropout(p=0.5), TensorFlow/Keras'ta layers.Dropout(0.5) ile tek satırda eklenir.
- check_circle Daha yavaş yakınsama: Her adımda rastgele farklı bir ağ eğitildiğinden gradient güncellemeleri daha gürültülüdür; daha fazla epoch gerekebilir.
- check_circle CNN'lerde sınırlı etki: Evrişimsel katmanlardaki uzamsal bağıntılar nedeniyle standart dropout yetersiz kalabilir; Spatial Dropout tercih edilmelidir.
quiz Sıkça Sorulan Sorular
- check_circle Dropout oranını nasıl seçmeli?: Tam bağlı katmanlar için 0,3–0,5 iyi bir başlangıç noktasıdır. Küçük veri setlerinde 0,5'e yakın, büyük veri setlerinde 0,2'ye yakın değerler daha işlevseldir. Doğrulama seti kaybı izlenerek hiperparametre araması yapılması önerilir.
- check_circle Batch Normalization varken Dropout kullanmalı mıyım?: Batch Normalization ve Dropout birlikte kullanıldığında bazen birbirini olumsuz etkileyebilir. Araştırmalar, BN sonrasında Dropout uygulamanın dikkat gerektirdiğini gösterir. Transformerlar gibi modern mimarilerde genellikle yalnızca BN veya Layer Normalization tercih edilir.
- check_circle Dropout neden sadece eğitimde aktif?: Test aşamasında deterministik ve tutarlı tahminler gerekir. Dropout'u test sırasında da açık bırakmak (MC Dropout) yalnızca Bayesian belirsizlik kestirimi gibi özel amaçlarla yapılır.
- check_circle Recurrent ağlarda (LSTM/RNN) Dropout nasıl uygulanır?: Standart dropout recurrent bağlantılara uygulandığında bilgi kaybı yaşanır. Variational Dropout (Gal & Ghahramani, 2016), her zaman adımında aynı maske kullanarak bu sorunu çözer ve LSTM'lerde yaygın olarak tercih edilir.