1.13 梯度检验(Gradient checking)
Previous1.12 梯度的数值逼近(Numerical approximation of gradients)Next1.14 梯度检验应用的注意事项(Gradient Checking Implementation Notes)
Last updated
Last updated
梯度检查要做的是将这些矩阵构造成一维向量,然后将这些一维向量组合起来构成一个更大的一维向量。这样的cost function可以表示成
然后将反向传播过程通过梯度下降算法得到的按照一样的顺序构造成一个一维向量。的维度与一致
接着利用对每个算近似梯度,其值与反向传播算法得到的相比较,检查是否一致。例如,对于第个元素,近似梯度为:
计算完所有的近似梯度后,可以计算与的欧氏(Euclidean)距离来比较二者的相似度。公式如下:
如果欧氏距离越小,例如,甚至更小,则表明与越接近,即反向梯度计算是正确的,没有bugs。如果欧氏距离较大,例如,则表明梯度计算可能出现问题,需要再次检查是否有bugs存在。如果欧氏距离很大,例如,甚至更大,则表明与差别很大,梯度下降计算过程有bugs,需要仔细检查