0

我是深度学习的新手,我尝试实现一个 RNN(有 2 个 GRU 层)。起初,网络似乎做得很好。但是,我目前正在尝试了解损失和准确度曲线。我附上了下面的图片。深蓝色的线是训练集,青色的线是验证集。在 50 个 epoch 之后,验证损失会增加。我的假设是这表明过度拟合。但是,我不确定为什么验证平均绝对误差仍然会减少。你有什么想法吗?

我想到的一个想法是,这可能是由我的数据集中的一些大异常值引起的。因此,我已经尝试清理它。我也尝试正确缩放它。我还添加了一些 dropout 层以进行进一步的正则化(rate=0.2)。然而,这些只是正常的 dropout 层,因为 cudnn 似乎不支持 tensorflow 的recurrent_dropout。

备注:我使用负对数似然作为损失函数,使用张量流概率分布作为输出密集层。

任何提示我应该调查什么?提前致谢

概率的

编辑:我还按照评论中的建议附加了非概率图。似乎在这里平均绝对误差表现正常(不会一直改善)。 非概率的

4

1 回答 1

1

你的模型的输出是什么?听起来很奇怪,您使用负对数似然(基本上“适用于”分布)作为损失函数,但 MAE 作为度量,它适用于确定性连续值。

我不知道你的任务是什么,也许这在你的具体情况下是有意义的,但也许奇怪的行为就是从那里出现的。

于 2021-04-19T17:55:20.363 回答