SGD med Nesterov-momentum
Stokastisk gradient descent med Nesterov-momentum er en optimeringsalgoritme, der anvender et forudsete opdateringstrin for at forbedre konvergenshastigheden.
Kort fortalt
En forbedret version af SGD, der kigger et skridt frem, når momentum beregnes, så det hurtigere finder vej til bunden af tabslandskabet.
- Kategori
- træning
- Niveau
- øvet
Betydninger
1- 1
En optimeringsalgoritme, der udvider standard SGD med momentum ved at beregne gradienten efter at have anvendt momentum på vægtene, hvilket giver et mere informeret opdateringstrin.
- Under træningen anvender vi SGD med Nesterov-momentum for at undgå oscillationer og opnå hurtigere konvergens. — Deep Learning, Goodfellow et al., 2016
- Nesterov-momentum forbedrer standard momentum ved at tage højde for fremtidige gradienter, hvilket reducerer oversving. — Sutskever et al., 2013
Hvornår bruges det
Bruges i træning af neurale netværk for at opnå hurtigere og mere stabil konvergens end standard SGD med momentum. Nesterov-momentum er ofte foretrukket i deep learning-frameworks som PyTorch og TensorFlow.
Formel
v ← μ·v − η·∇L(θ + μ·v); θ ← θ + vKodeeksempel
import torch
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9, nesterov=True)Sådan oprettes en optimizer med Nesterov-momentum i PyTorch.
Oprindelse
Opkaldt efter den russiske matematiker Jurij Nesterov, der i 1983 foreslog en accelereret gradient-metode med forudseenhed. Kombineret med stokastisk gradient descent (SGD) giver det en effektiv optimeringsmetode til deep learning.
Afledte ord
1Kilder
2- Nesterov, 1983: A method for solving the convex programming problem with convergence rate O(1/k^2)
- Sutskever et al., 2013: On the importance of initialization and momentum in deep learning