Deep Learning · MT2 · section
Nesterov looks before correcting
Optimization algorithms
Definition. Nesterov accelerated gradient is a momentum-based method that evaluates the gradient at a lookahead parameter, formed using the previous velocity, before calculating the new velocity and actual parameter update.
What changes relative to momentum
Ordinary momentum evaluates J′ at θₜ₋₁. Nesterov evaluates it after the anticipated displacement βvₜ₋₁. This changes the point where the objective's slope is measured:
\theta_{\mathrm{look},t}=\theta_{t-1}+\beta v_{t-1}g_t=J'(\theta_{\mathrm{look},t})v_t=\beta v_{t-1}-\eta g_t\theta_t=\theta_{t-1}+v_tThe lookahead point is an auxiliary evaluation point, not the new actual parameter. In this signed-displacement convention, the new velocity is added to θₜ₋₁.
Complete numerical: two iterations
Question. J(θ) = ½θ², θ₀ = 1, v₀ = 0, η = 0.1 and β = 0.9. Perform two Nesterov updates using signed displacement velocity.
Given
J(θ) = ½θ²; θ₀ = 1; v₀ = 0.
η = 0.1; β = 0.9; signed-displacement velocity.
To find
Find the gradient, velocity and actual parameter after each of two iterations.
Formula — which one and why
Nesterov lookahead. First look ahead using the old velocity. Measure the gradient there, form the new velocity, then add that velocity to the original current parameter.
θ_look = temporary gradient-evaluation point; v = signed displacement; β = momentum coefficient; η = learning rate.
\theta_{\mathrm{look}}=\theta_{t-1}+\beta v_{t-1}g_t=J\prime(\theta_{\mathrm{look}})v_t=\beta v_{t-1}-\eta g_t\theta_t=\theta_{t-1}+v_tYaad rakhne ka cue: Pehle look ahead; gradient wahan; update original position se.
Solution — step by step
The derivative is J′(θ) = θ. Therefore the gradient equals the lookahead value in this particular objective.
Iteration 1 — step 1: locate the lookahead point.
\theta_{\mathrm{look},1}=1+0.9(0)=1Step 2: evaluate the gradient there.
g_1=J'(1)=1Step 3: calculate the new velocity and actual parameter.
v_1=0.9(0)-0.1(1)=-0.1\theta_1=1+(-0.1)=0.9Iteration 2 — step 1: use the previous actual parameter and velocity.
\theta_{\mathrm{look},2}=0.9+0.9(-0.1)=0.81Step 2: evaluate the gradient at 0.81, not at 0.9.
g_2=J'(0.81)=0.81Step 3: calculate the new velocity.
v_2=0.9(-0.1)-0.1(0.81)=-0.171Step 4: update the old actual parameter.
\theta_2=0.9+(-0.171)=0.729| Iteration | Old actual θ | Lookahead θ | Gradient | New v | New actual θ |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 1 | −0.1 | 0.9 |
| 2 | 0.9 | 0.81 | 0.81 | −0.171 | 0.729 |
Final answer: θ₁ = 0.9 and θ₂ = 0.729. The first update matches ordinary momentum because v₀ = 0. At the second update, ordinary momentum would use gradient 0.9 and produce θ₂ = 0.72. Adding v₂ to 0.81 instead of 0.9 would count the old momentum contribution twice.