Resnet-18-训练实验-warm up操作
2017-09-07 17:45
477 查看
实验数据: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
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在图中已经隔断
相关文章推荐
- 安卓训练-开始-添加操作栏-添加操作按钮
- 【数据结构作业】实验三 单链表的基本操作(必做,设计性实验,4学时)
- Java文件操作自己做的一些小实验
- 实验4:栈和队列的基本操作实现及其应用——链队列
- 实验2.2 单链表实现成绩管理——基础操作的实现
- 实验六—【项目一:数组操作】
- 【原创】科研训练指导手册(DE2-115_labs_vhdl)-PART3--实验二
- Hadoop学习笔记之(二):实验Hadoop的文件块复制删除操作感受强大的容灾性
- 实验一线性表的基本操作实现及其应用
- 1-7 实验6 NV操作实验
- 外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样
- R-FCN+ResNet-50 训练模型
- C++实验6—字符串操作
- Training2:位操作训练 (以前发的那个有个BUG,没注意,对不起大家了,所以重发)
- 王家林 第六讲Hadoop图文训练课程:使用HDFS命令行工具操作Hadoop分布式集群初体验
- 实验一线性表的基本操作实现及其应用
- (数据结构)实验一 线性表的有关操作
- 实验4:栈和队列的基本操作实现及其应用之《链栈》
- resnet on cifar10实验(三值量化)
- 新手入门:训练中文维基百科词向量word2vec实验