Rata de învățare și momentum

Introducere în Deep Learning cu PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Actualizarea ponderilor cu SGD

  • Antrenarea unei rețele neuronale = rezolvarea unei probleme de optimizare.

Optimizatorul Stochastic Gradient Descent (SGD)

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Două argumente:
    • rata de învățare: controlează dimensiunea pasului
    • momentum: adaugă inerție pentru a evita blocarea
Introducere în Deep Learning cu PyTorch

Impactul ratei de învățare: rată optimă

exemplu de rată de învățare optimă

  • Dimensiunea pasului scade aproape de zero pe măsură ce gradientul se micșorează
Introducere în Deep Learning cu PyTorch

Impactul ratei de învățare: rată mică

exemplu de rată de învățare mică

Introducere în Deep Learning cu PyTorch

Impactul ratei de învățare: rată mare

exemplu de rată de învățare prea mare

Introducere în Deep Learning cu PyTorch

Funcții convexe și neconvexe

Aceasta este o funcție convexă.

exemplu de funcție convexă

Aceasta este o funcție neconvexă.

exemplu de funcție neconvexă

  • Funcțiile de pierdere sunt neconvexe
Introducere în Deep Learning cu PyTorch

Fără momentum

  • lr = 0.01 momentum = 0, după 100 de pași, minimul găsit pentru x = -1.23 și y = -0.14

exemplu de optimizer blocat într-un minim local

Introducere în Deep Learning cu PyTorch

Cu momentum

  • lr = 0.01 momentum = 0.9, după 100 de pași, minimul găsit pentru x = 0.92 și y = -2.04

exemplu de optimizare cu momentum

Introducere în Deep Learning cu PyTorch

Rezumat

$$

Rata de învățare Momentum
Controlează dimensiunea pasului Controlează inerția
Prea mare → performanță slabă Ajută la evitarea minimelor locale
Prea mică → antrenare lentă Prea mic → optimizatorul se blochează
Interval tipic: 0,01 ($10^{-2}$) și 0,0001 ($10^{-4}$) Interval tipic: 0,85 până la 0,99
Introducere în Deep Learning cu PyTorch

Să exersăm!

Introducere în Deep Learning cu PyTorch

Preparing Video For Download...