梯度检查(Gradient Checking,简称 Grad Check)是一种用于验证机器学习模型(尤其是神经网络)中梯度计算正确性的技术。梯度在模型训练中至关重要,因为优化算法(如梯度下降)依赖梯度来更新模型参数。如果梯度计算有误,模型可能无法正常训练或收敛。
为什么要进行梯度检查?
在实现复杂的模型时,手动推导和实现梯度很容易出错。梯度检查通过将解析梯度与数值梯度进行比较,帮助确保梯度计算的准确性。
梯度检查的原理
-
数值梯度近似: 使用有限差分法计算数值梯度。对于参数 ( \theta ) 和一个很小的值 ( \epsilon ),数值梯度的计算公式为: [ ...