terrain Gözü Bağlı Dağdan İnme Metaforu
Gradient Descent'i gözü bağlı bir şekilde sisli bir dağın zirvesinden en aşağıdaki vadiye (minimum hataya) inmeye çalışan bir insan gibi düşünebilirsiniz. Gözünüz bağlı olduğu için sadece ayağınızın altındaki eğimi (gradyan/türev) hissedersiniz. Eğim hangi yöne doğru aşağı iniyorsa, o yöne doğru bir adım atarsınız. Adım büyüklüğünüz (Learning Rate) doğruysa, yavaş yavaş vadinin en dibine, yani modelin en az hata yaptığı optimum noktaya ulaşırsınız.
Temel Kavramlar
error_outline Loss Function (Kayıp Fonksiyonu)
Modelin yaptığı tahminin gerçek sonuçtan ne kadar uzak (kötü) olduğunu ölçen hata metriğidir. Dağın yüksekliğini temsil eder.
speed Learning Rate (Öğrenme Hızı)
Ayağınızı atarken atacağınız adımın büyüklüğüdür. Adım çok büyükse vadinin dibini atlayıp karşı dağa çıkarsınız; çok küçükse vadiye inmeniz aylar sürer.
moving Global ve Local Minimum
Vadinin en dibi 'Global Minimum'dur (en kusursuz sonuç). Ancak bazen dağda küçük çukurlar (Local Minimum) olur ve algoritma en dibe geldiğini sanıp o küçük çukurda sıkışabilir.
trending_down Gradient Descent Varyantları
- check_circle Batch Gradient Descent: Tüm eğitim veri kümesini tek seferde işler; gradyanı en doğru hesaplar ama çok büyük veri kümelerinde bellek ve hesaplama maliyeti yüksektir.
- check_circle Stochastic Gradient Descent (SGD): Her adımda tek bir örnek kullanılır. Çok hızlıdır ve büyük veri kümelerinde ölçeklenir, ancak güncellemeler gürültülüdür ve kayıp fonksiyonu dalgalanır.
- check_circle Mini-Batch Gradient Descent: Tipik derin öğrenme eğitiminde kullanılan yöntem: 16–256 örnekten oluşan batch'ler kullanılır. SGD'nin gürültüsü ve batch GD'nin kararlılığı arasında denge kurar.
- check_circle Adam, RMSProp, AdaGrad: Uyarlanabilir (adaptive) öğrenme hızı kullanan optimizatörler: her parametre için ayrı öğrenme hızı tutar. Adam, transformerların eğitiminde standart seçim haline geldi.
tune Öğrenme Hızı (Learning Rate) ve Hiperparametre
Gradient Descent'in en kritik hiperparametresi öğrenme hızıdır (learning rate, α). Çok yüksek α: optimizasyon ıraksar (diverge), kayıp artar. Çok düşük α: öğrenme çok yavaşlar ve hesaplama israfı olur. Lr scheduler (cosine annealing, warmup) ve learning rate finder gibi araçlar en uygun değeri bulmada kullanılır. Gradient Descent'in yakınsama garantisi, konveks kayıp fonksiyonlarında ispat edilmiştir; derin sinir ağlarındaki non-konveks yüzeylerde ise yerel minimum ve düz bölgeler (saddle point) pratik sorunlardır.
Gradyan İnişi Varyantları ve Optimizasyon Algoritmaları
- check_circle Stokastik Gradyan İnişi (SGD): Her adımda tek örnek veya küçük mini-batch kullanır. Tam veri setinden çok hızlı; gürültülü ama genelleşme açısından avantajlı. Momentum ile birlikte derin öğrenimde yaygın.
- check_circle Adam (Adaptive Moment Estimation): Birinci (ortalama) ve ikinci (varyans) momentleri adapte ederek parametre başına uyarlanabilir öğrenme hızı. Çoğu derin öğrenme görevi için varsayılan başlangıç optimizatörü.
- check_circle AdamW: Adam ile L2 ağırlık cezasını doğru uygulayan versiyon. Transformers kütüphanesinde LLM ince ayarı için standart; weight decay'i momentum ile karıştırmaz.
- check_circle Öğrenme Hızı Zamanlaması: Sabit öğrenme hızı yerine eğitim boyunca değişen hız. Cosine annealing, linear warmup ve OneCycle LR planları popüler; ısınma fazı büyük model eğitiminde kritik.
- check_circle Gradyan Kırpma (Gradient Clipping): Gradyan normunu belirli bir değerle sınırlar; patlayan gradyan sorununu önler. LLM eğitiminde standart; `clip_grad_norm_(params, max_norm=1.0)`.
- check_circle Karma Hassasiyet (Mixed Precision): İleri geçiş FP16/BF16, ağırlık güncellemesi FP32 ile yapılır. PyTorch `torch.amp` ile otomatik; bellek yarıya iner, eğitim hızlanır.
Gradyan İnişinin Matematiksel Temeli ve Pratik Tuzakları
Gradyan inişi, kayıp fonksiyonunu minimize etmek için parametre uzayında gradyanın negatif yönünde küçük adımlar atan optimizasyon algoritmasıdır. Güncelleme kuralı: θ ← θ − α · ∇L(θ), burada α öğrenme hızı, ∇L(θ) kayıp fonksiyonunun parametrelere göre gradyanıdır. Derin öğrenmede pratik tuzaklar: yerel minimumlar ve eyer noktaları (saddle points) — yüksek boyutlu uzaylarda eyer noktaları yerel minimumdan çok daha yaygın; stokastik gürültü paradoksal biçimde bu noktalardan kaçmaya yardım eder. Öğrenme hızı seçimi kritiktir: çok büyük → ıraksar; çok küçük → aşırı yavaş veya yerel minimumda takılır. LLM eğitiminde standart prosedür: kısa linear warmup (toplam adımların %1-5'i), ardından cosine decay ile öğrenme hızını sıfıra indirme. Büyük batch boyutu için öğrenme hızı ölçekleme: batch iki katına çıkınca öğrenme hızı da çoğunlukla iki katına çıkarılır (linear scaling rule). Gradyan biriktirme (gradient accumulation): GPU belleği küçükse birden fazla mini-batch gradyanı biriktirip tek güncelleme yapma; etkin batch boyutunu artırmanın yaygın yolu.
help Sıkça Sorulan Sorular (FAQ)
- check_circle Gradient Descent nedir kısaca?: Gradient Descent (Gradyan İnişi), makine öğrenmesinde model parametrelerini adım adım güncelleyerek kayıp fonksiyonunu minimize eden optimizasyon algoritmasıdır. Her adımda gradyan (türev) hesaplanır ve parametreler bu yönün tersine öğrenme hızı kadar kaydırılır.
- check_circle SGD ile Adam arasındaki fark nedir?: SGD (Stochastic Gradient Descent), sabit öğrenme hızıyla çalışır ve tüm parametreler için aynı adım büyüklüğü kullanır. Adam ise her parametre için ayrı, uyarlanabilir öğrenme hızı tutar ve momentum ekler. Derin öğrenmede Adam genellikle daha hızlı yakınsar ve varsayılan tercih olur.
- check_circle Gradyan inişi nedir?: Bir sinir ağının kayıp fonksiyonunu minimize etmek için parametrelerini gradyanın negatif yönünde iteratif güncelleyen optimizasyon algoritmasıdır. Tüm derin öğrenme eğitiminin temel mekanizması.
- check_circle SGD mi Adam mi kullanmalıyım?: Adam çoğu derin öğrenme görevinde daha hızlı yakınsama sağlar; varsayılan başlangıç önerilir. SGD + momentum bazı görüntü sınıflandırma ve ince ayar senaryolarında daha iyi genelleşme sunabilir.
- check_circle Öğrenme hızı (learning rate) nasıl seçilir?: Learning rate finder (hızı artırarak kayıp eğrisini izleme) iyi başlangıç noktası önerir. LLM ince ayarı için 1e-5 ile 5e-4 aralığı yaygın; warmup + cosine decay zamanlaması standarttır.
- check_circle Gradyan patlaması (exploding gradient) nedir?: Geriye yayılımda gradyanların çarpımsal büyüyerek astronomik değerlere ulaşmasıdır. Gradyan kırpma (`clip_grad_norm_`) ve dikkatli ağırlık başlatma bu sorunu önler.