Gradyan İnişi

Adım kuralı, öğrenme oranı, mini-batch ve Adam.

Eğitimdeki 4. adım: kaybı küçültmek için her ağırlığı az kaydır. Kaydırma yönü, türevin tersidir. Bu döngünün adına gradyan inişi denir. Adam, SGD birer kaydırma reçetesidir; derleyici değildir. Yüzey metaforu şudur: kayıp yükseklik, adım yokuş aşağı.

Adım

θ ← θ − η ∇L(θ)

η > 0 öğrenme oranı. ∇L her parametre için ∂L/∂θⱼ vektörüdür.

L(w) = (w − 3)², L' = 2(w − 3). w₀ = 0, η = 0.1:

| t | w | L’ | w − η L’ | | 0 | 0.000 | −6.000 | 0.600 | | 1 | 0.600 | −4.800 | 1.080 | | 2 | 1.080 | −3.840 | 1.464 | | 3 | 1.464 | −3.072 | 1.771 | | 4 | 1.771 | −2.458 | 2.017 |

Hedef 3’tür; beş adımda 2’ye yaklaşır. Aynı problem η = 2: w₀ = 0, L' = −6, w₁ = 0 − 2(−6) = 12. Sonra L' = 18, w₂ = 12 − 36 = −24. Adım, minimumun ötesine zıplar ve ıraksar. Büyük η “daha hızlı öğrenme” değildir.

η çok küçükse her adım ΔL ≈ −η ‖∇L‖² kadar küçülür; eğitim sürünür. İyi η kayıp, ölçek ve mimariye bağlıdır. Sabit durmaz: çizelge ile küçültülür (step decay, cosine). Isınma (warmup) ilk adımlarda η’yi sıfırdan yükseltir; büyük batch’te gradyan gürültüsü oturana kadar işe yarar.

function step(theta: number[], grad: number[], eta: number): number[] {
  return theta.map((value, i) => value - eta * grad[i]);
}

Batch, stokastik, mini-batch

Tam batch: ∇L tüm N örnek üzerinden. Kararlı, bellek ve hesap pahalı, her epoch tek bir yön.

SGD (tek örnek): her (xᵢ, yᵢ) için ∇ℓᵢ. Ucuz, gürültülü. Gürültü bazen kötü çukurdan çıkarır, bazen hedefi titreştirir.

Mini-batch B örnek: ∇ ≈ (1/|B|) Σ_{i∈B} ∇ℓᵢ. Pratik standart budur. B büyüdükçe gradyan varyansı düşer, adım “daha doğru” ama her adım pahalıdır. B’yi 2 katına çıkarıp η’yi de 2 katına çıkarmak (linear scaling) bazen işe yarar, her zaman değil.

Epoch: veri bir kez taranır. Aynı örnek bir epoch’ta bir kez (karıştırılmış) mini-batch’e düşer. Karıştırmamak, sıralı desene uydurur.

Momentum ve Adam

Düz vadide SGD zikzak yapar. Momentum, geçmiş gradyanların üstel ortalamasını hız gibi tutar: vadinin uzun ekseninde birikir, kısa eksende iptal olur.

Adam, her parametre için birinci moment (ortalama) ve ikinci moment (karelerin ortalaması) tutar; adımı m / (√v + ε) ile ölçekler. Seyrek ve farklı ölçekli gradyanlarda η’yi elle az ayarlatır. Hâlâ θ ← θ − η ĝ formudur. Varsayılan β₁ = 0.9, β₂ = 0.999, ε = 10⁻⁸ birer sayıdır; sihir değildir. Adam bazen keskin minimuma gider; ağırlık azalma (AdamW) λ θ terimini güncellemeden ayırır.

Yüzeyin tuzakları

L dışbükey değilse (ağlar öyle) sıfır gradyan yerel minimum veya eyer olabilir. Global en iyi vaat yok. Kayıp yanlışsa (yanlış etiket, yanlış ℓ) iniş yanlış dağa gider: optimizer masumdur.

Patlayan gradyan: ‖∇‖ katman katman çarpılıp taşar; adım NaN yapar. Kaybolan: çarpım ≈ 0, alt katman öğrenmez. Kırpma (clip), uygun başlangıç, artık bağlantı, normalizasyon — bunlar türevin sayısal olarak taşınabilir kalmasıdır.

Alıştırma

L(w) = (w − 3)² için η = 0.1 ile w’nin 3’e 0.05 yaklaşması kaç adım sürer (yaklaşık)? Sonra η = 1: L' = 2(w−3) ile w ← w − 2(w−3) = 6 − w. w₀ = 0 iken dizi 0, 6, 0, 6, … olur. Bu, adımın minimum etrafında salınmasıdır.