6

我是神经网络的新手,为了掌握这个问题,我已经实现了一个基本的前馈 MLP,我目前通过反向传播进行训练。我知道有更复杂和更好的方法可以做到这一点,但在机器学习简介中,他们建议通过一两个技巧,基本梯度下降可以有效地从现实世界的数据中学习。技巧之一是自适应学习率

这个想法是当误差变小时将学习率增加一个常数值a,当误差变大时将其降低学习率的一部分b。所以基本上学习率的变化取决于:

+(a)

如果我们朝着正确的方向学习,并且

-(b * <learning rate>)

如果我们正在破坏我们的学习。但是,在上面的书中没有关于如何设置这些参数的建议。我不希望有一个精确的建议,因为参数调整本身就是一个完整的主题,但至少在它们的数量级上只是一个提示。有任何想法吗?

谢谢你,
图努兹

4

1 回答 1

6

我已经有很长时间没有研究过神经网络了(10 年以上),但是在我看到你的问题之后,我想我会快速了解一下。我一直在互联网上看到与增加(a)和减少(b)因子(分别为1.20.5)相关的相同数字。

我设法将这些值追溯到 Martin Riedmiller 和 Heinrich Braun 的RPROP 算法(1992)。Riedmiller 和 Braun 对于合理的参数选择非常具体。

请参阅:RPROP:一种快速自适应学习算法

我希望这有帮助。

于 2011-09-12T22:43:37.667 回答