Gradientový zostup a stochastický gradientový zostup (SGD) sú optimalizačné algoritmy používané na minimalizáciu funkcie, zvyčajne spojené s minimalizáciou chyby v modeli.
Hlavné rozdiely medzi nimi sú nasledovné:
Gradientný zostup (GD)
-
Pri štandardnom zostupe gradientu algoritmus vypočítava gradient nákladovej funkcie pomocou celej množiny trénovacích údajov.
-
Aktualizuje parametre modelu vykonaním krokov úmerných zápornej hodnote gradientu celého súboru údajov.
-
Táto metóda zaručuje konvergenciu na minimum (za určitých podmienok, ako je konvexnosť a primeraná rýchlosť učenia), ale môže byť výpočtovo nákladná pre veľké súbory údajov.
Stochastic Gradient Descent (SGD)
-
Pri stochastickom zostupe gradientu algoritmus aktualizuje parametre modelu pomocou gradientu nákladovej funkcie pre každý jednotlivý príklad tréningu.
-
Vykonáva časté aktualizácie na základe jednotlivých alebo malých dávok tréningových príkladov, vďaka čomu je oveľa rýchlejší ako gradientový zostup pre veľké súbory údajov.
-
Avšak kvôli svojim hlučným aktualizáciám má SGD viac výkyvov a nemusí nevyhnutne konvergovať k absolútnemu minimu; konverguje do oblasti blízkej minimu, osciluje okolo neho.
Kedy použiť jednu cez druhú:
-
Gradient Descent (GD): Je vhodný, keď je súbor údajov relatívne malý a zmestí sa do pamäte. Ak je nákladová funkcia hladká a dobre sa správa, GD môže efektívne konvergovať na minimum.
-
Stochastic Gradient Descent (SGD): Uprednostňuje sa pri narábaní s veľkými súbormi údajov, kde je výpočet gradientov pre celý súbor údajov výpočtovo nákladný. Je to užitočné aj v scenároch, kde má funkcia nákladov veľa lokálnych miním, pretože šum SGD v aktualizáciách môže pomôcť uniknúť plytkým lokálnym minimám. Okrem toho sa SGD bežne používa pri trénovaní neurónových sietí kvôli ich rozsiahlym súborom údajov a vysokorozmerným priestorom parametrov.
Okrem toho sa v praxi často používajú variácie, ako napríklad minidávkový gradientový zostup, ktorý vyvažuje výhody GD a SGD tým, že zohľadňuje podmnožinu údajov pre každú aktualizáciu. Voľba medzi týmito algoritmami často závisí od výpočtových zdrojov, veľkosti súboru údajov a charakteristík špecifického problému.