学习率lr
学习率一般指在计算损失函数Loss时,控制函数自变量的变化大小(通常自变量为训练周期epoch),以使得因变量(损失值)渐趋最小或局部最小。
在深度学习中,我们希望每次训练的损失值越小越好,学习率正是用来降低损失值的一个影响自变量的常量。
学习率通常设置为一个比较小的正数,一般是0.001, 0.0001, 0.00001或 0.000001等中的一个值,选择哪个值的最根本的依据是:
1、在网络很复杂的情况下,学习率不能过低,否则传到后面的时候就会出现梯度消失的情况。
2、三五层的网络学习率基本要小于1*e^(-5),不然会出现下降过快从而导致震荡的情况。
3、初始的学习率可以随意选择来试探,如果发现loss损失值下降得过快,则需要降低学习率。如果发现loss损失值降低不下去,就应适当增加学习率。
学习率太小:导致梯度下降缓慢,训练时间长
学习率太大,导致振荡,无法收敛
PS:文章仅为个人学习笔记,知识非原创