在进行梯度检查时,我们是否要在theta和常数参数b上加上/减去一个小值?

时间:2019-01-08 07:32:39

标签: python neural-network backpropagation gradient-descent

我一直在做Andrew Ng的DeepLearning AI课程(课程2)。

为了进行梯度检查,他实现了一个函数,该函数将包含所有权重(W)和常数(b)的字典转换为一个单一的,热编码的矢量(尺寸为47 x 1)。

然后,启动程序代码会遍历此向量,并将epsilon添加到向量中的每个条目。

梯度检查是否通常还包括在常数上加上epsilon /减法?还是仅仅是为了方便起见,因为常量在成本函数的总体计算中只发挥相对较小的作用?

1 个答案:

答案 0 :(得分:1)

无论如何,都应该这样做,即使是常量也是如此。原因很简单:作为常数,您知道它们的梯度为零,因此您仍然希望检查是否正确地“计算”了它。您可以将其视为额外的安全网