我最近一直在尝试创造一个自适应的学习率和动量,但没有成功。我已经成功地创建了一个工作的NN,但是我发现的问题是选择正确的学习率。
这就是为什么我决定使用自适应学习率,但是,无论我在这个主题上做了多少研究,我只是不理解算法,可能是因为我是神经网络的新手。
我想知道,是否任何有知识简化这些算法的动量和自适应学习率的人能够发布一个初学者可以理解的解释。我正在使用VB.net控制台应用程序对其进行编程,如果这能让您了解我是一个多么新手的话
非常感谢您的宝贵时间。如果我问了一个糟糕的问题或一个没有意义的问题,请让我知道,我会尝试解决这个问题:)
谢谢你们所有人。
彼得·贾米森
发布于 2017-03-16 21:01:36
所以我听说了两种自适应学习率的算法。
我只有模糊逻辑的经验。因此,您可以传递样本并计算数据集误差和derror(实际误差-前一个时期的误差)。并在此基础上构建一个直观的规则,如
如果误差较大,误差较小,则学习率的变化较大
等。为了执行这样的事情,你必须知道大致的误差界限。例如,您执行分类任务,而您只有两个类。因此,最坏的错误是5和-5 (所有样本的5都是1,但网络将它们分类为0,反之亦然)。这个范围定义你的宇宙和(x轴)。对于derror,您可以执行类似的计算。所以你有了范围,现在你可以建立模糊集。对于构建集合,我不推荐使用方法。只尝试错误与简单的逻辑混合(大错误需要大改进)。
Here is some notes about fuzzy logic and learning rate and also Matlab implementation
https://stackoverflow.com/questions/42734835
复制相似问题