paint-brush
Comprensió del gradient mitjà estocàsticper@kustarev
31,912 lectures
31,912 lectures

Comprensió del gradient mitjà estocàstic

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

Massa Llarg; Per llegir

El descens del gradient és una optimització popular que s'utilitza per localitzar els mínims globals de les funcions objectius proporcionades. L'algorisme utilitza el gradient de la funció objectiu per recórrer el pendent de la funció fins que arriba al punt més baix. Full Gradient Descent (FG) i Stochastic Gradient Descent (SGD) són dues variacions populars de l'algorisme. FG utilitza tot el conjunt de dades durant cada iteració i proporciona una alta taxa de convergència a un alt cost de càlcul. A cada iteració, SGD utilitza un subconjunt de dades per executar l'algorisme. És molt més eficient però amb una convergència incerta. El gradient mitjà estocàstic (SAG) és una altra variació que ofereix els avantatges dels dos algorismes anteriors. Utilitza la mitjana dels gradients passats i un subconjunt del conjunt de dades per proporcionar una alta taxa de convergència amb un càlcul baix. L'algorisme es pot modificar encara més per millorar la seva eficiència mitjançant la vectorització i mini-lots.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Comprensió del gradient mitjà estocàstic
Andrey Kustarev HackerNoon profile picture
0-item


El descens de gradients és la tècnica d'optimització més popular en el modelatge d'aprenentatge automàtic (ML). L'algorisme minimitza l'error entre els valors predits i la veritat bàsica. Com que la tècnica considera cada punt de dades per entendre i minimitzar l'error, el seu rendiment depèn de la mida de les dades d'entrenament. Tècniques com el descens de gradient estocàstic (SGD) estan dissenyades per millorar el rendiment del càlcul però a costa de la precisió de la convergència.


El Gradient Mitjà Estocàstic equilibra l'enfocament clàssic, conegut com a Descens de Gradient Complet i SGD, i ofereix tots dos avantatges. Però abans de poder utilitzar l'algorisme, primer hem d'entendre la seva importància per a l'optimització del model.

Optimització dels objectius d'aprenentatge automàtic amb descens de degradats

Cada algorisme de ML té una funció de pèrdua associada que té com a objectiu minimitzar o millorar el rendiment del model. Matemàticament, la pèrdua es pot definir com:


És simplement la diferència entre la sortida real i la prevista, i minimitzar aquesta diferència significa que el nostre model s'acosta més als valors de veritat bàsics.


L'algoritme de minimització utilitza el descens del gradient per recórrer la funció de pèrdua i trobar un mínim global. Cada pas de recorregut implica actualitzar els pesos de l'algoritme per optimitzar la sortida.


Baixada plana

L'algoritme de descens de gradient convencional utilitza la mitjana de tots els gradients calculats a tot el conjunt de dades. El cicle de vida d'un únic exemple d'entrenament és el següent:



L'equació d'actualització del pes és el següent:

On W representa els pesos del model i dJ/dW és la derivada de la funció de pèrdua respecte al pes del model. El mètode convencional té una alta taxa de convergència, però esdevé costos computacionalment quan es tracta de grans conjunts de dades que comprenen milions de punts de dades.

Descens del gradient estocàstic (SGD)

La metodologia SGD segueix sent la mateixa que la GD normal, però en lloc d'utilitzar tot el conjunt de dades per calcular els gradients, utilitza un petit lot de les entrades. El mètode és molt més eficient, però pot saltar massa al voltant dels mínims globals, ja que cada iteració utilitza només una part de les dades per a l'aprenentatge.

Gradient mitjà estocàstic

L'enfocament del gradient mitjà estocàstic (SAG) es va introduir com a terme mitjà entre GD i SGD. Selecciona un punt de dades aleatòria i actualitza el seu valor en funció del gradient en aquest punt i una mitjana ponderada dels gradients passats emmagatzemats per a aquest punt de dades concret.


De manera similar a SGD, SAG modela cada problema com una suma finita de funcions convexes i diferenciables. En qualsevol iteració donada, utilitza els gradients actuals i la mitjana dels gradients anteriors per a l'actualització de pes. L'equació pren la forma següent:



Taxa de convergència

Entre els dos algorismes populars, el gradient complet (FG) i el descens del gradient estocàstic (SGD), l'algoritme FG té una millor taxa de convergència, ja que utilitza tot el conjunt de dades durant cada iteració per al càlcul.

Tot i que SAG té una estructura similar a SGD, la seva taxa de convergència és comparable i de vegades millor que l'enfocament de gradient complet. La taula 1 següent resumeix els resultats dels experiments de Schmidt et. al .

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

Modificacions posteriors

Malgrat el seu rendiment sorprenent, s'han proposat diverses modificacions a l'algorisme SGD original per ajudar a millorar el rendiment.


  • Reponderació a les primeres iteracions: la convergència SAG es manté lenta durant les primeres iteracions, ja que l'algoritme normalitza la direcció amb n (nombre total de punts de dades). Això proporciona una estimació inexacta, ja que l'algoritme encara no ha vist molts punts de dades. La modificació suggereix normalitzar per m en comptes de n, on m és el nombre de punts de dades vists almenys una vegada fins a aquesta iteració en particular.
  • Mini-lots: l'enfocament del gradient estocàstic utilitza mini-lots per processar diversos punts de dades simultàniament. El mateix enfocament es pot aplicar a SAG. Això permet la vectorització i la paral·lelització per millorar l'eficiència de l'ordinador. També redueix la càrrega de memòria, un repte destacat per a l'algorisme SAG.
  • Experimentació de la mida del pas: la mida del pas esmentada anteriorment (116L) proporciona resultats sorprenents, però els autors van experimentar encara més utilitzant la mida del pas d'1L. Aquest últim va proporcionar una convergència encara millor. Tanmateix, els autors no van poder presentar una anàlisi formal dels resultats millorats. Conclouen que s'ha d'experimentar la mida del pas per trobar l'òptima per al problema específic.


Pensaments finals

El descens del gradient és una optimització popular que s'utilitza per localitzar els mínims globals de les funcions objectius proporcionades. L'algorisme utilitza el gradient de la funció objectiu per recórrer el pendent de la funció fins que arriba al punt més baix.

Full Gradient Descent (FG) i Stochastic Gradient Descent (SGD) són dues variacions populars de l'algorisme. FG utilitza tot el conjunt de dades durant cada iteració i proporciona una alta taxa de convergència amb un alt cost de càlcul. A cada iteració, SGD utilitza un subconjunt de dades per executar l'algorisme. És molt més eficient però amb una convergència incerta.


El gradient mitjà estocàstic (SAG) és una altra variació que ofereix els avantatges dels dos algorismes anteriors. Utilitza la mitjana dels gradients passats i un subconjunt del conjunt de dades per proporcionar una alta taxa de convergència amb un càlcul baix. L'algorisme es pot modificar encara més per millorar la seva eficiència mitjançant la vectorització i mini-lots.