Öğrenme oranı ve momentum

PyTorch ile Deep Learning'e Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

SGD ile ağırlıkları güncelleme

  • Bir sinir ağını eğitmek = bir optimizasyon problemi çözmek.

Stochastic Gradient Descent (SGD) optimizörü

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • İki argüman:
    • learning rate: adım boyutunu kontrol eder
    • momentum: sıkışmayı önlemek için atalet ekler
PyTorch ile Deep Learning'e Giriş

Öğrenme oranının etkisi: optimal öğrenme oranı

optimal öğrenme oranına bir örnek

  • Gradyan küçüldükçe sıfıra yakın bölgede adım boyutu azalır
PyTorch ile Deep Learning'e Giriş

Öğrenme oranının etkisi: küçük öğrenme oranı

küçük öğrenme oranına bir örnek

PyTorch ile Deep Learning'e Giriş

Öğrenme oranının etkisi: yüksek öğrenme oranı

çok yüksek öğrenme oranına bir örnek

PyTorch ile Deep Learning'e Giriş

Konveks ve konveks olmayan fonksiyonlar

Bu bir konveks fonksiyon.

konveks bir fonksiyona örnek

Bu bir konveks olmayan fonksiyon.

konveks olmayan bir fonksiyona örnek

  • Kayıp fonksiyonları konveks değildir
PyTorch ile Deep Learning'e Giriş

Momentum olmadan

  • lr = 0.01 momentum = 0, 100 adım sonra bulunan minimum: x = -1.23, y = -0.14

optimizörün yerel minimumda sıkışmasına bir örnek

PyTorch ile Deep Learning'e Giriş

Momentum ile

  • lr = 0.01 momentum = 0.9, 100 adım sonra bulunan minimum: x = 0.92, y = -2.04

momentum ile optimizasyona bir örnek

PyTorch ile Deep Learning'e Giriş

Özet

$$

Öğrenme oranı Momentum
Adım boyutunu kontrol eder Ataleti kontrol eder
Çok yüksek → zayıf performans Yerel minimumdan kaçmaya yardım eder
Çok düşük → yavaş eğitim Çok küçük → optimizör sıkışır
Tipik aralık: 0.01 ($10^{-2}$) ve 0.0001 ($10^{-4}$) Tipik aralık: 0.85–0.99
PyTorch ile Deep Learning'e Giriş

Hadi pratik yapalım!

PyTorch ile Deep Learning'e Giriş

Preparing Video For Download...