Advertisement

Learning Notes: Verify Neural Network Model Using Gradient Checking

阅读量:

利用Gradient Checking检查神经网络模型

完成神经网络模型构建之后,如何检测其中是否存在错误呢?此时需要借助Gradient Checking技术进行验证。
通常情况下,前向传播过程中的计算较为稳定,不易出现偏差,而反向传播计算环节则容易产生错误。
对于学习过微积分知识的人来说,某一点的导数可以通过如下公式进行近似表达:

这里写图片描述

通过对比近似梯度(gradapprox)与真实梯度(grad)之间的偏差,若该偏差处于可接受范围内,则可判定反向传播网络的计算流程是正确的。
用于衡量偏差的计算方式如下:

(在Python编程环境中,上述表达式的分子部分可通过调用np.linalg.norm(…)函数实现计算)

当Gradient Checking的执行结果良好时,无需在每次训练迭代过程中都进行验证,仅需进行几次测试以确认无误即可停止使用。实际上,Gradient Checking的作用在于验证反向传播算法所计算出的梯度与我们预先设定的梯度估计值是否高度一致。

注: 除非另有说明,以上所有插图均来源于吴恩达在Course

全部评论 (0)

还没有任何评论哟~