【问题标题】:Decrement learning rate in error back propagation algorithm错误反向传播算法中的递减学习率
【发布时间】:2018-04-02 23:43:22
【问题描述】:

这或多或少是一个普遍的问题,在我的反向传播算法的实现中,我从一些“大”学习率开始,然后在我看到错误开始增长后降低它,而不是缩小。 我可以在错误增长一点之后(StateA)或在它即将增长之前(StateB,回滚到以前的“成功”状态)来降低这个速率

所以问题是从数学的角度来看什么更好? 还是我需要执行两个并行测试,假设尝试从 StateA 点学习,然后从 StateB 点学习,两者都降低了学习率,并比较哪个降低得更快?

顺便说一句,我没有尝试上一段的方法。只有在我写这个问题时才会想到它。在当前算法的实现中,我继续从 StateA 学习,学习率降低,假设学习率的降低相当小,如果我不小心只遇到局部最小值,我会回到先前的方向到全局最小值

【问题讨论】:

    标签: machine-learning neural-network backpropagation gradient-descent supervised-learning


    【解决方案1】:

    您所描述的是一种称为学习率调度的技术集合。只是为了让你知道,有两种以上的技术:

    • 预先确定的 piesewise 恒定学习率
    • 绩效计划(看起来最接近您的计划)
    • 指数调度
    • 电源调度
    • ...

    每一个的确切性能在很大程度上取决于优化器(SGD、Momentum、NAG、RMSProp、Adam...)和数据流形(即训练数据和目标函数)。但是他们已经针对深度学习问题进行了研究。例如,我推荐你this paper by Andrew Senior at al,它比较了语音识别任务的各种技术。作者得出的结论是指数调度表现最好。如果你对它背后的数学感兴趣,你一定要看看他们的研究。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多