如何解决RNN/GRU 增加验证损失但减少平均绝对误差
我是深度学习的新手,我尝试实现一个 RNN(有 2 个 GRU 层)。 起初,网络似乎做得很好。但是,我目前正在尝试了解损失和准确度曲线。我附上了下面的图片。深蓝色线是训练集,青色线是验证集。 50 个 epoch 后,验证损失增加。我的假设是这表明过度拟合。但是,我不确定为什么验证平均绝对误差仍然会降低。你有什么想法吗?
我想到的一个想法是,这可能是由我的数据集中的一些大的异常值引起的。因此,我已经尝试清理它。我还尝试正确缩放它。我还添加了一些 dropout 层以进行进一步的正则化(rate=0.2)。然而,这些只是普通的 dropout 层,因为 cudnn 似乎不支持来自 tensorflow 的 recurrent_dropout。
备注:我使用负对数似然作为损失函数,使用张量流概率分布作为输出密集层。
任何提示我应该调查什么? 提前致谢
编辑:我还附上了评论中推荐的非概率图。似乎这里的平均绝对误差表现正常(不会一直改善)。
解决方法
你的模型的输出是什么?您使用负对数似然(基本上“适用于”分布)作为损失函数,但使用 MAE 作为度量,这听起来很奇怪,它适用于确定性连续值。
我不知道你的任务是什么,也许这对你的具体情况很有意义,但也许奇怪的行为就是从那里出来的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。