我正在从头开始构建一个前馈网络,并且有以下问题:我有4个神经元在入口,4个神经元作为出口,输入是[x;x;x;x],x要么是0,要么是1。输出必须与输入相同。
经过100多万条输入和1000批次的训练,我得到的结果总是在[0.5;0.5;0.5;0.5]左右。
我尝试更改了纪元数和条目数。
由于0.5是0和1的平均值,我认为它们一定是我问题的逻辑答案
编辑:我通过调试我的权重更改解决了这个问题。
发布于 2019-01-29 18:27:47
造成这种行为的原因有很多。最常见的是你的nn的能力太小了。NN模型希望最小化代价函数,如果不可能调整到模型函数的形状,则nn将平均函数,这是这种优化中的正常和最好的策略。第二种解释可能是你的数据里面没有任何模式。随机输入迫使神经网络返回分布的平均值。
我建议你通过增加隐层和额外的神经元(即50,100,200个神经元隐层)来增加网络的能力,并观察发生了什么。如果你因为梯度消失问题而不使用'relu‘激活函数,那么在添加多个隐藏层时要小心。
https://stackoverflow.com/questions/54355138
复制相似问题