在梯度检查中,我们是否对 theta 和常量参数 b 都 add/subtract epsilon(一个很小的值)?
In gradient checking, do we add/subtract epsilon (a tiny value) to both theta and constant parameter b?
我一直在学习 Andrew Ng 的深度学习 AI 课程(课程 2)。
对于梯度检查练习,他实现了一个函数,将包含所有权重 (W) 和常量 (b) 的字典转换为单个单热编码向量(尺寸为 47 x 1)。
起始代码然后遍历此向量,将 epsilon 添加到向量中的每个条目。
梯度检查通常包括向常量添加 epsilon/subtracting 吗?或者只是为了方便,因为常数在成本函数的整体计算中所起的作用相对较小?
无论如何你都应该这样做,即使是常量。原因很简单:作为常数,你知道它们的梯度为零,所以你仍然想检查你 "compute" 它是否正确。您可以将其视为额外的安全网
我一直在学习 Andrew Ng 的深度学习 AI 课程(课程 2)。
对于梯度检查练习,他实现了一个函数,将包含所有权重 (W) 和常量 (b) 的字典转换为单个单热编码向量(尺寸为 47 x 1)。
起始代码然后遍历此向量,将 epsilon 添加到向量中的每个条目。
梯度检查通常包括向常量添加 epsilon/subtracting 吗?或者只是为了方便,因为常数在成本函数的整体计算中所起的作用相对较小?
无论如何你都应该这样做,即使是常量。原因很简单:作为常数,你知道它们的梯度为零,所以你仍然想检查你 "compute" 它是否正确。您可以将其视为额外的安全网