Ce este Backpropagation?

Metoda prin care o rețea neuronală află cât a contribuit fiecare pondere la eroare, ca să știe cum să le corecteze.

Denumire completă

Backpropagation (backward propagation of errors) – propagarea înapoi a erorii

Ce înseamnă Backpropagation

Backpropagation (în română „propagarea înapoi a erorii”) este algoritmul care face posibilă antrenarea rețelelor neuronale. După ce rețeaua dă un răspuns și se măsoară cât de greșit a fost, backpropagation calculează pentru fiecare dintre ponderi (pot fi miliarde) în ce direcție și cât de mult ar trebui modificată ca eroarea să scadă.

Ideea matematică exista dinainte, dar a devenit celebră în 1986, printr-o lucrare a lui David Rumelhart, Geoffrey Hinton și Ronald Williams, care a arătat că permite rețelelor cu straturi ascunse să învețe reprezentări utile. Fără ea, deep learning-ul nu ar exista în forma de azi.

Cum funcționează

Antrenarea are doi pași care se repetă. Pasul înainte: datele trec prin rețea, strat cu strat, și se obține o predicție, care se compară cu răspunsul corect prin funcția de pierdere. Pasul înapoi: eroarea pornește de la ieșire spre intrare, strat cu strat, iar cu regula derivării funcțiilor compuse (chain rule) se calculează gradientul fiecărei ponderi, adică cât s-ar schimba eroarea dacă ponderea s-ar mări puțin.

Backpropagation doar calculează aceste gradiente. Modificarea propriu-zisă a ponderilor o face apoi un algoritm de optimizare, de obicei o variantă de gradient descent.

Pe înțelesul tuturor

Un client se plânge că supa e prea sărată. Șeful bucătăriei nu dă vina pe toată lumea la fel: întreabă înapoi, pe rând, cine a gustat, cine a pus sare și cât. La final știe cât a contribuit fiecare și cine trebuie să-și ajusteze rețeta și cu cât. Backpropagation face această „anchetă” matematic, pentru fiecare pondere.

Exemplu

O rețea care estimează prețul unei mașini second-hand spune 9.000 de euro, iar prețul real este 10.000. Pasul înapoi arată, de exemplu, că ponderea legată de „anul fabricației” a tras estimarea prea jos, iar cea legată de „kilometraj” prea puțin. La următoarea actualizare, prima pondere crește puțin, a doua scade puțin. După milioane de astfel de corecturi, estimările devin bune.

De reținut

  • Backpropagation calculează contribuția fiecărei ponderi la eroare, pornind de la ieșire spre intrare.
  • Lucrează împreună cu gradient descent, care face efectiv corecturile.
  • Bibliotecile precum PyTorch și TensorFlow fac acest calcul automat.

Nu confunda

  • Backpropagation vs. gradient descent: backpropagation răspunde la „în ce direcție greșește fiecare pondere?”; gradient descent răspunde la „hai să facem un pas în direcția bună”.

Termeni înrudiți

  • 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.
  • 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.
  • Rețea neuronală: Model de AI format din mulți neuroni artificiali legați între ei, care învață din exemple ajustând puterea legăturilor.
  • Antrenarea unui model: Procesul prin care un model AI învață din date, ajustându-și parametrii pas cu pas, ca să greșească tot mai puțin.
  • 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.