Stokastik Gradyan İnişi (SGD)
Stochastic Gradient Descent (SGD) Optimization Algorithm · Ayrıca şöyle bilinir: SGD, online gradient descent, incremental gradient descent, mini-batch gradient descent, stochastic approximation gradient method
Stokastik Gradyan İnişi (SGD), Robbins ve Monro tarafından 1951'de tanıtılan stokastik yaklaştırma çerçevesine dayanan, birinci dereceden iteratif bir optimizasyon algoritmasıdır. Bu algoritma, her adımda rastgele seçilen tek bir eğitim örneği (veya küçük bir mini-batch) üzerinde hesaplanan gradyanı kullanarak model parametrelerini güncelleyerek bir hedef fonksiyonunu minimize eder. Modern makine öğrenmesi ve derin öğrenmenin arkasındaki temel optimizasyon motorudur ve belleğe sığamayacak kadar büyük veri kümeleri üzerinde modellerin eğitilmesini sağlar.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
Eğitim kümesi, güncelleme başına tam gradyanı hesaplamanın çok maliyetli olacağı kadar büyük olduğunda SGD tercih edilen yöntemdir, bu da neredeyse tüm modern sinir ağı eğitimini ve büyük ölçekli doğrusal model uydurmayı kapsar. Herhangi bir türevlenebilir kayıp fonksiyonuna uygulanır. Temel varsayımlar: kayıp parametrelere göre türevlenebilir (veya alt-türevlenebilir), veri noktaları bağımsız olarak örneklenir ve gradyan tahmincisi yansızdır. Güçlü dışbükey hedefler için SGD O(1/T) yakınsama elde eder; genel dışbükey olmayan hedefler (örneğin, derin ağlar) için pratikte durağan noktalar bulur, ancak küresel optimallik garantisi yoktur. Mini-batch SGD (32–512 yığın boyutları), daha düşük varyanslı gradyan tahminleri sağladığı ve modern donanımlarda paralelliği kullandığı için tipik olarak saf tek örnekli SGD'ye tercih edilir. Veri kümesi tam yığın gradyan inişi için yeterince küçükse ve hedef iyi koşullandırılmışsa, L-BFGS gibi ikinci dereceden yöntemler daha hızlı yakınsayabilir.
Güçlü yönler & sınırlılıklar
- Her güncelleme yalnızca bir örnek veya mini-batch gerektirdiğinden, adım başına belleği ve hesaplamayı sabit tutarak keyfi olarak büyük veri kümelerine ölçeklenir.
- Dahili gürültü, örtük düzenlileştirme sağlar ve dışbükey olmayan manzaralarda sığ yerel minimumlardan ve eyer noktalarından kaçmaya yardımcı olur.
- Son derece genel: çapraz entropi, ortalama karesel hata, menteşe kaybı ve özel hedefler dahil olmak üzere herhangi bir türevlenebilir kayba uygulanabilir.
- Neredeyse tüm modern optimizasyon araçlarının (Adam, RMSProp, AdaGrad, Nesterov momentum) temelini oluşturur — SGD'yi anlamak, onları anlamak için ön koşuldur.
- Mini-batch'ler kullanarak uygulaması ve GPU'lar arasında paralelleştirmesi basittir.
- Gradyan tahminleri gürültülüdür, bu da kaybın monotonik olarak azalmak yerine dalgalanmasına neden olur, bu da yakınsamayı teşhis etmeyi zorlaştırır.
- Öğrenme oranına oldukça duyarlıdır: çok büyük olması ıraksamaya neden olur; çok küçük olması eğitimi aşırı derecede yavaşlatır.
- Dışbükey olmayan hedefler (neredeyse tüm derin sinir ağları) için küresel bir minimum bulma garantisi yoktur.
- İzotropik güncellemeler, tüm parametre boyutlarını eşit şekilde ele alır, bu da onu farklı eksenler boyunca çok farklı eğriliklere sahip kayıp yüzeyleri için uygunsuz hale getirir — bu da uyarlanabilir oranlı varyantları motive eder.
- Öğrenme oranı programının dikkatli ayarlanmasını gerektirir; kötü programlar nihai performansı önemli ölçüde düşürür.
SSS
SGD, mini-batch SGD ve tam yığın gradyan inişi arasındaki fark nedir?
Tam yığın gradyan inişi, güncelleme başına tüm n eğitim örneği üzerinden kesin gradyanı hesaplar — doğru ancak adım başına O(n) maliyetlidir. Saf SGD, güncelleme başına tam olarak bir rastgele seçilmiş örnek kullanır — O(1) maliyet ancak çok gürültülüdür. Mini-batch SGD, küçük rastgele bir alt küme (tipik olarak 32–512 örnek) kullanır — gürültüyü azaltırken maliyeti yönetilebilir tutan ve GPU paralelliğinden yararlanan pratik bir uzlaşmadır. Modern kullanımda, 'SGD' neredeyse her zaman mini-batch SGD anlamına gelir.
Öğrenme oranı nasıl ayarlanmalıdır?
Evrensel bir cevap yoktur, ancak yaygın bir uygulama, orta düzey bir değerle (örneğin, 0.01 veya 0.1) başlamak, eğitim kaybı eğrisini izlemek ve adım bozunumu, kosinüs tavlaması veya sıcak yeniden başlatmalar gibi bir bozunma programı uygulamaktır. Öğrenme oranı bulucuları (birkaç yığın üzerinden oranları tarayarak ve kaybı gözlemleyerek) iyi bir başlangıç değeri belirleyebilir. Robbins–Monro teorisi, oranın sıfıra doğru azalmasını gerektirir, ancak pratikte erken yavaşlamayı önlemek için azalma genellikle nazikçe uygulanır.
SGD neden bazen Adam'dan daha iyi genelleşir?
Adam gibi uyarlanabilir oranlı optimizasyon araçları genellikle daha hızlı yakınsar ancak özellikle görüntü sınıflandırma görevlerinde daha fazla aşırı uyum sağlayabilir. SGD'deki daha yüksek gürültü — özellikle küçük yığın boyutlarında — örtük düzenlileştirme görevi görür, modelin daha iyi genelleşen daha düz minimumlar bulmasına yardımcı olur. Birkaç ampirik çalışma (örneğin, Wilson vd., 2017), bu olguyu belgelemiştir, bu nedenle SGD'nin momentum ile birlikte hala ResNet gibi bilgisayar görüşü modellerini eğitmek için tercih edilmesinin nedeni budur.
SGD küresel minimumu bulmayı garanti eder mi?
Yalnızca kesin dışbükey hedefler için, Robbins–Monro adım boyutu koşulları altında. Dışbükey olmayan hedefler (neredeyse tüm derin ağlar) için SGD, durağan bir noktaya (gradyanın sıfır olduğu yer) yakınsama sağlar, bu pratikte eyer noktası veya küresel minimumdan ziyade iyi bir yerel minimum olma eğilimindedir. Ampirik olarak, bulunan çözümler genellikle son teknoloji performansı için yeterince iyidir.
Kaynaklar
- Robbins, H. & Monro, S. (1951). A Stochastic Approximation Method. The Annals of Mathematical Statistics, 22(3), 400–407. DOI: 10.1214/aoms/1177729586 ↗
- Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning (Ch. 8). MIT Press. ISBN: 978-0-262-03561-3
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Stochastic Gradient Descent (SGD) Optimization Algorithm. ScholarGate. https://scholargate.app/tr/machine-learning/stochastic-gradient-descent
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- Lojistik RegresyonAraştırma istatistiği↔ karşılaştır
- Rastgele OrmanMakine öğrenmesi↔ karşılaştır