CNN-梯度下降

Posted 路萧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CNN-梯度下降相关的知识,希望对你有一定的参考价值。

一、梯度检测:

对于函数而言通常有两种计算梯度的方式:

 1.数值梯度 (numberical gradient)

 2.解析梯度 (analytic gradient )

 数值梯度计算通常为:

更为常见的是:

h是一个很小的数,在实际当中通常为1e-5

假设数值梯度为ƒ’a 解析梯度为ƒ’n ,则数值梯度和解析梯度的误差relative error:

relative error >1e-2 通常情况梯度是错误的

1e-4 < relative error < 1e-2 并不是很好

relative error < 1e-4 对于有拐点的函数是ok的,但是如果没有拐点(如tanh nonlinearities and softmax),1e-4 太高了

relative error 或者更小最好

警告:建议使用双精度来进行梯度检测

有拐点的函数例如 ReLU(max(0,x)) 或者SVM loss

h并不是越小越好,h太小容易出现精度问题,h通常在1e-4到 1e-6

正则化容易将改变原先的梯度,最好是先进行梯度计算,然后在正则化梯度计算

梯度下降检测时不要进行dropout

 

以上是关于CNN-梯度下降的主要内容,如果未能解决你的问题,请参考以下文章

关于梯度下降的基本思想

TensorFlow的梯度裁剪

梯度下降法是啥?

为啥随机梯度下降方法能够收敛

梯度下降法

随机梯度下降算法