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

Neural network 在神经网络中进行自适应学习时使用哪种乘法和加法因子?,neural-network,backpropagation,Neural Network,Backpropagation,我是神经网络新手,为了掌握这个问题,我已经实现了一个基本的前馈MLP,目前我通过反向传播进行训练。我知道有更复杂和更好的方法可以做到这一点,但在他们看来,通过一两个技巧,基本梯度下降可以有效地从真实世界的数据中学习。其中一个技巧是自适应学习速率 其思想是,当误差变小时,将学习率增加一个常数a,当误差变大时,将学习率减少一部分b。因此,学习率的变化基本上由以下因素决定: +(a) 如果我们的学习方向正确 -(b * <learning rate>) —(b*) 如果我们破坏了我们

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

其思想是,当误差变小时,将学习率增加一个常数a,当误差变大时,将学习率减少一部分b。因此,学习率的变化基本上由以下因素决定:

+(a)
如果我们的学习方向正确

-(b * <learning rate>)
—(b*)
如果我们破坏了我们的学习。然而,在上面的书中没有关于如何设置这些参数的建议。我不希望得到精确的建议,因为参数调整本身就是一个完整的主题,但至少在数量级上只是一个提示。有什么想法吗

谢谢你,

Tunnuz

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

我已经设法追踪到马丁·里德米勒(Martin Riedmiller)和海因里希·布劳恩(Heinrich Braun)(1992年)的这些价值观。Riedmiller和Braun对可选择的合理参数非常具体

见:


我希望这会有所帮助。

我愿意接受这个答案,但考虑到这些数字用于扩展或缩小学习率值(应为[0.0,1.0]),它们看起来像是非常大的数字。您确定它们在RPROP中没有不同的含义吗?提到的值专门用于增加/减少系数(用于在您开始偏离航线时纠正您)。如果你看一下PDF(搜索对我来说不起作用,可能是一个乳胶的东西——页面顺序似乎是向后的!)我想它提到了一个学习率(ε和δ零——取决于算法)。在一个表中,其值为0.05。它还提到了其他可能的算法(BP、SuperSAB、QuickProp)以及使用其他值/算法时给出的结果;对神经网络的简单解释似乎有点难(也许有人应该写一本书——也许是一本避免可怕的微积分符号的书)。无论如何,我设法找到了一些相当清晰的伪代码:Ok。RPROP非常好,我应该尽快看一看,但是:我确实相信我所指的a,b参数与RPROP中的eta+和eta-有显著不同的含义。据我所知,eta+和eta-直接用作学习率,而a和b用于根据上次收到的错误影响学习率,但学习率随后用于计算权重更新。这就是为什么我不会接受这个答案,尽管如此,我还是会赏赐你们,因为你们回答这个问题的努力是令人钦佩的。