Tüm yazılar
Matematik18 Haziran 2025

Dropout: Rastgele Nöron Kapamanın Büyüsü

2012'de Hinton'un grubundan çıkan, "eğitirken nöronları rastgele kapat" fikri overfitting savaşının temel silahı oldu.

Matematik Karavanı 6 dk okuma 5 soru
Zarlar — dropout'un rastgele doğası

Banka kuyruğunun uyarısı

Hikaye Hinton'un anlattığı şekliyle: 2012'de Toronto'da bankada kuyruğa girer. Vezne masaları sürekli değişir, bir gün bu vezne, bir gün başka vezne. Hinton bunu sorar:

"Niye böyle yapıyorsunuz?"

"Eğer aynı veznede aynı insanlar aynı işi yaparsa, sahtekarlık fırsatı doğar. Karıştırmak gerekiyor."

Hinton evine döner. Sinir ağında nöronlar da sürekli aynı kombinasyonda çalışırsa "sahtekarlık" yaparlar — yani eğitim verisini ezberlerler.

Çözüm: her adımda rastgele bazı nöronları kapat. Modelin her adımda farklı bir alt-ağ ile çalışsın. Bu dropout.

Algoritma

İleri geçişte her katmanın çıkışındaki nöronları pp olasılıkla 0'a ayarla. Tipik değer p=0.5p=0.5.

hidropped=mihi,miBernoulli(1p)h_i^{\text{dropped}} = m_i \cdot h_i, \quad m_i \sim \text{Bernoulli}(1-p)

Geri yayılım sırasında: sadece açık nöronlardan gradyan akar.

Test zamanında: dropout yapma, ama tüm ağırlıkları (1p)(1-p) ile çarp. Ya da daha modern: "inverted dropout" — eğitim sırasında çıkışları 1/(1p)1/(1-p) ile çarp; test değişmesin.

Matematiksel sezgi

Dropout'un birçok eşdeğer yorumu var:

1. Geometrik ortalama tahmin

Eğitim sırasında 2n2^n farklı alt-ağ olabilir (her nöron açık/kapalı). Her batch farklı bir alt-ağı eğitir. Test zamanı bu 2^n alt-ağın yaklaşık geometrik ortalama tahminini verir.

Bu, ensemble learning'in muhteşem hızlı bir versiyonu. Tek model, 2^n model gibi davranır.

2. Eş-uyum (co-adaptation) önleme

Dropout olmadan iki nöron "birlikte" özelleşir — biri özelliğin bir yarısını, diğeri öbürünü öğrenir. Birlikte çalışırlar. Eğer ikisi de hata yaparsa, mecbur düzelirler.

Dropout: biri kapalı olabilir → her nöron kendi başına yeterli olmayı öğrenir. Daha sağlam temsiller.

3. Gürültü eklemek = regularization

Eğitim verisine gürültü eklemek istatistiksel olarak regularization etkisidir. Dropout, gizli temsillere gürültü ekler.

Mimari kullanım

Dropout'u nerede koymak gerek?

  • Yoğun (FC) katmanlar: Hep koy. p=0.5p=0.5 standart. AlexNet, VGG'nin amiral gemisi.
  • Konvolüsyon katmanları: Az kullan. Ya spatial dropout (tüm feature map'i kapat) ya da hiç.
  • Batch Normalization olduğunda: Genellikle dropout'a gerek kalmaz. BN zaten regularization etkisi yapar.
  • Transformer içi: Var ama küçük (p=0.1p=0.1). Modern büyük modellerde sıklıkla kaldırılıyor.

"Dropout ölüyor mu?"

2017'den sonra Transformer ve büyük modeller dünyasında dropout kullanımı azaldı:

  • BERT: p=0.1p=0.1 residual ve attention'da.
  • GPT-2: p=0.1p=0.1 residual ve embedding.
  • GPT-3, GPT-4: Çok küçük ya da yok.
  • Llama 2/3: Yok.

Sebep: modern LLM eğitiminde overfitting öncelik değil. Trilyonlarca token, milyarlarca parametre — model "ezberlemek" yerine "genelleştirmek" zorunda. Veri zaten regularization.

Bu, dropout'un "ölümü" değil, sahnesinin değişmesi. Küçük modeller ve sınırlı veri durumlarında hâlâ vazgeçilmez.

Modern varyantlar

Dropout ailesi çok zengin:

  • DropConnect (2013): Nöron yerine ağırlığı sıfırla.
  • Spatial Dropout (2015): Konvolüsyon için tüm kanal sıfırla.
  • Stochastic Depth (2016): Bütün katmanları rastgele atla (ResNet için).
  • DropPath (2016): Multi-branch ağlarda dal sıfırla.
  • Drop-Token (2021): Vision Transformer'da tüm token'leri at.
  • Monte Carlo Dropout (2016): Test zamanında da dropout aktif kal, çıkışları bayes belirsizlik tahmini olarak yorumla.

Bayes yorumu

Yarin Gal'in 2016 doktorası gösterdi: dropout, bayes sinir ağına yaklaşık çıkarımdır. Test zamanı dropout açık tutup birkaç kez tahmin alarak modelin belirsizliğini ölçebilirsin.

Bu yaklaşımı tıbbi görüntüleme ve otonom sürücülükte güvenilir tahmin için kullanırlar.

Klasik benzetme

Bir takım sporu düşün. Sürekli aynı 11 kişi oynarsa "kimya" güçlü olur ama bir oyuncu sakatlanırsa felaket. Antrenör eğitimde her gün farklı 10 kişiyi oynatır — herkes her pozisyonda iş çıkarmayı öğrenir. Maç günü 11'i ile çıktığında takım çok daha sağlamdır.

Dropout aynısı: her batch farklı bir 11'i çıkarır. Test günü tüm nöronlar açık — sağlam ve esnek.

Sade ders

Dropout hikâyesinden iki şey:

  1. Banka kuyrunda fikir bulunur. Hinton hikâyesi şehir efsanesi olabilir ama mantık doğru: AI fikirleri çoğu zaman akademik makaleden değil, günlük gözlemden doğar.
  2. Bir teknik "ölmez", sahnesi değişir. Dropout dünyanın en kullanılan regularizer'ı oldu, sonra LLM çağında geri çekildi, ama küçük model dünyasında hâlâ standart.

Bağlam

Hinton ve dropout makalesi için: [[geoffrey-hinton-derin-ogrenmenin-baba-figuru]]. Modern regularization için: [[batch-normalization-derin-aglarin-sessiz-katalizoru]]. Overfitting kavramı için: [[overfitting-modelin-ezberlemesi-vs-genellestirmesi]] (varsa). Belirsizlik tahmini için: [[bayes-sinir-aglari-belirsizlik]] (varsa).

Etiketler

dropoutregularizationoverfittingHintonderin öğrenme

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Dropout ne yapar?

2. Neden işe yarar?

3. Test zamanında dropout ne olur?

4. Modern LLM'lerde dropout neden azaldı?

5. Monte Carlo Dropout ne için kullanılır?