paint-brush
Verstaan Stogastiese Gemiddelde Gradiëntdeur@kustarev
31,726 lesings
31,726 lesings

Verstaan Stogastiese Gemiddelde Gradiënt

deur Andrey Kustarev4m2024/06/06
Read on Terminal Reader
Read this story w/o Javascript

Te lank; Om te lees

Gradiënt afkoms is 'n gewilde optimalisering wat gebruik word om globale minima van die verskafde doelfunksies op te spoor. Die algoritme gebruik die gradiënt van die doelfunksie om die funksiehelling te deurkruis totdat dit die laagste punt bereik. Full Gradient Descent (FG) en Stogastiese Gradient Descent (SGD) is twee gewilde variasies van die algoritme. FG gebruik die hele datastel tydens elke iterasie en bied 'n hoë konvergensiekoers teen 'n hoë berekeningskoste. By elke iterasie gebruik SGD 'n subset van data om die algoritme uit te voer. Dit is baie meer doeltreffend, maar met 'n onsekere konvergensie. Stogastiese gemiddelde gradiënt (SAG) is nog 'n variasie wat die voordele van beide vorige algoritmes bied. Dit gebruik die gemiddelde van vorige gradiënte en 'n subset van die datastel om 'n hoë konvergensiekoers met lae berekening te verskaf. Die algoritme kan verder aangepas word om die doeltreffendheid daarvan te verbeter deur vektorisering en mini-batches te gebruik.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Verstaan Stogastiese Gemiddelde Gradiënt
Andrey Kustarev HackerNoon profile picture
0-item


Gradiënt afkoms is die gewildste optimaliseringstegniek in masjienleer (ML) modellering. Die algoritme verminder die fout tussen die voorspelde waardes en die grondwaarheid. Aangesien die tegniek elke datapunt in ag neem om die fout te verstaan en te minimaliseer, hang die prestasie daarvan af van die opleidingsdatagrootte. Tegnieke soos Stogastiese Gradient Descent (SGD) is ontwerp om die berekeningsprestasie te verbeter, maar ten koste van konvergensie-akkuraatheid.


Stogastiese Gemiddelde Gradiënt balanseer die klassieke benadering, bekend as Full Gradient Descent en SGD, en bied beide voordele. Maar voordat ons die algoritme kan gebruik, moet ons eers die betekenis daarvan vir modeloptimering verstaan.

Optimaliseer masjienleerdoelwitte met gradiëntafkoms

Elke ML-algoritme het 'n gepaardgaande verliesfunksie wat daarop gemik is om die model se werkverrigting te minimaliseer of te verbeter. Wiskundig kan die verlies gedefinieer word as:


Dit is bloot die verskil tussen die werklike en die voorspelde uitset, en die vermindering van hierdie verskil beteken dat ons model nader aan die grondwaarheidswaardes kom.


Die minimaliseringsalgoritme gebruik gradiënt-afkoms om die verliesfunksie te deurkruis en 'n globale minimum te vind. Elke deurkruisstap behels die opdatering van die algoritme se gewigte om die uitset te optimaliseer.


Gewone gradiënt afkoms

Die konvensionele gradiënt-afkomsalgoritme gebruik die gemiddelde van al die gradiënte wat oor die hele datastel bereken is. Die lewensiklus van 'n enkele opleidingsvoorbeeld lyk soos volg:



Die gewigopdateringsvergelyking lyk soos volg:

Waar W die modelgewigte verteenwoordig en dJ/dW die afgeleide is van die verliesfunksie met betrekking tot die modelgewig. Die konvensionele metode het 'n hoë konvergensietempo, maar word rekenaarmatig duur wanneer dit met groot datastelle wat miljoene datapunte bestaan, hanteer.

Stogastiese Gradiënt Descent (SGD)

Die SGD-metodologie bly dieselfde as gewone GD, maar in plaas daarvan om die hele datastel te gebruik om die gradiënte te bereken, gebruik dit 'n klein bondel van die insette. Die metode is baie meer doeltreffend, maar kan te veel om die globale minima spring, aangesien elke iterasie slegs 'n deel van die data vir leer gebruik.

Stogastiese gemiddelde gradiënt

Die Stogastiese Gemiddelde Gradiënt (SAG) benadering is ingestel as 'n middeweg tussen GD en SGD. Dit kies 'n ewekansige datapunt en werk die waarde daarvan op gebaseer op die gradiënt op daardie punt en 'n geweegde gemiddelde van die vorige gradiënte wat vir daardie spesifieke datapunt gestoor is.


Soortgelyk aan SGD, modelleer SAG elke probleem as 'n eindige som van konvekse, differensieerbare funksies. By enige gegewe iterasie gebruik dit die huidige gradiënte en die gemiddelde van vorige gradiënte vir gewigsopdatering. Die vergelyking neem die volgende vorm aan:



Konvergensiekoers

Tussen die twee gewilde algoritmes, volle gradiënt (FG) en stogastiese gradiënt afkoms (SGD), het die FG-algoritme 'n beter konvergensiekoers aangesien dit die hele datastel tydens elke iterasie vir berekening gebruik.

Alhoewel SAG 'n struktuur soortgelyk aan SGD het, is sy konvergensiekoers vergelykbaar met en soms beter as die volle gradiëntbenadering. Tabel 1 hieronder som die resultate van die eksperimente van Schmidt et. al .

Bron: https://arxiv.org/pdf/1309.2388

Verdere wysigings

Ten spyte van sy ongelooflike werkverrigting, is verskeie wysigings aan die oorspronklike SGD-algoritme voorgestel om werkverrigting te verbeter.


  • Hergewig in vroeë iterasies: SAG-konvergensie bly stadig gedurende die eerste paar iterasies aangesien die algoritme die rigting normaliseer met n (totale aantal datapunte). Dit bied 'n onakkurate skatting aangesien die algoritme nog baie datapunte moet sien. Die wysiging stel voor normalisering deur die m in plaas van n, waar m die aantal datapunte is wat ten minste een keer gesien is tot daardie spesifieke iterasie.
  • Mini-batches: Die Stogastiese Gradiënt-benadering gebruik mini-batches om veelvuldige datapunte gelyktydig te verwerk. Dieselfde benadering kan op SAG toegepas word. Dit maak voorsiening vir vektorisering en parallelisering vir verbeterde rekenaardoeltreffendheid. Dit verminder ook geheuelading, 'n prominente uitdaging vir die SAG-algoritme.
  • Stapgrootte-eksperimentering: Die stapgrootte wat vroeër genoem is (116L) bied wonderlike resultate, maar die skrywers het verder geëksperimenteer deur die stapgrootte van 1L te gebruik. Laasgenoemde het selfs beter konvergensie verskaf. Die skrywers kon egter nie 'n formele ontleding van die verbeterde resultate aanbied nie. Hulle kom tot die gevolgtrekking dat die stapgrootte geëksperimenteer moet word om die optimale een vir die spesifieke probleem te vind.


Finale Gedagtes

Gradiënt afkoms is 'n gewilde optimalisering wat gebruik word om globale minima van die verskafde doelfunksies op te spoor. Die algoritme gebruik die gradiënt van die doelfunksie om die funksiehelling te deurkruis totdat dit die laagste punt bereik.

Full Gradient Descent (FG) en Stogastiese Gradient Descent (SGD) is twee gewilde variasies van die algoritme. FG gebruik die hele datastel tydens elke iterasie en bied 'n hoë konvergensiekoers teen 'n hoë berekeningskoste. By elke iterasie gebruik SGD 'n subset van data om die algoritme uit te voer. Dit is baie meer doeltreffend, maar met 'n onsekere konvergensie.


Stogastiese gemiddelde gradiënt (SAG) is nog 'n variasie wat die voordele van beide vorige algoritmes bied. Dit gebruik die gemiddelde van vorige gradiënte en 'n subset van die datastel om 'n hoë konvergensiekoers met lae berekening te verskaf. Die algoritme kan verder gewysig word om die doeltreffendheid daarvan te verbeter deur vektorisering en mini-batches te gebruik.