梯度下降一步

🤖 Gradient Descent Step Simulator

Simulate a single gradient descent update from the current parameter, gradient and learning rate, and watch how the loss moves toward the minimum.

📐 計算公式 / 原理
w′ = w − lr·(grad + 2λw),其中 2λw 為 L2 正則梯度;Δw = −lr·(grad + 2λw)
帶 L2(權重衰減)的 SGD 單步更新:每次先按梯度與衰減項的和反向走一小步。注意真正的 weight decay 應獨立於梯度縮放施加,而 Adam 中直接把 2λw 加進梯度會被自適應學習率抵消,因此 AdamW 才把衰減挪到更新步。

📐 計算公式與說明

w = w − lr·(∇L + 2λw)

L2 正則化使權重向零收縮。

📚 深度解析:梯度下降一步

💡 常見使用場景

單變數一步更新
w=2.0, 梯度 ∂L/∂w=−3.0, η=0.1 → w←2.0−0.1×(−3.0)=2.3。梯度為負說明增大 w 能降損失,故 w 向正方向移動。

❓ 常見問題(FAQ)

梯度為負為什麼引數要增加?
更新式 w←w−η∇L,梯度為負時減去負數等於加正數,沿損失下降方向(負梯度方向)移動,這是梯度下降的本質。
學習率怎麼初選?
常用 1e-3~1e-1 再掃描;配合學習率預熱與餘弦退火更穩。出現 loss 發散(NaN)立即下調 η 一個數量級。