paint-brush
Verstaan Stogastiese Gemiddelde Gradiënt deur@kustarev
31,969 lesings
31,969 lesings

Verstaan Stogastiese Gemiddelde Gradiënt

deur Andrey Kustarev
Andrey Kustarev HackerNoon profile picture

Andrey Kustarev

@kustarev

Director of Portfolio Management at WorldQuant. Expert in quantitative finance....

4 min read2024/06/06
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript
tldt arrow
af-flagAF
Lees hierdie storie in Afrikaans!
en-flagEN
Read this story in the original language, English!
ln-flagLN
Tanga lisolo oyo na lingala!
lo-flagLO
ອ່ານເລື່ອງນີ້ເປັນພາສາລາວ!
ps-flagPS
دا کیسه په پښتو ژبه ولولئ!
lt-flagLT
Skaitykite šią istoriją lietuvių kalba!
hr-flagHR
Pročitajte ovu priču na hrvatskom!
lv-flagLV
Izlasi šo stāstu latviešu valodā!
ht-flagHT
Li istwa sa a an kreyòl ayisyen!
hu-flagHU
Olvasd el ezt a történetet magyarul!
hy-flagHY
Կարդացեք այս պատմությունը հայերեն։
uk-flagUK
Читайте цю історію українською!
mg-flagMG
Vakio amin'ny teny malagasy ity tantara ity!
More
AF

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

Machine Learning

@machinelearning2

Companies Mentioned

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

Andrey Kustarev

@kustarev

Director of Portfolio Management at WorldQuant. Expert in quantitative finance.

0-item

STORY’S CREDIBILITY

Original Reporting

Original Reporting

This story contains new, firsthand information uncovered by the writer.


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:

image

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:


image


Die gewigopdateringsvergelyking lyk soos volg:

image

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:


image


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

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.


X REMOVE AD