本节主要介绍了神经网络梯度检查和参数更新过程
梯度检查
梯度检查是非常重要的一个环节,就是将解析梯度和数值计算梯度进行比较。数值计算梯度时,使用中心化公式
df(x)dx=f(x+h)−f(x−h)2h(推荐使用)
其中 h 在实践中近似为
df(x)dx=f(x+h)−f(x)h(不要使用)
中心化公式在检查梯度的每个维度的时候,会计算两次损失函数(计算量为两倍),但梯度的近似值会准确很多。要详细理解,可对 f(x+h)和f(x−h) 使用泰勒展开,可以看到第一个公式的误差近似 O(h) ,第二个公式的误差近似 O(h2) 。
使用相对误差做比较。在得到数值梯度 f′n 和解析梯度 f′a 之后,如何去比较呢?取绝对值 |f'a−f'n| 或差的平方 (f'a−f'n)