ResNet的反击!性能高达80.4%!无需蒸馏、无额外数据!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文转载自:AIWalker

95dfc569472c7419dfb083b6bc4f0951.png

论文:https://arxiv.org/abs/2110.00476

code: https://github.com/rwightman/pytorch-image-models


Abstract

自从恺明大神提出ResNet以来,ResNet就成为了各个领域的默认/基线架构。与此同时,更好的优化器、数据增广方法也得到研究并用于提升训练效率。

本文对ResNet50与这些新技术组合时的性能进行了重评估,并将相应的训练配置以及预训练模型进行了开源,希望能够为未来的研究提供更好的基线。比如,基于所提训练配置,ResNet50达到了80.4%的top-1精度 (无需任何额外数据或蒸馏)。

Background

一般来讲,模型的精度与网络架构、训练配置以及度量噪声,可以描述为:

其中,分别代表网络架构、训练配置以及度量噪声。

在现有文献中,ResNet50的性能从75.2%-79.5%不等。尚不明确是否已进行了充分研究进一步推进基线模型的性能。本文则旨在填充该差距:以原生ResNet为基线,通过优化训练配置最大的提升提性能 。本文贡献包含以下几点:

  • 本文为ResNet50提出三种可作为强基线的训练方案;

  • 所提训练方案包含近期的一些进展以及新的建议,比如移除CE损失改用BCE损失;

  • 度量了模型精度关于不同种子的稳定性,通过比较ImageNet-val与ImageNetV2上的验证性能对过拟合问题进行了讨论;

  • 对主流架构进行了训练并重评估其性能。

Training Procedures

f14b6c746db2520620b7035c3b0597a9.png

上表给出了本文所提出的三种训练配置,均旨在最大化输入分辨率时的ResNet50的性能。

  • Procedure A1:旨在提供具有最佳精度的ResNet50,它采用了更长的训练周期,高达600epoch;

  • Procedure A2:旨在与DeiT等训练机制对标,但采用了更大的batch;

  • Procedure A3:旨在以更少的训练周期超越原生ResNet50训练机制;

接下来,我们对上述三种训练机制中用到的一些技术进行介绍:

Loss: multi-label classification objective  损失函数方面考虑了Mixup与Cutmix增广的内在机制,弃用CE损失而改用BCE损失。

Data-augmentation  在数据增广方面,类似DeiT采用了Random Resized Crop、Horizontal Flip、RandAugment、Mixup、Cutmix等组合(见timm库)。

Regularization  在正则技术方面,本文采用Repeated-Augmentation、Stochasti-Depth、Label Smoothing等等,不同长度的训练周期采用不同的正则技术。

Optimization  优化器方面弃用SGD而选用了LAMB。

65a9c2374b6de684464ea447397a2b39.png

上表给出了不同训练机制的相关超参信息对比,注:上表仅以原生ResNet50作为基线进行对比。此外,本文并未考虑其他更先进的训练机制,比如知识蒸馏、自监督预训练以及伪标签。

Experiments

在实验过程中,我们首先在不同架构上对比了所提训练机制与现有训练机制。通过以下两点因素讨论了所提方案的重要性:

  • 对性能对随机因素的敏感性进行了量化;

  • 通过不同测试集上上的度量过拟合问题进行了评估。

Comparison of training procedures for ResNet50

从上面的Table1可以看到:所提A1训练机制取得了原始ResNet50有史以来的最佳性能80.4%( ) ;所提A2与A3训练机制以更少的资源取得了低于A1方案性能但仍旧非常高的性能79.8%与78.1%。

390409008f3e56c196a56ab43701237d.png

上表给出了所提训练机制+不同架构的性能,从中可以看到:在某些情形下,A2训练机制取得了比A1更高的精度,这说明:超参数不会针对更长训练周期进行自适应调整。与此同时,上表给出了A1训练机制与不同方案组合时的性能。

b5836a0662ff90e418f0aa914f6eaef0.png

Significance of measurements: seed experiments

47ff107dee32b88ab986200425f3b4ee.png

上图给出了A2训练机制+ResNet50在100次训练下的性能点图,从中可以看到:

  • ImageNet-val上的精度标准差约为0.1,见上图;

  • ImageNetV2上的精度标准差约为0.23,标准差更高;

  • 平均精度79.72%要比种子0时的精度高0.13%。

78f33606163c0c901c7eb958a6d179f1.png

为防止验证集上过多高估模型性能,我们仅仅选择最后的checkpoint进行性能评估。上图给出了精度的直方图分布,最高精度接近80.0%。关于性能与epoch之间的关系曲线可详见下图。

8bc0e4aeba387da30d2e20ae462d1eb2.png

Transfer Learning

bb8bffa467a58706be762abd6139617b.png

上表给出了不同数据集上的模型迁移学习能力,可以看到:

  • 在特定数据集(如CIFAR、Standford Cars)上,微调会平滑性能差异;

  • 总体来说,A1训练机制会在下游任务上导致最佳性能;而A3则弱于基线性能(可能与训练时图像分辨率()小有关)。

Comparing architectures and training procedures: a show-case of contradictory conclusions

5ee5e1af1f561d34fc3e2fe4ed7ea173.png

不同架构、不同训练机制组合的性能对比,从中可以看到:

  • ResNet50的最佳训练机制为A2,而DeiT-S的最佳训练机制则是T2;

  • 相比原生训练机制,新提出T2训练机制可以提升DeiT-S性能0.6%;

  • 网络架构与训练机制的相互影响导致很难在一个公平的情况下对模型性能进行对比。

Ablations

f57ec5e1da993545374073774b8b58fa.png

上表对损失函数、学习率-性能之间的影响进行了消融对比,从中可以看到:

  • 学习率对于性能有非常重要的影响,更高的学习率()具有更高的性能(仅限表中对比哦);

  • 权值衰减因子有些敏感,且会与正则技术相互影响;

  • BCE损失取得了比CE损失更高的性能;

  • Repeated Augmentation可以取得更好的性能提升,同时与其他超参存在复杂的相关性。

f222c0232ddb56a2ff014f1e2e7e7791.png

上表随机深度、标签平滑在不同训练机制中的影响,从中可以看到:

  • 对于A3来说,不用随机深度性能更佳,而对于A1与A2使用0.05的随机深度具有更高的性能;

  • 对于低于300epoch的训练机制,标签平滑反而失效;对于更长周期的训练,标签平滑可以取得正面性能提升。

0bf3cd9584f57fba0921f6ecc6fdcd81.png

上表对比了不同增广的作用,可以看到:不同的改动均会对性能产生影响,均低于平均精度79.72%。

1b93eead5e9366b5ac8ae59acd6237b0.png

上表给出了推理阶段不同crop-ratio的影响,0.95对于A1具有更高的平均精度。

1bac1b9b6060e2936edf43e7b8dd1f65.png

上表比较了推理阶段分辨率对性能的影响,可以看到:在更高分辨率测试时,A1与A2训练的模型具有更高的性能。

个人反思

现在每天arxiv上都能看到大量的paper发出来,质量层次不齐,就连基线模型的精度都差别甚大,以ResNet这个深度学习领域最知名的网络来说,不同paper引用时的精度甚至差别高达近4个点,不得不说,这为灌水提供了天然的土壤。

知名timm库的作者Ross从训练配置角度出发,对ResNet的性能进行了深入的探索,使其焕发“第二春”,使其性能达到80.4%。为未来网络结构的改进提供了一个非常有价值的基线,也为后续“水文”设置了一个较强的门槛,赞!

ResNet的训练配置从早期到现在网络的训练配置发生了多次的迭代,优化器、损失函数、数据增广、正则技术等等涨点技术均发生了“天翻地覆”的变化,如果在这个年代还与原生ResNet性能对比,着实很难让人怀疑:改进带来的性能提升到底是训练配置导致的还是改进带来的,改进又真正带来了多大的提升。

笔者在平时的一些训练学习中也有类似的体会,也在想:既然已经有了那么多优秀的涨点技巧,我们为什么不通过这些技术把基线往上提升一下呢?一直跟原生的性能对比真的公平吗?基线模型的性能不应该是“与时俱进”吗?否则学术界的大佬们研究那么多新技术其价值几何?个人赞成:基线模型的性能也应该“与时俱进”,及时吸收最新的技术,为真正有价值的研究提供一个强有力的基线。

上述论文和代码下载

后台回复:ResNet反击,即可下载上述论文和代码

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

重磅!Transformer交流群成立

扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

7142d21b188b9a05530fb67d0eaa91dd.png

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看9e688b1a565fbca16bd176440585519a.gif

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值