Zbritja e gradientit është teknika më e popullarizuar e optimizimit në modelimin e mësimit të makinerive (ML). Algoritmi minimizon gabimin midis vlerave të parashikuara dhe të vërtetës bazë. Meqenëse teknika e konsideron secilën pikë të të dhënave për të kuptuar dhe minimizuar gabimin, performanca e saj varet nga madhësia e të dhënave të trajnimit. Teknikat si Zbritja e Gradientit Stochastic (SGD) janë krijuar për të përmirësuar performancën e llogaritjes, por me koston e saktësisë së konvergjencës.
Gradienti mesatar Stochastic balancon qasjen klasike, të njohur si Zbritja me gradient të plotë dhe SGD, dhe ofron të dyja përfitimet. Por përpara se të përdorim algoritmin, së pari duhet të kuptojmë rëndësinë e tij për optimizimin e modelit.
Çdo algoritëm ML ka një funksion humbje të lidhur që synon të minimizojë ose përmirësojë performancën e modelit. Matematikisht, humbja mund të përkufizohet si:
Është thjesht ndryshimi midis prodhimit aktual dhe atij të parashikuar, dhe minimizimi i këtij ndryshimi do të thotë që modeli ynë i afrohet vlerave bazë të së vërtetës.
Algoritmi i minimizimit përdor zbritjen e gradientit për të kapërcyer funksionin e humbjes dhe për të gjetur një minimum global. Çdo hap kalimi përfshin përditësimin e peshave të algoritmit për të optimizuar rezultatin.
Algoritmi konvencional i zbritjes së gradientit përdor mesataren e të gjithë gradientëve të llogaritur në të gjithë grupin e të dhënave. Cikli i jetës së një shembulli të vetëm trajnimi duket si më poshtë:
Ekuacioni i përditësimit të peshës duket si më poshtë:
Ku W
përfaqëson peshat e modelit dhe dJ/dW
është derivati i funksionit të humbjes në lidhje me peshën e modelit. Metoda konvencionale ka një shkallë të lartë konvergjence, por bëhet e shtrenjtë nga ana llogaritëse kur kemi të bëjmë me grupe të dhënash të mëdha që përfshijnë miliona pika të dhënash.
Metodologjia SGD mbetet e njëjtë si GD e thjeshtë, por në vend që të përdorë të gjithë grupin e të dhënave për të llogaritur gradientët, ajo përdor një grup të vogël nga inputet. Metoda është shumë më efikase, por mund të lëvizë shumë rreth minimumit global pasi çdo përsëritje përdor vetëm një pjesë të të dhënave për të mësuar.
Qasja Stochastic Average Gradient (SAG) u prezantua si një terren i mesëm midis GD dhe SGD. Zgjedh një pikë të rastësishme të të dhënave dhe përditëson vlerën e saj bazuar në gradientin në atë pikë dhe një mesatare të ponderuar të gradientëve të kaluar të ruajtur për atë pikë të caktuar të të dhënave.
Ngjashëm me SGD, SAG modelon çdo problem si një shumë e fundme funksionesh konvekse dhe të diferencueshme. Në çdo përsëritje të caktuar, ai përdor gradientët aktualë dhe mesataren e gradientëve të mëparshëm për përditësimin e peshës. Ekuacioni merr formën e mëposhtme:
Midis dy algoritmeve të njohura, gradienti i plotë (FG) dhe zbritja e gradientit stokastik (SGD), algoritmi FG ka një shkallë më të mirë konvergjence pasi përdor të gjithë grupin e të dhënave gjatë çdo përsëritjeje për llogaritje.
Megjithëse SAG ka një strukturë të ngjashme me SGD, shkalla e saj e konvergjencës është e krahasueshme dhe ndonjëherë më e mirë se qasja e gradientit të plotë. Tabela 1 më poshtë përmbledh rezultatet nga eksperimentet e
Pavarësisht performancës së tij të mahnitshme, disa modifikime janë propozuar në algoritmin origjinal SGD për të ndihmuar në përmirësimin e performancës.
Zbritja e gradientit është një optimizim popullor që përdoret për gjetjen e minimumeve globale të funksioneve objektive të ofruara. Algoritmi përdor gradientin e funksionit objektiv për të përshkuar pjerrësinë e funksionit derisa të arrijë pikën më të ulët.
Zbritja e gradientit të plotë (FG) dhe zbritja e gradientit stokastik (SGD) janë dy variacione të njohura të algoritmit. FG përdor të gjithë grupin e të dhënave gjatë çdo përsëritjeje dhe siguron një shkallë të lartë konvergjence me një kosto të lartë llogaritëse. Në çdo përsëritje, SGD përdor një nëngrup të dhënash për të ekzekutuar algoritmin. Është shumë më efikas, por me një konvergjencë të pasigurt.
Gradienti mesatar Stochastic (SAG) është një tjetër variacion që ofron përfitimet e të dy algoritmeve të mëparshme. Ai përdor mesataren e gradientëve të kaluar dhe një nëngrup të të dhënave për të siguruar një shkallë të lartë konvergjence me llogaritje të ulëta. Algoritmi mund të modifikohet më tej për të përmirësuar efikasitetin e tij duke përdorur vektorizim dhe mini-batch.