Machine learning 误差反向传播算法中的学习率递减
这或多或少是一个一般性的问题,在我的反向传播算法的实现中,我从一些“大”的学习率开始,然后在我看到错误开始增长后降低它,而不是缩小。 我可以在错误增长一点之后(StateA)或即将增长之前(StateB,某种程度上回滚到以前的“成功”状态)降低速率 所以问题是,从数学的角度来看,什么更好? 或者我需要执行两个并行测试,比如说,尝试从点StateA学习,然后从点StateB学习,两者的学习率都降低了,并比较哪一个降低得更快Machine learning 误差反向传播算法中的学习率递减,machine-learning,neural-network,backpropagation,gradient-descent,supervised-learning,Machine Learning,Neural Network,Backpropagation,Gradient Descent,Supervised Learning,这或多或少是一个一般性的问题,在我的反向传播算法的实现中,我从一些“大”的学习率开始,然后在我看到错误开始增长后降低它,而不是缩小。 我可以在错误增长一点之后(StateA)或即将增长之前(StateB,某种程度上回滚到以前的“成功”状态)降低速率 所以问题是,从数学的角度来看,什么更好? 或者我需要执行两个并行测试,比如说,尝试从点StateA学习,然后从点StateB学习,两者的学习率都降低了,并比较哪一个降低得更快 顺便说一句,我没有尝试上一段的方法。只有在我写这个问题的时候,它才会出现在
顺便说一句,我没有尝试上一段的方法。只有在我写这个问题的时候,它才会出现在我的脑海里。在当前的算法实现中,我继续从学习率下降的StateA学习,假设学习率的下降幅度很小,使我回到先前的方向,达到全局最小值,如果我偶然遇到的只是局部最小值,那么您所描述的是一组称为学习速率调度的技术之一。让您知道,有两种以上的技巧:
- 预定的piesewise恒定学习率
- 性能计划(看起来与您的最接近)
- 指数调度
- 电力调度