Ce este Gradient descent (coborârea gradientului)?

Metoda de optimizare prin care un model își ajustează ponderile în pași mici, mereu în direcția în care eroarea scade.

Denumire completă

Gradient descent – coborârea pe gradient (metoda gradientului descendent)

Ce înseamnă Gradient descent (coborârea gradientului)

Gradient descent („coborârea gradientului”) este rețeta prin care aproape toate modelele de machine learning învață. Scopul antrenării este să găsească valorile ponderilor pentru care eroarea (pierderea) este cât mai mică. Gradient descent caută acest punct făcând pași mici „la vale” pe suprafața erorii.

Gradientul este o indicație matematică a pantei: arată în ce direcție crește eroarea cel mai repede. Mergând în direcția opusă, eroarea scade.

Cum funcționează

La fiecare pas: se calculează gradientul (cu backpropagation, la rețelele neuronale), apoi fiecare pondere se modifică astfel: pondere nouă = pondere veche − rata de învățare × gradient. Rata de învățare stabilește cât de mare este pasul.

În practică, gradientul nu se calculează pe tot setul de date (ar fi prea lent), ci pe un mic grup de exemple, un batch. Varianta aceasta se numește stochastic gradient descent (SGD) sau mini-batch gradient descent. Optimizatoare populare precum Adam adaugă „inerție” și pași adaptați fiecărei ponderi.

Pe înțelesul tuturor

Ești pe un munte, în ceață deasă, și vrei să ajungi în vale. Nu vezi drumul, dar simți cu piciorul în ce parte coboară terenul. Faci un pas în direcția aceea, apoi pipăi din nou. Pas cu pas, ajungi jos, chiar fără hartă.

Exemplu

Un model simplu are o singură pondere w, iar eroarea este (w − 3)², cea mai mică pentru w = 3. Pornim de la w = 10, cu rata de învățare 0,1. Gradientul este 2 × (10 − 3) = 14, deci noul w = 10 − 0,1 × 14 = 8,6. Următorul gradient este 11,2, iar w devine 7,48, apoi 6,58 și așa mai departe, apropiindu-se treptat de 3.

De reținut

  • Gradientul arată direcția în care crește eroarea; modelul merge în sens opus.
  • Mărimea pasului este dată de rata de învățare.
  • În practică se folosesc variante pe batch-uri (SGD) și optimizatoare precum Adam.

Nu confunda

  • Minim local vs. minim global: coborârea poate ajunge într-o „vale” care nu e cea mai joasă de pe hartă. La rețelele mari asta contează mai puțin decât se credea, pentru că multe văi sunt aproape la fel de bune.

Termeni înrudiți

  • Backpropagation: Metoda prin care o rețea neuronală află cât a contribuit fiecare pondere la eroare, ca să știe cum să le corecteze.
  • Rată de învățare (learning rate): Hiperparametrul care stabilește cât de mari sunt pașii de corectare a ponderilor în timpul antrenării.
  • Funcție de pierdere (loss): Formula care măsoară cât de greșite sunt predicțiile unui model; antrenarea înseamnă micșorarea acestui număr.
  • Batch: Un grup de exemple pe care modelul le procesează împreună înainte de a-și actualiza ponderile.
  • Epocă (epoch): O trecere completă a modelului prin toate datele de antrenare; antrenarea durează de obicei mai multe epoci.