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.
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.
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.
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.
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:
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
Malgrat el seu rendiment sorprenent, s'han proposat diverses modificacions a l'algorisme SGD original per ajudar a millorar el rendiment.
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.