当前位置:网站首页>训练集Loss收敛,但是测试集Loss震荡的厉害?
训练集Loss收敛,但是测试集Loss震荡的厉害?
2022-08-05 11:31:00 【GIS与Climate】
问题场景
今天在调试模型的时候发现训练集上Loss已经收敛了,但是在验证集上Loss震荡的比较厉害,如下图所示:
原因分析
查阅网上各种博客后发现验证集Loss震荡的原因可能有如下:
数据问题,比如训练集和验证集相差太大,数据量太小; batchsize太小,模型学习的规律不够“普适”; loss函数不合适; 学习率太大,模型陷入了局部最优点; 模型的网络结构存在问题; ......
知道了大概的原因之后,就可以逐个进行排查了。
数据上,检查自己的数据集train和valid的划分情况,基本上数据的分布应该是差不多的;数据量上1w+的图像,应该也还行; loss函数换了其他的进行试验还是一样的效果; 学习率使用动态调整策略,应该没什么问题(后面测试的时候即便调整了初试学习率,最后结果还是类似); 模型使用的是比较经典的超分模型,应该问题不大; 调整了下bs,从32调整到48,发现震荡变小了,效果如下图:
所以最终分析应该是batchsize太小的原因,如果可以再增大点估计效果更好,但是奈何GPU显存不够了。
总结
如果遇到Loss在训练集上已经收敛,但是在验证集上震荡比较厉害的情况,要按照可能的原因逐条分析,并且进行尝试。尝试的时候也要注意先进行理论上的分析再跑模型,不然的话可能也是白白浪费算力。
参考
【1】https://blog.csdn.net/qq_40689236/article/details/106794155
【2】https://zhuanlan.zhihu.com/p/483488388
边栏推荐
- lvgl 实现状态提示图标自动对齐补位显示
- 【C语言指针】用指针提升数组的运算效率
- 再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
- Flink Yarn Per Job - JobManger 申请 Slot
- How about Ping An Mengwa Card Insurance?Let parents read a few ways to identify products
- Hands-on Deep Learning_GoogLeNet / Inceptionv1v2v3v4
- Discover the joy of C language
- 普通二本毕业八年,京东就职两年、百度三年,分享大厂心得
- Guys, I am a novice. I use flinksql to write a simple count of user visits according to the document, but it ends after executing it once.
- 【深度学习】mmclassification mmcls 实战多标签分类任务教程,分类任务
猜你喜欢
随机推荐
【心里效应】98 个著名的心理效应
Hands-on Deep Learning_GoogLeNet / Inceptionv1v2v3v4
四、kubeadm单master
hdu 1870 愚人节的礼物 (栈)
【C语言指针】用指针提升数组的运算效率
数据治理体系演进简介
大佬们 我是新手,我根据文档用flinksql 写个简单的用户访问量的count 但是执行一次就结束
再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
365天挑战LeetCode1000题——Day 050 在二叉树中增加一行 二叉树
图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
#yyds干货盘点#JS数组和树相互转化
支持向量机SVM
OpenHarmony如何查询设备类型
nyoj1185最大最小值(线段树)
UDP通信
L2-042 老板的作息表
gradle尚硅谷笔记
MySQL 中 auto_increment 自动插入主键值
Flink Yarn Per Job - 启动TM,向RM注册,RM分配solt
发现C语言的乐趣