警告:捕获异常/无法将网络重置为较小的学习率
在运行一个小型神经网络示例时收到此消息。没有得到堆栈跟踪消息。
< ?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.0 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
< /操作符>
< /操作符>
< /操作符>
<枚举关键= "分区" >
< /枚举>
< /操作符>
< /操作符>
< /操作符>
> < /过程
< /操作符>
<枚举关键= "分区" >
< /枚举>
< /操作符>
< /操作符>
< /操作符>
<列出关键= " hidden_layers " >
< / >列表
< /操作符>
< /操作符>
< /操作符>
<列出关键= " application_parameters " / >
< /操作符>
<参数键="属性"值="预测(类)"" / >
< /操作符>
< /操作符>
< /操作符>
“参数”<列表键= >
<参数键= " NNTrain。learning_rate“价值= "[。1。9;3;线性]" / >
<参数键= " NNTrain。势头“价值= "(0.0,1.0,4;线性)" / >
< / >列表
<列出关键= " hidden_layers " / >
< /操作符>
> < /过程
<列出关键= " application_parameters " / >
< /操作符>
< /操作符>
> < /过程
< /操作符>
<列出关键= "日志" >
< / >列表
< /操作符>
> < /过程
< /操作符>
<列出关键= " name_map " >
< / >列表
< /操作符>
> < /过程
< /操作符>
> < /过程
0
答案
似乎是神经网络依赖的库中的一个bug。尝试更改您的学习率参数设置。
问候,
塞巴斯蒂安。
你指的是哪个图书馆?
有可能很快修好吗?
谢谢你!
抱歉,但目前这不是我们的首要任务。正如我所说:尝试使用不同的学习率参数。或者更好:如果可能的话,尝试其他的学习算法。根据我的经验,神经网络是强大的多工具,但可以被更专业的算法超越。
问候,
塞巴斯蒂安。
很抱歉继续这条线,但我对这个问题又有几个问题。
我也从rapidminer/joone-net和weka-multiperceptron中得到了“学习率太小”的错误。
那么,如果它发生在两个神经网络实现中,它真的是一个实现错误吗?
为什么学习率收敛到0,即使我没有设置衰减参数?这在反向传播中是正常的吗?
就我所知:没有。在我看来,这根本说不通。
不幸的是,我没有时间深入研究代码来解决这个问题……但是如果有任何解决方案,请告诉我,我会立即包含到代码中。
问候,
塞巴斯蒂安。
我在数据集上得到了同样的错误信息,对我来说,这是一个零除问题。我在我的数据集中有赔率,当我通过做1/赔率来计算它们的百分比时,赔率结果是零,我在尝试做参数优化时得到了这个错误。只要从数据集中去掉零概率就解决了我的问题。这些在我的示例数据集中显示为∞。
我也遇到了同样的问题。在使用rapidminer进行神经网络训练的两次尝试中,似乎有一次会出现这种情况。我使用的数据集是干净的,不包含缺失或无限值。改变学习率也无济于事。
至少在我的经验中,如果没有适当的解决方案,这是一个可能阻止我进一步使用rapidminer的主要错误。关于这个话题有什么进展吗?
提前感谢
托马斯。
谢谢你让我们想起这个问题。如果计算误差为无穷大,则学习率将自动除以2,这可能是由于数据错误或根本没有学到任何东西而发生的。如果这种情况发生得太频繁,学习率就会变得太小(接近于0),并呈现出消息。
由于神经网络在我们的测试数据集上表现得非常好(由于几个原因,我们几乎没有在我们的项目中使用神经网络),不幸的是,我们无法重现这一点,并检查这里是否有任何问题,或者这是否确实是有意的行为。是否有可能与我们共享数据集和流程,以便我们尝试重现问题?
如果有,请联系contact (at) rapidi.com。
谢谢你的支持。欢呼,
Ingo
感谢您的及时回复。我给你发了一封电子邮件,附上了一个场景。
关于当前的神经网络实现,我还有一些问题:
1)根据帮助框中的说明,没有隐藏层我无法设置网络。
2)在我看来,基本的“权重衰减”参数是缺失的?衰减复选框指的是学习率的降低,而不是权重的正则化(一个重要的调优参数)。
3)激活功能还不能(尚)由用户控制,我说的对吗?
4)我认为使隐藏神经元的数量从参数网格搜索算子中可控是有用的。
最好的
托马斯。
谢谢你发来的bug报告。我们的开发人员会对此进行更深入的研究。也感谢其他的问题和评论。帮助文本似乎指的是旧版本的操作符,它确实更强大(没有隐藏层可能,激活函数可控),但速度很慢,并且提供了相当糟糕的预测性能。在重新设计过程中,这两个功能似乎被删除了(可能是出于一些很好的原因)。
通过参数优化控制不仅对神经元的数量是不可能的,而且对所有基于列表的参数设置也是不可能的。解决这个问题远非微不足道,但这个问题在我们(不断增长的)待办事项清单上。
欢呼,
Ingo