卷积神经网络调参之学习率

     最近在训练一个人脸识别的神经的网络时,经过几十次迭代后,代价函数的值没什么变化。如是百度了一下,看原因是什么。百度上说有可能是学习率过大造成的,我试着将学习率减小到了0.01(原本时0.1),果然有效果,经过几十次迭代后,代价函数的值依然在收敛。这是什么原因呢?下面谈谈我的看法。

    我们知道权值代价函数Loss是关于权值W的函数,即Loss(W)。权值的更新公式为:

卷积神经网络调参之学习率

卷积神经网络调参之学习率

    假设Loss的函数图像如下(实际情况图像更复杂)

卷积神经网络调参之学习率

如上图所示,代价函数在卷积神经网络调参之学习率处求导,然后将导数乘以学习率卷积神经网络调参之学习率,假若你的学习率过大,将导致更新完的权值为上图卷积神经网络调参之学习率处,此时代价函数的值和卷积神经网络调参之学习率处的代价函数的值很接近,而不是理想状态下的卷积神经网络调参之学习率。经过下一次迭代权值更新又会回到卷积神经网络调参之学习率附近,最后循环往复,代价函数很难收敛。如果学习率过小,会导致权值更新很小,导致代价函数收敛的很慢,模型训练的速度比较慢。

综上所述,在调参时,学习率也是我们要关注的。