Resnet-18-训练实验-warm up操作
来源:互联网 发布:小企业网络循环贷款 编辑:程序博客网 时间:2024/06/05 17:41
实验数据:cat-dog 二分类,训练集:19871 验证集:3975
实验模型:resnet-18
batchsize:128*2 (一个K80吃128张图片)
存在的问题: 对训练集 accuracy可达0.99 loss=1e-2 -3,然而验证集 accuracy 0.5,loss 很高,试了多个初始学习率(0.1 — 0.0001)都不行
解决上述问题: 采取warm up方法 ,对上述问题有点帮助
训练resnet,由于不finetune,很容易过拟合,paper《Deep Residual Learning for Image Recognition》中对cifar10的实验用了一个trick是 warm up(热身),就是先采用小的学习率(0.01)进行训练,训练了400iterations之后将学习率调整至0.1开始正式训练。
一开始不以为然,我分别用了四个初始学习率 lr=0.1; 0.01; 0.001; 0.0001; 然后每1000个iterations就降低一次lr。然而这四种初始学习率都试过之后,发现,验证集的accuracy怎么都上不去,都是0.5~0.6之间,而训练集的可以到0.99。而resnet采用了batch normalization,在caffe中,batch normalization 就有一个“坑”,就是use_global_stats 的设置问题。training时候是关闭,testing的时候是要打开,deploy也是要打开的。
对于训练集accuracy达0.99,验证集accuracy是0.5+的情况,我以为是batch normalization出问题,于是乎各种捣鼓BN去了,最后试了一下warm up,网络在验证集的loss才有所下降。
来看看warm up 的loss,分别采用 0.01 0.001 0.001 0.0001,gamma=10 ;stepsize在图中已经隔断
- Resnet-18-训练实验-warm up操作
- 湖南四校联合训练赛 2013 Warm Up 14
- [Warm-up] Homework
- [Introduction and Warm-up]
- hdu 4612 Warm up
- HDU 4612 Warm up
- HDOJ 4612: Warm up
- hdu 4612 Warm up
- D - Warm up 2
- HDOJ4612 Warm up
- hdu 4612Warm up
- CSU Warm Up 2
- Warm UP for Changsha
- Warm-Up-Problem
- HDOJ 4612 Warm up
- HDU 4612 Warm up
- HDU 4612 Warm up
- Warm up HDU
- oracle数据库表中数据删除的恢复方法
- 平面分割,空间分割问题(递推关系)(hdu1249、hdu1290、hdu2050)
- phpStudy+ThinkPHP配置的nginx环境出现404错误
- haproxy+keepalived 实现双主配置高可用负载均衡
- Django报错Exception Value: no such table xx
- Resnet-18-训练实验-warm up操作
- 前端未来发展有哪些优势
- mysql gtid 复制跳过错误
- Cocos Studio使用问题
- Java List<Object>去掉重复对象-java8
- R---randomForest
- Spring Cloud Config服务化后获取配置失败
- cannot import name DependencyWarning报错的处理
- java用JSP和servlet实现验证码