【神经网络】学习笔记九—学习率浅析

一、什么是学习率(Learning rate)

学习率(Learning rate)作为监督学习以及深度学习中重要的超参数,其决定着目标函数是否能收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。它指导我们在梯度下降法中,如何使用损失函数的梯度调整网络权重的超参数

调整权重公式如下:new_weight = old_weight - learning_rate * gradient

二、学习率对损失值和深度网络的影响

【神经网络】学习笔记九—学习率浅析_第1张图片

从图一可以看出,如果学习率过小,损失函数的变化速度会很慢,大大增加网络的收敛复杂度,并且很容易困在局部最小值;从图二可以看出,如果学习率过大,可能会使损失函数直接越过全局最优点,梯度在最小值附近来回震荡,甚至可能无法收敛

三、学习率的作用

选择一个好的学习率,可以抽象为两点好处:

——更快达到loss的最小值;

——保证收敛的loss值是神经网络的全局最优解;

四、如何选择学习率

现阶段研究中,共同认同的学习率设置标准为:首先设置一个较大的学习率,使网络的损失值快速下降,然后随着迭代次数的增加一点点减少学习率,防止越过全局最优解。

学习率的调整办法分为以下三种:

(1)离散下降:每t轮学习,学习率减半;

(2)指数减缓:学习率按训练轮数增长指数差值递减,如\alpha =0.95^{epoch_num}\cdot \alpha _{0}

(3)分数减缓:如原始学习率\alpha,学习率按照下式递减:\alpha =\alpha _{0}/(1+kt),k为超参数,用来控制学习率减缓幅度,t为训练轮数;

大多数网络的学习率初始值设为0.01和0.001为宜。

你可能感兴趣的:(神经网络,神经网络,深度学习)