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
我没有看过神经网络最长的时间(10年+),但在看到你的问题之后,我想我会快速了解一下.我一直在互联网上看到与增加(a)和减少(b)因子(分别为1.2和0.5)有关的相同数字.
我设法将这些值追踪到Martin Riedmiller和Heinrich Braun的RPROP算法(1992).Riedmiller和Braun对于明智的参数选择非常具体.
我希望这有帮助.