Machine learning 机器学习:如果损失停滞不前,重新培训模型是否更好?

Machine learning 机器学习:如果损失停滞不前,重新培训模型是否更好?,machine-learning,computer-vision,deep-learning,Machine Learning,Computer Vision,Deep Learning,意思是说,如果在培训期间,您设定的学习率过高,并且不幸达到了当地的最低值,而该值过高,那么以较低的学习率进行再培训是否有好处,或者对于表现不佳的模式,您应该从较高的学习率开始,希望损失能超过当地最低限度?严格意义上说,你不必再培训,因为你可以以较低的学习率继续培训,这称为学习计划。一种非常常见的方法是,每次损失停滞或变得恒定时,通常除以10来降低学习率 另一种方法是使用一个优化器,该优化器可以根据梯度大小调整学习速率,因此当您接近最小值时,学习速率会自然衰减。ADAM、Adagrad和RMSPr

意思是说,如果在培训期间,您设定的学习率过高,并且不幸达到了当地的最低值,而该值过高,那么以较低的学习率进行再培训是否有好处,或者对于表现不佳的模式,您应该从较高的学习率开始,希望损失能超过当地最低限度?

严格意义上说,你不必再培训,因为你可以以较低的学习率继续培训,这称为学习计划。一种非常常见的方法是,每次损失停滞或变得恒定时,通常除以10来降低学习率

另一种方法是使用一个优化器,该优化器可以根据梯度大小调整学习速率,因此当您接近最小值时,学习速率会自然衰减。ADAM、Adagrad和RMSProp就是这样的例子


在任何情况下,确保在验证集上找到最佳学习速率,这将大大提高性能并加快学习速度。这既适用于普通SGD,也适用于任何其他优化器。

尽管我使用的是学习率调度和/或ADAM,但仍然选择了更好的学习率,这大大改进了我的各种模型。我还想说,调整后的SGD参数将比ADAM和co更好。在大多数情况下,通过仔细的超参数优化;如果有足够的资源做到这一点。大多数被引用的论文使用香草SGD,并经常解释选择;大多数情况下:为最终学习任务进行更快的训练,通常甚至没有动力。@ThomasPinetz是的,我同意,我忘记了:这不能在一般情况下回答。这两种方法都可能奏效,也可能失败。它总是依赖于NN+数据。通常使用数据集的一小部分来调整学习率,这也可能在非凸优化中失败,但这在凸环境中是一种有效的方法,有理论支持,我们使用的是训练算法,这些算法毕竟是为凸优化开发的;因此,它在实践中效果相当好。