Stokastik Gradyan İnişinin makine öğrenimi modellerini nasıl optimize ettiğini, büyük veri kümeleri ve derin öğrenme görevleri için verimli eğitimini nasıl sağladığını keşfedin.
Stokastik Gradyan İnişiSGD) bir köşe taşıdır yoğun olarak kullanılan optimizasyon algoritması makine öğrenimi (ML) ve derin öğrenme (DL). İtici güç görevi görür model eğitiminin arkasında, içsel eğitimin iteratif olarak ayarlanması Hatayı en aza indirmek için model ağırlıkları ve önyargıları bir kayıp fonksiyonu ile hesaplanır. Gelenekselin aksine Tek bir güncellemeyi hesaplamak için tüm veri kümesini işleyen gradyan inişi, SGD model parametrelerini değiştirir Bir seferde yalnızca tek bir rastgele seçilmiş eğitim örneği kullanarak. Bu "stokastik" veya rastgele yaklaşım algoritmayı hesaplama açısından verimli ve yüksek oranda ölçeklenebilir hale getirerek, eğitim için uygun bir yol oluşturur. tüm veri setinin bir kerede işleneceği büyük veri bellek engelleyici olabilir.
Bir sinir ağını eğitmenin birincil amacı En yüksek doğruluğu temsil eden en düşük noktayı bulmak için karmaşık bir hata ortamında gezinmek. SGD bunu başarır tekrarlayan bir döngü aracılığıyla. İlk olarak, bir hata için gradyanı (hatadaki en dik artışın yönü) hesaplar. geri yayılım kullanarak belirli bir örnek. Sonra, o Hatayı azaltmak için ağırlıkları ters yönde günceller.
Bu adımın büyüklüğü şu şekilde kontrol edilir sırasında yapılandırılan kritik bir değer olan öğrenme oranı hiperparametre ayarı. Çünkü SGD şunları kullanır tek örneklerde, minimuma giden yol düz bir çizgi yerine gürültülü ve zig-zaglıdır. Bu gürültü genellikle modelin yerel minimumlardan - stokastik olmayan algoritmaların alabileceği suboptimal çözümlerden - kaçmasına yardımcı olduğu için faydalıdır. sıkışıp kalır - daha iyi bir küresel çözüm bulmasına izin verir. Bu süreç birçok kez tekrarlanır dönemleri veya veri kümesi üzerinden tam geçişler, ta ki model yakınsar. Okuyucular, matematiksel sezgiyi aşağıdaki bölümde keşfedebilirler Stanford CS231n optimizasyon notları.
SGD nin ilgili kavramlardan nasıl farklılaştığını anlamak, sizin için doğru stratejiyi seçmek açısından hayati önem taşır eğitim verileri.
SGD ve türevleri, çeşitli sektörlerde modern yapay zeka sistemlerinin eğitimi için standarttır.
Bu ultralytics kütüphanesi kullanıcıların optimize ediciler arasında kolayca geçiş yapmasını sağlar. AdamW belki de
Bazı görevler için varsayılan olan SGD , genellikle ince ayar veya özel araştırma gereksinimleri için kullanılır. Aşağıdaki kod parçacığı
bir modeli eğitmek için SGD 'nin nasıl açıkça seçileceğini göstermektedir.
from ultralytics import YOLO
# Load the latest YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset using the SGD optimizer
# The 'lr0' argument sets the initial learning rate
results = model.train(data="coco8.yaml", epochs=50, optimizer="SGD", lr0=0.01)
Bu kod, bir YOLO11 model ve eğitime başlar
ile optimizer="SGD". Daha fazla özelleştirme için bkz.
model eğitim yapılandırması dokümantasyon. Gibi çerçeveler
TensorFlow ve
Scikit-learn ayrıca SGD
'nin sağlam uygulamalarını sağlar
çeşitli makine öğrenimi görevleri için.
