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

 

posted @ 2016-06-02 12:45  路萧  阅读(2308)  评论(0编辑  收藏  举报