梯度下降一步 使用指南
输入当前参数、梯度与学习率,模拟单变量梯度下降的一次更新步,演示收敛过程,适用于优化算法教学、学习率直观理解与实验演示。
计算公式与原理
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)立即下调 η 一个数量级。