我正在训练CNN模型进行简单的分类任务(猫或狗)。当学习率为0.005时,该模型不会学习(所有时期的验证损失为0.5)。我将学习率改为0.001并且模型开始学习(验证损失开始减少并且在第24个时期收敛)。任何改变学习率的想法都会导致这种差异?
答案 0 :(得分:1)
学习率代表(简单来说)模型改变其认为对于识别样本很重要的特征的速度。因此,如果你的学习率太高,它可能会经常更改这些关键功能而根本不会学习,因为它放弃了一个重要的功能,因为学习率太高而且它告诉模型转移到其他功能。在你的情况下,你的学习率太高了。
它通常有一个起始值,但它带有一个递减函数,当学习过程向前移动时,它将降低学习速率,因此如果你的学习速率停留在某个值,你也应该检查它。因为学习速率是网络优化的一个参数,需要调整才能达到最佳状态。
关于随机梯度下降的Wikipedia文章显示了在整个优化过程中学习率在数学上的位置,你应该检查出来。