梯度检测是用来验证反向传播算法的正确性的。
当θ是实数的时候,我们求该点的导数时的运算过程如下:
当θ为向量时,我们求导数的过程就变成了对各个θ求偏导数:
梯度检测的过程:之前学过的反向传播算法的过程就是不断地求导,梯度检测就是通过求偏导数,验证结果是否与之前反向传播算法得到的结果是一样的或者相差很小。
整个算法的实现过程:
首先运用反向传播算法求出DVec,这个运用梯度检测算法求出gradApprox,将两者比较验证反向传播算法的真确性,最重要的是在运行反向传播算法之前要关掉梯度检查算法,因为已经验证是正确的了,最后运行反向传播算法,这是运行结果就是正确的。