我是深度学习的新手,我尝试实现一个 RNN(有 2 个 GRU 层)。起初,网络似乎做得很好。但是,我目前正在尝试了解损失和准确度曲线。我附上了下面的图片。深蓝色的线是训练集,青色的线是验证集。在 50 个 epoch 之后,验证损失会增加。我的假设是这表明过度拟合。但是,我不确定为什么验证平均绝对误差仍然会减少。你有什么想法吗?
我想到的一个想法是,这可能是由我的数据集中的一些大异常值引起的。因此,我已经尝试清理它。我也尝试正确缩放它。我还添加了一些 dropout 层以进行进一步的正则化(rate=0.2)。然而,这些只是正常的 dropout 层,因为 cudnn 似乎不支持 tensorflow 的recurrent_dropout。
备注:我使用负对数似然作为损失函数,使用张量流概率分布作为输出密集层。
任何提示我应该调查什么?提前致谢