Skip to content
2026-09-29 04:20284 字机器学习深度学习调试

梯度检验 ​

梯度检验(Gradient Checking)用于验证反向传播的实现是否正确,是调试神经网络的核心手段。

数值梯度 ​

利用导数的定义近似计算:

通常取 。双侧差分比单侧更精确(误差 vs )。

检验方法 ​

比较解析梯度(反向传播算出)与数值梯度:

  1. 摊平所有参数为向量,计算 和
  2. 相对误差:
  3. 以内则正确; 则说明实现有误

注意事项 ​

  • 训练前使用,在小批量/小模型上验证后关闭,不可在训练中保留(否则极慢)
  • Dropout 等随机层需在检验时关闭(或固定随机种子)
  • 数值梯度的计算量约为一次前向传播 × 参数个数,因此仅用于小规模场景

每一篇文章,都是时间的标本