Throughout, we use the parent note's conventions:
vt=βvt−1+∇θL(θt),θt+1=θt−ηvt
where ==η== is the learning rate (how far one step goes), ==β== is the momentum coefficient (how much of the past velocity we keep), and vt is the velocity (a running average of gradients). We always start with v0=0 unless told otherwise.
The symbol is β, the momentum coefficient, with β∈[0,1).
If β=0: vt=gt — no memory, we are back to plain gradient descent.
As β→1: the sum vt=∑kβkgt−k keeps more and more old gradients (each weight βk decays slowly), so the ball gets "heavier".
η scales the step size, not the memory — so the answer is β.
Recall Solution
Recall g1=∇L(θ0), the gradient at the starting point.
v1=βv0+g1=0.9(0)+2=2.
Step =ηv1=0.1×2=0.2.
Notice this is exactly the plain-GD step ηg1=0.2. Why? With no accumulated history (v0=0), momentum has nothing to add on the first step. This is the "slow start" the parent note warns about — not a bug.
The gradient is just the current θ, so gt=θt. Keep every digit — small roundings compound.
v1=0.9(0)+1=1; θ1=1−0.1(1)=0.9.
v2=0.9(1)+0.9=1.8 (exactly1.8, not 1.79); θ2=0.9−0.1(1.8)=0.72.
v3=0.9(1.8)+0.72=2.34; θ3=0.72−0.1(2.34)=0.486.
Compare to plain GD (θt+1=0.9θt): it would give 0.9,0.81,0.729. Momentum reaches 0.486 at step 3 — visibly ahead, because consistent-sign gradients keep adding into v.
Read the figure (s01): the amber momentum curve dives below the cyan plain-GD curve after step 2. That gap is the accumulated velocity v: because gt=θt never changes sign on the way down, each new gradient adds to v instead of cancelling, so the step ηv keeps growing while plain GD's step ηθt shrinks with θ. The amber arrow marks exactly where momentum overtakes.
Recall Solution
At the fixed point v∞=βv∞+g, so v∞(1−β)=g and
v∞=1−βg.
The step is ηv∞=1−βηg, so
ηeff=1−βη=1−0.90.1=1.0.
That is a 10× amplification of the raw learning rate along a consistent direction — the parent note's "10× speed-up".
v4=0.9(0.91)−1=−0.181.
The velocity stays small and bounded: for an alternating unit gradient the worst case is a geometric sum ≤∑kβk=1−β1=10, but the sign flips keep it hovering near ±1 instead. Compare a consistent-sign coordinate where v→10. So momentum shrinks the oscillating direction relative to the consistent one — exactly the ill-conditioning cure.
Read the figure (s02): the cyan bars are the raw ±1 gradients; the amber bars are the velocity vt. Watch the amber bars stay pinned near zero (about ±1 at most) while the dotted white line at 10 marks where velocity would sit if the gradients all agreed. The visual message: the same β that would give a 10× boost gives almost nothing here — that selectivity is the whole point.
Recall Solution
Plain GD gives θt=(1−η)tθ0. This shrinks to 0 iff ∣1−η∣<1, i.e.
0<η<2.
Now imagine two coordinates with curvatures λmax (steep) and λmin (flat). The steep coordinate needs η<2/λmax to not diverge; the flat one converges at rate (1−ηλmin). Because η is shared, the steep constraint capsη, making the flat direction crawl at rate ≈1−2λmin/λmax=1−2/κ where κ=λmax/λmin is the condition number (see Hessian and Condition Number). Large κ ⇒ painfully slow. Momentum fixes this without touching η.
Step 1:θ~1=1−0.1(0.9)(0)=1. Gradient at look-ahead =1.
v1=0.9(0)+1=1; θ1=1−0.1(1)=0.9. (Identical to classical — v0=0.)
Step 2:θ~2=0.9−0.1(0.9)(1)=0.81. Gradient at look-ahead =0.81 (smaller than the 0.9 classical uses).
v2=0.9(1)+0.81=1.71; θ2=0.9−0.1(1.71)=0.729.
Compare: classical (from L2.1, computed exactly) had v2=1.8,θ2=0.72. Nesterov's v2=1.71 is smaller because it evaluated the gradient at the anticipated, closer-to-minimum point 0.81 rather than at 0.9. It aims a touch gentler → less overshoot. On this simple 1-D bowl classical actually lands marginally closer this single step (0.72 vs 0.729), but Nesterov's anticipatory damping pays off on oscillating/ill-conditioned surfaces where classical overshoots.
Recall Solution
Derivation. From θt+1=θt−ηvt we get vt=(θt−θt+1)/η, and likewise vt−1=(θt−1−θt)/η. Substitute into vt=βvt−1+gt:
ηθt−θt+1=βηθt−1−θt+gt.
Multiply by −η and solve for θt+1:
θt+1=θt−ηgt+β(θt−θt−1).
The term β(θt−θt−1) literally is β times the previous step — "keep going the way you were going."
Numeric check (fully exact, no rounding). From L2.1, θ0=1,θ1=0.9, and g1=∇L(θ1)=θ1=0.9. Then
θ2=θ1−ηg1+β(θ1−θ0)=0.9−0.1(0.9)+0.9(0.9−1).
Compute each term: 0.1(0.9)=0.09 and 0.9(0.9−1)=0.9(−0.1)=−0.09, so
θ2=0.9−0.09−0.09=0.72.
This matches L2.1's θ2=0.72exactly — there is no 0.001 discrepancy once we avoid the earlier mis-rounding of v2. The two formulations (velocity-based and position-based) are algebraically identical.
Use ηeff=1−βη. Solve for β:
1−β=ηeffη=0.50.05=0.1⇒β=0.9.
So β=0.9 gives a 10× steady-state amplification, turning a stable η=0.05 into an effective 0.5 only where gradients agree — precisely the direction-selective boost momentum is for. This is the design logic behind picking β=0.9 as a default.
Recall Solution
(a) Unrolling each:
vt=∑k=0t−1βkgt−k,mt=(1−β1)∑k=0t−1β1kgt−k.
So mt=(1−β1)vt (with β=β1). Since the update multiplies by η, using mt instead of vt just rescales the effective learning rate by (1−β1): ηAdammt=ηAdam(1−β1)vt. Same direction, same trajectory shape — only η is relabelled.
The why behind the normalization. The factor (1−β1) is chosen so the weights sum to one: for a long history the geometric series (1−β1)∑kβ1k=(1−β1)⋅1−β11=1. That makes mt a genuine weighted average of past gradients — its scale matches a single gradient, so it is interpretable and comparable across steps. The parent's vt is an unnormalized sum whose weights instead total 1−β1 (=10 for β=0.9); that is why vt silently carries the 10× effective-LR boost inside it. Neither is "wrong" — they just push the same 1−β1 factor into different places (into v for momentum, into η for Adam).
(b) Because mt is a normalized average, at t=1 we have m1=(1−β1)g1, which underestimatesg1 by the factor (1−β1) (e.g. 0.1× for β1=0.9): the average hasn't "filled up" its window yet, so it is diluted toward the zero we initialised with. Bias correction m^1=m1/(1−β11)=m1/(1−β1)=g1 exactly cancels that dilution. Plain momentum's vt is not normalized, so it never claims to be an average and simply "accepts a slow start" for the first few steps rather than correcting — that is the parent note's warm-up remark. See Exponentially Weighted Moving Average for the bias-correction algebra.