Keras的深度学习-为什么网络只学习预测输入数据的均值?

我目前正在尝试在Keras(python)中训练密集序列模型。输入是[x,7]的矩阵,输出是[x,6](x约为120万个样本)。每个x是一个张量(向量)。在假设输入输出相互关联的前提下,我建立了一个模型,该模型具有与输入向量相同的层数(7)。经过许多次尝试和更改后,我在输出层中将RELU和Sigmoid用作激活函数。 最近,将我的数据标准化为(0,1)后,训练过程进行得非常好,运行了大约800-1000个纪元,并实现了大约9.4(批量大小64)的快速val_loss。

我想我应该很高兴..不!

尽管我得到的预测值接近所需的值,但它们似乎与平均值没有太大的偏差。检查数据,我发现多次出现0,并且结果在归一化后“包围” 0的值。当然,这会导致最终矩阵损失很多“细节”,或者导致其他部分看起来很随机。 我非常肯定该模型不会过拟合,因为我一开始就遇到了这个问题,并通过辍学和l1正则化对其进行了修复。

当然,删除所有零将导致数据较少的“新”数据集,我可以尝试使用该数据集,但需要大量时间来再次调整模型。除了我可以处理数据的相互作用之外,没有人有任何可以尝试的建议/想法吗?

(让我知道是否有更多的数据,例如直方图或范围,甚至代码也有帮助,我将上传它们)

谢谢!

Dimitri

liulinjian123 回答:Keras的深度学习-为什么网络只学习预测输入数据的均值?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3092187.html

大家都在问