stokastisk gradientnedstigning
Stokastisk gradientnedstigning (SGD) er en iterativ optimeringsalgoritme, der opdaterer modelparametre ved at følge den negative gradient af tabsfunktionen estimeret fra en enkelt eller et lille antal tilfældige datapunkter.
Kort fortalt
En metode til at træne maskinlæringsmodeller ved at justere parametrene lidt ad gangen baseret på en enkelt datapunkts fejl, hvilket gør træningen hurtigere og mere hukommelseseffektiv end at bruge alle data på én gang.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En iterativ optimeringsalgoritme, der opdaterer parametre i en model ved at tage små skridt i den negative retning af gradienten af tabsfunktionen, hvor gradienten beregnes på et enkelt tilfældigt udvalgt datapunkt (ægte stokastisk) eller en mini-batch.
- Ved træning af en lineær regressionsmodel med stokastisk gradientnedstigning opdateres vægtene efter hvert enkelt datapunkt.
- I praksis anvendes ofte mini-batch stokastisk gradientnedstigning, hvor gradienten estimeres på en lille gruppe af datapunkter for at balancere støj og beregningshastighed.
Hvornår bruges det
Stokastisk gradientnedstigning er standardalgoritmen til at træne neural netværk og store modeller. Den bruges når datasættet er for stort til at passe i hukommelsen eller når man ønsker hurtig konvergens med støjende opdateringer.
Kodeeksempel
def sgd_update(params, grad, lr):
for i in range(len(params)):
params[i] -= lr * grad[i]En simpel implementering af et opdateringstrin for stokastisk gradientnedstigning. 'params' er listen over modelparametre, 'grad' er den estimerede gradient, og 'lr' er indlæringsraten.
Oprindelse
Fra græsk 'stokastisk' (tilfældig), latin 'gradient' (trin) og dansk 'nedstigning' (bevægelse nedad). Betegnelsen opstod i forbindelse med Robbins-Monro-algoritmen (1951) og blev populær inden for maskinlæring i 1980'erne.
Afledte ord
3Kilder
2- Robbins, H., & Monro, S. (1951). A Stochastic Approximation Method. The Annals of Mathematical Statistics, 22(3), 400–407.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.