Coborârea gradientului și Coborârea gradientului stocastic (SGD) sunt algoritmi de optimizare utilizați pentru minimizarea unei funcții, de obicei asociate cu minimizarea erorii într-un model.
Principalele diferențe dintre cele două sunt următoarele:
Coborâre în gradient (GD)
-
În coborârea gradientului standard, algoritmul calculează gradientul funcției de cost folosind întregul set de date de antrenament.
-
Actualizează parametrii modelului făcând pași proporționali cu negativul gradientului întregului set de date.
-
Această metodă garantează convergența la minim (în anumite condiții, cum ar fi convexitatea și ratele de învățare adecvate), dar poate fi costisitoare din punct de vedere computațional pentru seturi de date mari.
Coborâre cu gradient stocastic (SGD)
-
În coborârea gradientului stocastic, algoritmul actualizează parametrii modelului folosind gradientul funcției de cost pentru fiecare exemplu de antrenament individual.
-
Face actualizări frecvente pe baza unor loturi unice sau mici de exemple de antrenament, ceea ce o face mult mai rapidă decât coborârea gradientului pentru seturi de date mari.
-
Cu toate acestea, din cauza actualizărilor zgomotoase, SGD are mai multe fluctuații și nu converge neapărat la minimul absolut; converge spre o zonă apropiată de minim, oscilând în jurul ei.
Când să folosiți unul peste celălalt:
-
Gradient Descent (GD): este potrivit când setul de date este relativ mic și poate încadra în memorie. Dacă funcția de cost este netedă și bine comportată, GD poate converge eficient la minim.
-
Stochastic Gradient Descent (SGD): este de preferat atunci când se ocupa de seturi mari de date unde calcularea gradienților pentru întregul set de date devine costisitoare din punct de vedere computațional. De asemenea, este util în scenariile în care funcția de cost are multe minime locale, deoarece zgomotul SGD în actualizări ar putea ajuta la scăparea de minimele locale superficiale. În plus, SGD este folosit în mod obișnuit în antrenarea rețelelor neuronale datorită seturilor lor vaste de date și spațiilor de parametri cu dimensiuni mari.
Mai mult, variații precum coborârea gradientului mini-loc, care echilibrează beneficiile atât ale GD, cât și ale SGD luând în considerare un subset de date pentru fiecare actualizare, sunt adesea folosite în practică. Alegerea dintre acești algoritmi depinde adesea de resursele de calcul, de dimensiunea setului de date și de caracteristicile problemei specifice.