了解如何实现NN的自适应学习速率和动量

时间:2017-03-11 11:50:10

标签: vb.net machine-learning neural-network artificial-intelligence backpropagation

我最近一直在努力创造一种自适应学习率和动力但没有成功。我已经成功创建了一个有效的NN,但我找到的麻烦就是选择合适的学习率。

这就是为什么我决定使用自适应学习率,但是,无论我在这个主题上做了多少研究,我根本不理解算法,可能是因为我不熟悉神经网络。

我想知道是否有人能够简化这些动量和自适应学习速率算法的知识,能够发布初学者可以理解的解释。我正在使用VB.net控制台应用程序来编程它,如果这让你了解我是多少初学者。

非常感谢你的时间。如果我问过一个不好的问题或一个没有意义的问题,请告诉我,我会尝试解决这个问题:)

谢谢大家。

PETER JAMIESON

1 个答案:

答案 0 :(得分:0)

所以我听说有两种自适应学习率的算法。

  • Delta bar delta rule
  • 模糊逻辑

我只有模糊逻辑经验。因此,您传递样本并计算数据集和错误的错误(实际错误 - 上一个纪元中的错误)。在此基础上,您构建了一个直观的规则,如

如果错误是大而小,那么学习率的变化是大的

等。为了执行这样的事情,你必须知道大致的错误界限。例如,您执行分类任务,并且您只有两个类。所以最差的错误是5和-5(所有样本的5都是1,但网络将它们分类为0,反之亦然)。此范围定义了universum(x轴)。对于derror,您执行类似的计算。所以你有范围,现在你可以建立模糊集。对于建筑集我不能建议进场。只尝试与简单逻辑混合的错误(大错误需要大改进)。

Here is some notes about fuzzy logic and learning rate and also Matlab implementation