Stokastik Gradyan İnişi Nedir?
İngilizce: Stochastic Gradient Descent
Yayın: · Son güncelleme:
Stokastik Gradyan İnişi Nedir? Kısaca
Stokastik gradyan inişi (SGD), bir modelin ağırlıklarını tüm veri seti yerine rastgele seçilen tek bir örnek ya da küçük bir veri grubu üzerinden hesaplanan gradyanla güncelleyen optimizasyon yöntemidir. Hızlı ve bellek dostudur; derin öğrenmenin temel yöntemlerinden biridir.

İçindekiler
Stokastik gradyan inişi nedir?
Stokastik gradyan inişi (İngilizce Stochastic Gradient Descent, kısaca SGD), klasik gradyan inişinin daha pratik bir türüdür. Klasik yöntemde her güncelleme için tüm veri setinin gradyanı hesaplanır; büyük veri setlerinde bu çok yavaştır. SGD ise gradyanı rastgele seçilen bir örnekten ya da küçük bir gruptan (mini-batch) tahmin eder ve ağırlıkları hemen günceller. "Stokastik" kelimesi bu rastgeleliği anlatır.
Nasıl çalışır?
- Veri seti karıştırılır ve küçük gruplara bölünür.
- Her grup için kayıp ve gradyan hesaplanır.
- Ağırlıklar şu kuralla güncellenir: yeni ağırlık = eski ağırlık − öğrenme oranı × gradyan.
- Tüm gruplar bitince bir epoch tamamlanır; süreç birçok epoch boyunca tekrarlanır.
Günümüzde "SGD" denince çoğu zaman mini-batch kullanan sürüm kastedilir. Grup büyüklüğü batch size hiperparametresiyle belirlenir.
Avantajları ve dezavantajları
- Hız ve bellek: Her adımda verinin yalnızca küçük bir kısmı işlendiği için büyük veri setlerinde uygulanabilir.
- Gürültü: Tahmin edilen gradyan gürültülüdür. Bu gürültü bazen modelin kötü yerel noktalardan kurtulmasına yardım eder, bazen de eğitimi dalgalı hâle getirir.
- Ayar ihtiyacı: Öğrenme oranı iyi seçilmezse eğitim ya çok yavaş ilerler ya da kararsızlaşır.
Geliştirilmiş türleri
SGD'nin zayıf yanlarını gidermek için momentum eklenmiş SGD, RMSProp ve Adam gibi yöntemler geliştirildi. Yine de momentumlu SGD, özellikle bazı görüntü sınıflandırma modellerinde iyi genelleme sağladığı için hâlâ yaygın olarak kullanılır.
Sıkça Sorulan Sorular
SGD ile mini-batch gradyan inişi aynı şey mi?
Tam olarak değil. Klasik tanımda SGD her adımda tek örnek kullanır; mini-batch yöntemi küçük bir grup kullanır. Ancak günümüzde iki terim çoğu zaman birbirinin yerine kullanılır.
SGD neden Adam'dan daha iyi sonuç verebilir?
Bazı görevlerde momentumlu SGD, iyi ayarlandığında test verisinde daha iyi genelleme sağlayabilir. Bu durum probleme bağlıdır ve kesin bir kural değildir.