The same two stochastic samples can land differently when their order is reversed because each later gradient is recomputed after the previous update.

highlighted = computed this step

Same samples, same eta

Both paths use sample s2 and sample s3 with eta=1/2. The only change is the order.

{s2,s3},η=1/2\{s2,s3\},\quad \eta=1/2
Same Samples, Different OrderSame two samples, reversed exact order.ordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s2(0,1)1-1(-1,-1)(1/2,3/2)2s3(1/2,3/2)7/23/2(3/2,3)(-1/4,0)second gradient is recomputed at the new parametersnew = old - eta*gradientordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s3(0,1)20(0,0)(0,1)2s2(0,1)1-1(-1,-1)(1/2,3/2)second gradient is recomputed at the new parametersnew = old - eta*gradientone exact step only; sample is chosen before the update; NOT convergence; NOT generalization;NOT learning

Order A: s2 then s3

Order A starts with sample s2 and then sample s3. Because the s3 gradient is recomputed after the first update, the endpoint is (-1/4, 0).

s2s3:(a,b)=(1/4,0)s2\rightarrow s3:\quad (a,b)=(-1/4,0)
Same Samples, Different OrderSame two samples, reversed exact order.ordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s2(0,1)1-1(-1,-1)(1/2,3/2)2s3(1/2,3/2)7/23/2(3/2,3)(-1/4,0)second gradient is recomputed at the new parametersnew = old - eta*gradientordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s3(0,1)20(0,0)(0,1)2s2(0,1)1-1(-1,-1)(1/2,3/2)second gradient is recomputed at the new parametersnew = old - eta*gradientone exact step only; sample is chosen before the update; NOT convergence; NOT generalization;NOT learning

Order B: s3 then s2

Order B starts with sample s3. At the starting line, that row has residual 0 and gradient (0, 0), so the first update does not move. Then sample s2 lands at (1/2, 3/2).

s3s2:(a,b)=(1/2,3/2)s3\rightarrow s2:\quad (a,b)=(1/2,3/2)
Same Samples, Different OrderSame two samples, reversed exact order.ordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s2(0,1)1-1(-1,-1)(1/2,3/2)2s3(1/2,3/2)7/23/2(3/2,3)(-1/4,0)second gradient is recomputed at the new parametersnew = old - eta*gradientordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s3(0,1)20(0,0)(0,1)2s2(0,1)1-1(-1,-1)(1/2,3/2)second gradient is recomputed at the new parametersnew = old - eta*gradientone exact step only; sample is chosen before the update; NOT convergence; NOT generalization;NOT learning

The paths can differ

The chosen samples are the same, but each second gradient is recomputed at the parameters produced by the first update. This is exact path arithmetic only: NOT convergence, NOT generalization, and NOT learning by itself.

(1/4,0)(1/2,3/2)(-1/4,0)\ne(1/2,3/2)
Same Samples, Different OrderSame two samples, reversed exact order.ordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s2(0,1)1-1(-1,-1)(1/2,3/2)2s3(1/2,3/2)7/23/2(3/2,3)(-1/4,0)second gradient is recomputed at the new parametersnew = old - eta*gradientordered stochastic updates; eta=1/2stepsamplestart (a,b)predictionresidualgradientnew (a,b)1s3(0,1)20(0,0)(0,1)2s2(0,1)1-1(-1,-1)(1/2,3/2)second gradient is recomputed at the new parametersnew = old - eta*gradientone exact step only; sample is chosen before the update; NOT convergence; NOT generalization;NOT learning