CNN技巧论文总结

论文:Bag of Tricks for Image Classification with Convolutional Neural Networks

一.主要内容

这篇文章主要对图像分类研究中训练方法的改进、模型微调(以ResNet为例)以及模型训练中的一些技巧做了一个汇总并且通过ablation study验证了这些改进对最终模型准确率的影响。实验结果表明通过这些改善方法能够显著地提升各种不同的CNN模型的准确率。文中还将这些在图像分类任务中有效的改进方法迁移到目标检测和语义分割任务当中,通过实验证明了这些方法同样可以提高目标检测和语义分割等任务的准确率。

二.Motivation

自2012年AlexNet问世以来,大量的深层神经网络模型开始应用于图像分类任务,例如目前图像分类任务在ImageNet验证集中的top-1准确率已经达到了从最初的62.5%(AlexNet)达到了82.7%(NASNet-A)。在这些进步的过程中,模型结构的改善是很重要的,但是训练方法的改进同样有不可或缺的意义,很多优秀的训练方法和训练技巧没有得到重视,因此文章主要是对现有的好的训练技巧、训练方法以及模型微调方法进行了一个汇总。

三.有效的训练方法和相关技巧汇总及实验结果

1.大规模训练:

但是在大批量训练时,可能会使训练进程变得缓慢,在相同训练轮次的情况下其效果比小规模训练效果更差,因此需要一些技巧解决这个问题。

技巧:

(1)Linear scaling learning rate:随着batch size的变化线性缩放学习率而不是保持初始值不变,效果更好。

(2)Learning rate warmup:它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps后,再修改为预先设置的学习率来进行训练。

(3)Zero γ:初始阶段简化网络加快计算。

(4)No bias decay:仅权重衰减,偏置不衰减,训练效果更好。

2.降低精度训练:

将常规的所有数字以及操作以32位存储的方法修改为使用16位存储。尽管有性能上的好处,但精度降低的范围更窄,这使得结果更有可能超出范围,进而干扰训练的进展。

技巧:

(1)分别用FP16和FP32存一份参数,在FP16中计算梯度权重和激活值,在FP32中更新参数(混合精度训练)。

(2)将标量与损失相乘,更好地将梯度范围对齐到FP16。
在这里插入图片描述

消融实验结果表明每个训练技巧都对模型性能有一定的提升。

四.模型微调(使用ResNet-50为例研究模型微调的影响)
在这里插入图片描述
三个模型:

1.ResNet-B将ResNet-50的downsampling block进行了修改,将path A中3×3的卷积层步长设置为了2,第一个1×1的卷积层步长设置为1,这样可以保证不会遗漏信息。

2.ResNet-C修改了ResNet-50中的输入层部分,用三个3×3的卷积层替换了原有的一个7×7的卷积层,该方法最早出现在Inception-v2中。

3.ResNet-D修改了ResNet-50中downsampling block的path B,加入了一个2×2的平均池化层。
在这里插入图片描述
  实验表明这三种改进的ResNet都比原始的ResNet有更好的性能表现。四个模型的参数个数相同,用相同的训练方法训练出的四个模型中ResNet-50-D的top-1和top5准确率最高性能最佳。

5.训练过程中的一些技巧

(1)Cosine Learning Rate Decay:与Step Decay相比学习率不是急速下降,更加平缓,同时最终的模型准确率也更高。
在这里插入图片描述
(2)Label Smoothing (不理解)

(3)Knowledge Distillation:使用一个已经训练好的高准确率的模型作为teacher model,student model通过模仿teacher model 可以在不改变模型复杂度的情况下提升准确率。

(4)Mixup Training:每次随机挑选两个样例,将这两个样例线性组合得到一个新的样例,使用新得到的样例进行Mixup Training。
在这里插入图片描述
  通过消融实验可以看出,每个技巧的使用都能将模型的准确率或多或少地提升,其中Knowledge Distillation效果在Inception-V3和MobileNet中效果一般,top-1和top-5准确率提升较小,文中认为可能是teacher model和student model预测的分布情况不相同导致的。

6.迁移学习
在这里插入图片描述
  通过消融实验结果可以得出结论:使用文中提到的有效训练方法训练出的目标检测模型的top-1和mAp指标比使用普通方法训练出的目标检测模型的两指标均高出约1%,同时每一个训练技巧的使用都对模型的性能有一定的提升,其中使用Knowledge Distillation with Mixup Training训练的模型两指标最高。因此对于训练分类模型有效的训练方法及技巧同样可以提升目标检测模型的性能。
在这里插入图片描述
  通过消融实验可以得到结论:使用文中提到的有效训练方法训练出的语义分割模型的top-1、PixAcc和mIoU指标比使用普通方法训练出的语义分割模型的三个指标均高出约1%,同时每一个训练技巧的使用都对模型的性能有一定的提升,其中在训练中使用Knowledge Distillation with Mixup Training得到的top-1指标最好,使用Cosine Learning Rate Decay得到的PixAcc和mIoU指标最好。因此对于分类模型有效的训练方法及技巧同样可以提高语义分割模型的性能。

疑问:不理解Label Smoothing是如何操作的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值