当前位置:   article > 正文

关于欠拟合、过拟合和模型容量的思考_transformer过拟合

transformer过拟合

最近在使用transformer模型做时间序列预测的问题。遇到了训练集损失正常下降但是验证集过拟合的现象。查阅资料和书籍后记录一下:
简单来说就是一个神经网络模型参数对应着这个模型的容量,在训练模型的时候训练数据集的大小要和模型的容量大小相匹配。
如果数据量足够大而模型容量较小,模型的拟合能力就会过差。在模型训练的时候就会出现训练集损失难以下降,从而导致验证或者测试集效果更差,这个是欠拟合的现象。
如果模型过于庞大而数据集不够,可以预见的情况是你的训练集表现会非常好,很大的模型能够很好的拟合你的训练集,但是测试集上表现会很差,会出现训练集损失下降而验证集损失起飞的现象,这个情况就是过拟合。

训练集正常下降
上图训练集正常下降,横轴为epoch,纵轴为MSEloss
验证集损失飘飞
与此同时测试集损失飘飞
加入0.1的drop-out
上图为加入0.1的drop out后验证集的表现
要解决这个问题有两个方向:
1.增大你的数据集使之与你的模型容量相匹配
2.减少你的模型容量,比如说增加dropout等正则化手段。
或者减小你模型的参数数量,比如说在transformer中最显著的就是直接砍掉encoder或者decoder的层数,比如说从6砍到2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/487216
推荐阅读
相关标签
  

闽ICP备14008679号