Tüm yazılar
Matematik4 Aralık 2024

Gradient Descent: Derin Öğrenmenin Temel Optimizasyon Algoritması

Bir dağdan aşağı kayboluyor musunuz? Her adımda en dik yöne gidin. Sinir ağları aynı mantıkla öğreniyor.

Matematik Karavanı 6 dk okuma 5 soru
Vadiler — gradient descent metaforu

"Dağdan aşağı yuvarlan"

Bir dağın en dipini bulmak istiyorsunuz. Yöntem:

  1. Hangi yön en dik aşağı bak.
  2. O yönde bir adım at.
  3. Tekrarla.

Bu gradient descent.

Matematiksel: bir fonksiyonun minimum'unu bulmak için negatif gradyan yönüne hareket et.

Formül

θ\theta: parametre (ağırlıklar).
L\mathcal{L}: kayıp fonksiyonu.
η\eta: öğrenme hızı.

θt+1=θtηL(θt)\theta_{t+1} = \theta_t - \eta \nabla \mathcal{L}(\theta_t)

Yani: parametreleri gradyan ters yönünde güncelle.

Üç tür

Batch GD

Tüm veri üzerinde gradyan hesapla.

  • Doğru ama yavaş.
  • Bellek yetmez büyük veriyle.

Stochastic GD (SGD)

Tek örnek üzerinde gradyan.

  • Hızlı, gürültülü.
  • Yerel minimumdan kaçma şansı.

Mini-batch SGD

Küçük batch (örn. 32-256 örnek).

  • Praktik seçim, modern derin öğrenmede standart.

Öğrenme hızı

η\eta çok küçük: yavaş.
η\eta çok büyük: salınır, ıraksar.

Tipik değer: 0.001 - 0.1.

Hyperparameter'ın en kritiği.

Yerel minimum

Vanilla GD yerel minimumda sıkışabilir:

  • Düzlemde "L" görünür.
  • Gerçek "V" altında olabilir.

Modern derin öğrenmede yerel minimumdan daha büyük sorun: saddle point (eyer noktası).

Momentum

Sezgi: bir top yokuştan inerken hız kazanır.

vt=βvt1+Lv_t = \beta v_{t-1} + \nabla \mathcal{L}
θt+1=θtηvt\theta_{t+1} = \theta_t - \eta v_t

β\beta tipik 0.9.

Etki:

  • Saddle point'lerden geçer.
  • Gürültüyü azaltır.
  • 2-5x hızlı yakınsama.

Nesterov Accelerated Gradient (NAG)

Momentum + ileri bakış:

vt=βvt1+L(θβvt1)v_t = \beta v_{t-1} + \nabla \mathcal{L}(\theta - \beta v_{t-1})

Bir adım önce nerede olacağına bak.

Hassas problemler için daha iyi.

AdaGrad

Sezgi: sık görülen feature'lar için küçük adım, nadir feature'lar için büyük adım.

θt+1=θtηGt+ϵL\theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{G_t + \epsilon}} \nabla \mathcal{L}

GtG_t: gradyan karelerinin toplamı.

Problem: GtG_t monoton artar → öğrenme hızı zamanla sıfıra düşer.

RMSProp

AdaGrad düzeltmesi: hareketli ortalama kullan.

Gt=γGt1+(1γ)(L)2G_t = \gamma G_{t-1} + (1-\gamma) (\nabla \mathcal{L})^2

Eski gradyanları unutur.

Adam (2014)

ADAptive Moment estimation. Momentum + RMSProp birleşimi.

mt=β1mt1+(1β1)gtm_t = \beta_1 m_{t-1} + (1-\beta_1) g_t
vt=β2vt1+(1β2)gt2v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2
θt+1=θtηmtvt+ϵ\theta_{t+1} = \theta_t - \eta \frac{m_t}{\sqrt{v_t} + \epsilon}

Standart parametre: β1=0.9\beta_1 = 0.9, β2=0.999\beta_2 = 0.999, η=0.001\eta = 0.001.

Çoğu modern derin öğrenmenin seçimi.

AdamW

Adam + weight decay doğru entegrasyonu:

  • Weight decay loss'a değil, direkt güncellemeye eklenir.
  • Modern transformer eğitiminin standartı.

Tüm modern LLM'ler AdamW kullanır.

Learning rate schedules

Step decay

Belirli epoch'larda LR yarıya indir.

Cosine annealing

LR sinüs eğrisi ile yavaş azalt.

Warmup

İlk birkaç step'te LR'yi küçükten büyüğe.

One-cycle

Warmup + cosine decay.

LLM eğitimi standart: warmup + cosine.

Modern LR strategies

Lion (2024)

EvoSearch ile bulunan optimizer.

  • Çok az bellek.
  • Çoğu durumda Adam ile eşit veya iyi.

Sophia (2023)

İkinci dereceden bilgi ile.

  • LLM ön-eğitimi için tasarlandı.
  • 2x hız iddiası.

Muon (2024)

Newton-Schulz tabanlı.

  • Çok yeni, deneme aşamasında.

Hyperparameter ipuçları

Modern LLM eğitimi

  • Optimizer: AdamW.
  • LR: 3e-4 (büyük model), 1e-3 (küçük).
  • Weight decay: 0.1.
  • Warmup: 1-3% toplam step.
  • LR schedule: cosine.
  • Beta1: 0.9.
  • Beta2: 0.95 (büyük model için 0.95, klasik 0.999).

Türk endüstri için

  • Modern derin öğrenme projeleri default AdamW.
  • Klasik ML'de L-BFGS veya SGD.
  • LR finder (fast.ai): otomatik LR seçimi.

Felsefe

Gradient descent temel mesajı: "Yerel bilgi (gradyan) ile global hedefe (minimum) yaklaş".

Bu bilim metodolojisinin matematiksel modeli: küçük adımlar, sürekli düzeltme.

Kapanış

Gradient descent, modern AI'ın temel öğrenme algoritmasıdır. Adam ve türevleri endüstri standardı.

Bir derin öğrenme mühendisinin olgunluk işareti: hangi optimizer için hangi hyperparameter kullanacağını sezgi ile bilmek.

50 yıl önce yazılan formül trilyon dolarlık AI ekonomisinin temelidir.

Etiketler

gradient descentoptimizasyonSGDAdamderin öğrenme

Kendinizi Test Edin

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

1. Gradient descent ne yapar?

2. Mini-batch SGD neden popüler?

3. Momentum ne ekler?

4. Adam ne birleştirir?

5. LLM eğitiminde optimizer?