关于learning_rate
来源:5-1 adagrad_adam
慕瓜7596423
2018-10-29
老师好,
这节课中各种降梯度的方法我都看懂了,唯一不明白的是learning_rate,为什么每种方法都会在最后更新x(参数)的时候,先乘一个learning_rate啊?学习率不应该是在多次迭代的过程中,自动更新的吗?那就不需要一开始设置一个learning rate啊。而且照您说还要把这个东西一开始设置的很小,但从公式来看,这个learning rate每次都不参与更新,并且每次都要跟更新后的梯度做乘积,那不就把自动调整好的梯度都给乘没了吗(因为learning rate是个很小的小数)?
写回答
1回答
-
正十七
2018-10-30
刚开始学习率很低是为了使得训练更加稳定,因为较大的梯度会导致训练震荡。
最朴素的方法学习率是不变的。但是有些方法会根据训练次数来对学习率进行调整,还有自适应的算法,即根据每个参数被更新的情况来设置学习率。
如果梯度乘没了,那么就代表训练收敛了,这时如果没有达到较好的效果,可以算是欠拟合。需要重新调整学习率进行训练。当然,一般情况下大家都会使用自适应调整学习率的训练方法,比如Adam。
012018-11-02
相似问题
图像检测分类问题
回答 2
关于eval()函数
回答 1