Keras模型在1个历元后损失非常好,但在更多历元后并没有真正好转

时间:2018-11-26 20:26:23

标签: tensorflow machine-learning keras

你好,我只是想问这个理论问题。 造成这种情况的原因可能是,模型在一个时间段内就已经损失了非常多的数据(归一化数据为0.004),但是这种损失并没有随着时间的推移而真正减少(在10个时间段后仍为0.0032)。

它通常不会随着时间的流逝而减少更多吗?

该数据集非常大,有超过一百万个数据点,我没想到仅在1个纪元后就会出现如此巨大的损失。

那么我可以对此模型进行哪些更改或我做错了什么? (这是一个紧密联系的神经网络,通过adam和mse预测回归)

2 个答案:

答案 0 :(得分:0)

有多种可能性,但是问题需要澄清。

您可以指定目标范围吗?
0.004听起来可能很低,但例如您的目标范围是0到0.0001,则不是。

您的验证和测试数据集的指标是什么?在不知道验证损失的情况下,损失本身并不能说太多。

猜测0.004太好了以至于不正确,您的模型可能过度拟合。 尝试实施辍学以避免过度拟合。

如果您的模型未过度拟合,则可能是亚当(Adam)超出了(局部)最小值的情况。尝试降低其学习率,或尝试使用自定义超参数进行sgd。这确实需要很多调整。

斯坦福大学在Coursera上开设了一门名为“机器学习”的免费课程。这很好地涵盖了有关这些概念的理论。

答案 1 :(得分:-1)

尝试更改(增加或减少)学习率。这样就可以确保重量发生明显变化。您还可以检查卷积后是否缺少激活(例如relu)。您也可以尝试其他网络,例如Alexnet或VGG16。我建议您参加一些有关深度学习的在线课程,这会有所帮助。我总结了要点from github