在神经网络中进行自适应学习率时使用哪个乘法和加法因子?

tun*_*nuz 6 backpropagation neural-network

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

该想法是当误差变小时将学习速率增加恒定值a,并且当误差变大时将学习速率减小学习速率的分数b.所以基本上学习率的变化取决于:

+(a)
Run Code Online (Sandbox Code Playgroud)

如果我们正朝着正确的方向学习,那么

-(b * <learning rate>)
Run Code Online (Sandbox Code Playgroud)

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

谢谢你,
Tunnuz

Mar*_*ren 6

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

我设法将这些值追踪到Martin Riedmiller和Heinrich Braun的RPROP算法(1992).Riedmiller和Braun对于明智的参数选择非常具体.

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

我希望这有帮助.