Nesterov momentum improves ordinary momentum by looking ahead. It first moves using accumulated velocity, then evaluates the gradient at that new position, allowing an earlier correction when momentum points the wrong way. section 5.3.1
The update strategy differs from standard momentum in three practical ways:
- Standard momentum computes the gradient at the current weights before combining it with velocity. section 5.3.1
- Nesterov momentum first computes a provisional position from the previous velocity, without using new gradient data. section 5.3.1
- It then evaluates the gradient at the provisional position, which can produce a stronger push back toward the solution. section 5.3.1
PyTorch configuration
Enable the variant through torch.optim.SGD by setting momentum=0.9 and nesterov=True, then compare its test-accuracy curve with SGD and ordinary momentum.


