梯度下降一步 使用指南
輸入當前引數、梯度與學習率,模擬單變數梯度下降的一次更新步,演示收斂過程,適用於最佳化演算法教學、學習率直觀理解與實驗演示。
計算公式與原理
w′ = w − lr·(grad + 2λw),其中 2λw 為 L2 正則梯度;Δw = −lr·(grad + 2λw)
帶 L2(權重衰減)的 SGD 單步更新:每次先按梯度與衰減項的和反向走一小步。注意真正的 weight decay 應獨立於梯度縮放施加,而 Adam 中直接把 2λw 加進梯度會被自適應學習率抵消,因此 AdamW 才把衰減挪到更新步。
使用步驟
- 填寫「當前權重」。
- 填寫「梯度」。
- 填寫「學習率」。
- 填寫「L2 正則化」。
- 結果區會即時更新;可一鍵複製結果用於記錄或彙報。
典型使用場景
- 引數更新 w←w−η·∇L(w),η 為學習率,∇L 為損失對引數的梯度。
- 學習率過大易震盪不收斂,過小則收斂緩慢;常配合動量或學習率排程。
- 該工具演示單變數一步更新,用於直觀理解收斂軌跡與 η 的影響。
算例參考
- 單變數一步更新:w=2.0, 梯度 ∂L/∂w=−3.0, η=0.1 → w←2.0−0.1×(−3.0)=2.3。梯度為負說明增大 w 能降損失,故 w 向正方向移動。
注意事項
結果為按上述公式得到的理論估算值,實際表現受資料分佈、實現細節與執行環境影響,落地決策請以實測為準;本工具純前端執行,輸入不上傳伺服器。
- 梯度為負為什麼引數要增加?
- 更新式 w←w−η∇L,梯度為負時減去負數等於加正數,沿損失下降方向(負梯度方向)移動,這是梯度下降的本質。
- 學習率怎麼初選?
- 常用 1e-3~1e-1 再掃描;配合學習率預熱與餘弦退火更穩。出現 loss 發散(NaN)立即下調 η 一個數量級。