视学算法报道

转载自:机器之心

编辑:魔王、维度

架构变化、训练方法和扩展策略是影响模型性能的不可或缺的重要因素,而当前的研究只侧重架构的变化。谷歌大脑和 UC 伯克利的一项最新研究重新审视了 ResNet 架构,发现对于提升模型性能而言,改进训练和扩展策略或许比架构变化更重要。他们提出了 ResNet 的变体架构 ResNet-RS,其使用的内存不仅更少,在 TPU 和 GPU 上的训练速度也数倍于 EfficientNet。

视觉模型的性能是架构、训练方法和扩展策略的综合结果。但是,研究往往只强调架构的变化。新架构是促成诸多进展的基础,但与新架构同时出现的通常还有训练方法和超参数变化——一些关键但很少公开的细节。此外,通过现代训练方法改进的新架构有时需要与使用过时训练方法的旧架构进行对比,例如 ImageNet 数据集上 Top-1 准确率为 76.5% 的 ResNet-50 架构。

训练方法和扩展策略对流行的 ResNet 架构有哪些影响呢?近日,谷歌大脑和 UC 伯克利的研究者给出了他们的答案。

论文链接:https://arxiv.org/pdf/2103.07579.pdf

研究者调查了现今广泛使用的现代训练和正则化方法,并将其应用于 ResNet,如下图 1 所示。在这一过程中,他们观察到训练方法之间的交互,并展示了与其他正则化方法一同使用时减少权重衰减值的益处。此外,下表 1 中的训练方法试验也揭示了这些策略的重大影响:仅通过改进训练方法,典型 ResNet 架构的 ImageNet Top-1 准确率由 79.0% 提升至 82.2% (+3.2%)。通过两个微小且常用的架构改进:ResNetD 和 Squeeze-and-Excitation,准确率更是提升至 83.4%。图 1 通过速度 - 准确率帕累托曲线描述了 ResNet 架构的优化过程:

研究者还提供了扩展视觉架构的新思路和实用建议。相较于以往研究从小模型或者从少量 epoch 的训练中推断扩展策略,该研究基于对不同规模的模型执行完整的训练来设计扩展策略(如选择 350 个 epoch,而不是 10 个 epoch),进而发现最佳扩展策略与训练机制(epoch 数量、模型大小和数据集大小)之间的强依赖性。这些依赖性在小型训练系统中被忽略了,从而导致次优的扩展决策。研究者将他们的扩展策略总结如下:1)在过拟合可发生的训练设置下扩展模型深度(否则扩展宽度更可取);2)以更慢的速度扩展图像分辨率。

使用这种改进的训练和扩展策略,研究者设计了 re-scaled ResNet(ResNet-RS),它基于不同规模的模型进行训练,其速度准确率帕累托曲线如图 1 所示。ResNet-RS 模型在训练中使用了更少的内存,但在 TPU 上的速度是 EfficientNets 的 1.7-2.7 倍,GPU 上的速度是 EfficientNets 的 2.1-3.3 倍。在大规模半监督学习设置下,使用 ImageNet 和额外 1.3 亿伪标注图像进行联合训练时,ResNet-RS 在 TPU 上的训练速度是 EfficienrtNet-B5 的 4.7 倍,GPU 上的速度是 EfficientNet-B5 的 5.5 倍。

最后,研究者通过一系列实验验证了这些改进训练和扩展策略的泛化性。他们首先使用该扩展策略设计了 EfficientNet 的速度更快版本 EfficientNet-RS,它的速度准确率帕累托曲线表现优于原版 EfficientNet。接着,研究者展示了改进训练策略的性能表现在一系列下游任务上媲美甚至优于自监督算法 SimCLR 和 SimCLRv2 的表现。改进训练策略还可以泛化至视频分类任务。在 Kinetics-400 数据集上将该训练策略应用于 3D-ResNets,可以将准确率从 73.4% 提升至 77.4%(+4%)。

通过将微小的架构变化与这种改进训练和扩展策略结合起来,研究者发现 ResNet 架构为视觉研究设置了 SOTA 基线。这一发现强调了梳理区分这些因素的重要性,以便了解哪些架构表现更优。

方法

研究者介绍了基础的 ResNet 架构和使用到的训练方法。

架构

研究者介绍了 ResNet 架构以及两种广泛使用的架构变化策略:ResNet-D 修改和所有瓶颈块中的 Squeeze-and Excitation (SE)。TResNet、ResNeSt 和 EfficientNets 等多个架构使用了这两种架构变化策略。

训练方法

研究者介绍了 SOTA 分类模型和半 / 自监督学习中通常使用的正则化和数据增强方法。

研究者使用的训练方法与 EfficientNet 非常接近,训练了 350 个 epoch,但还是存在一些差异:

1)为简单起见,研究者使用了余弦学习率调度,而没有使用指数式衰减。

2)在所有模型中使用了 RandAugment,原版 EfficientNet 使用的是 AutoAugment。研究者使用 RandAugment 重新训练了 EfficientNets B0-B4,发现没有出现性能提升。

3)使用 Momentum 优化器,而没有使用 RMSProp。

研究者采用权重衰减、标签平滑、dropout 和随机深度这些正则化方法,并将 RandAugment 数据增强作为额外的正则化器。

改进训练方法

加性研究

下表 1 展示了对训练、正则化方法和架构变化的加性研究。基线 ResNet-200 获得了 79.0% 的 Top-1 准确率,研究者通过改进训练方法(未改变架构)将性能提升至 82.2% (+3.2%)。添加两个常见的架构更新后(Squeeze-and-Excitation 和 ResNet-D),模型性能进一步提升至 83.4%。其中训练方法带来的性能提升占 3/4,这说明训练方法的改进对 ImageNet 性能起到关键作用。

结合正则化方法时,降低权重衰减值的重要性

下表 2 展示了在结合多种正则化方法时,改变权重衰减值的重要性:

在应用 RandAugment (RA) 和标签平滑 (LS) 时,无需改变默认权重衰减 1e-4。但进一步添加 dropout (DO) 和随机深度 (SD) 之后,不降低权重衰减值会导致模型性能下降。

改进扩展策略

研究者在本节中展示了扩展策略同样重要。为了建立扩展趋势,研究者在 ImageNet 上对宽度乘法器 [0.25,0.5,1.0,1.5,2.0]、深度 [26,50,101,200,300,350,400] 、分辨率 [128,160,224,320,448] 进行广泛搜索。

该研究模仿 SOTA ImageNet 模型的训练设置,训练 epoch 为 350。随着模型尺寸的增加,研究者增加正则化以限制过度拟合。

策略 1:在过拟合发生的机制下进行深度扩展

对于较长的 epoch 机制,深度扩展优于宽度扩展。在 350 个 epoch 设置中(下图 3 右),研究者观察到,在所有图像分辨率中,深度扩展的效果明显优于宽度扩展。宽度扩展会导致过拟合,即使增加正则化,性能也会下降。他们假设这是由于扩展宽度时参数增加较大所致。因此,与扩展宽度相比,扩展深度(特别是在较早的层中)引入的参数更少。

在较短 epoch 的机制下,宽度扩展优于深度扩展。相比之下,当只训练 10 个 epoch 时,宽度扩展效果更好(图 3,最左边)。

策略 2:减少图像分辨率扩展

在下图 2 中,研究者还观察到较大的图像分辨率会导致性能衰减。因此,他们建议相比以往的工作,应逐渐增加图像分辨率。实验表明,较慢的图像扩展同时提升了 ResNet 和 EfficientNets 架构的性能。

设计扩展策略的两个常见错误

1. 在小规模设置下(如小模型或少量训练 epoch)推断扩展策略:这无法泛化至大模型或更长的训练迭代;

2. 在单个次优初始架构中推断扩展策略:次优初始架构会影响扩展结果。

小结

对于一项新任务,一般推荐将一组不同规模的模型运行完整的训练 epoch,以了解哪些维度最有用。但这一方法成本较高,该研究指出如果不搜索架构,则成本将得到显著降低。

对于图像分类,扩展策略可以总结为:在会发生过拟合的设置下扩展深度,缓慢的图像分辨率扩展。实验表明,对 ResNet 和 EfficientNet 应用这些扩展策略(得到 ResNetRS 和 EfficientNet-RS)会带来相比于 EfficientNet 的极大加速。近期研究如相比 EfficientNet 实现极大加速的 LambdaResNet 和 NFNet,也使用了类似的扩展策略。

实验

ResNet-RS 的速度 - 准确率

研究者使用改进后的训练和扩展策略,设计了 ResNet-RS。下图 4 对比了 EfficientNet 和 ResNet-RS 的速度 - 准确率帕累托曲线,从中可以看到 ResNet-RS 与 EfficientNet 具备类似性能时,在 TPU 上的速度是后者的 1.7-2.7 倍。

这一加速让人意想不到,毕竟 EfficientNet 的参数量和 FLOPs 相比 ResNet 有显著减少。研究者分析了原因,并展示了 EfficientNet 和 ResNet-RS 的性能对比情况,从中可以看出参数量和 FLOPs 的影响:

提升 EfficientNet 的效率

上文的分析表明扩展图像分辨率会导致收益递减。这说明 EfficientNet 倡导的扩展规则(增加模型深度、宽度和分辨率)是次优的。

研究者将 Strategy #2 应用于 EfficientNet,训练出多个图像分辨率降低的版本,并且并未改变模型的深度或宽度。下图 5 展示了重扩展后的 EfficientNet (EfficientNetRS) 相比原版 EfficientNet 的性能提升:

半监督学习

研究者在使用大型数据集的大规模半监督学习设置下,衡量 ResNet-RS 的性能。具体而言,该研究在 1.2M ImageNet 标注图像和 130M 伪标注图像上进行模型训练,训练方式类似于 Noisy Student。

下表 4 展示了 ResNet-RS 模型在半监督学习设置下性能依然强大。该模型在 ImageNet 数据集上获得了 86.2% 的 top-1 准确率,相比于对应的 Noisy Student EfficientNet-B5 模型其在 TPU 上速度快了 3.7 倍(GPU 上的速度快 4.5 倍)。

ResNet-RS 的迁移学习效果

下表 5 对比了改进版监督学习策略(RS)和自监督 SimCLR、SimCLRv2 的迁移性能,发现即使在小型数据集上,改进版训练策略也能提升模型的迁移性能。

针对视频分类设计的 3D ResNet

下表 6 展示了 RS 训练方法和架构改进的加性研究。将该训练策略扩展至视频分类任务,准确率从 73.4% 增至 77.4% (+4.0%)。ResNet-D 和 Squeeze-and-Excitation 架构变化更是进一步将性能提升到 78.2% (+0.8%)。与图像分类任务的情况类似(参加表 1),研究者发现大多数提升不需要架构变化。不需要模型扩展,3D ResNet-RS-50 的性能也只比 SOTA 模型的性能(80.4%)低了 2.2%。

© THE END

转载请联系 机器之心 公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

点个在看 paper不断!

如何使ResNet优于EfficientNet?相关推荐

  1. 如何使ResNet优于EfficientNet?改进训练方法和扩展策略就可以

    作者|魔王.维度 来源|机器之心 架构变化.训练方法和扩展策略是影响模型性能的不可或缺的重要因素,而当前的研究只侧重架构的变化.谷歌大脑和 UC 伯克利的一项最新研究重新审视了 ResNet 架构,发 ...

  2. 在CNN中ResNet和EfficientNet骨干网络理解记录

    背景 分类竞赛至今,产生了一系列的优秀骨干特征网络,从2014年经典的alexnet到vgg,resnet和densenet,乃至最新谷歌的EfficientNet,个人发现基本目前大多数模型都会选择 ...

  3. 论文阅读:Deep Residual Shrinkage Networksfor Fault Diagnosis

    简介 本文提出了一种新的深度学习方法,即深度残差收缩网络,以提高对高噪声振动信号的特征学习能力,实现较高的故障诊断精度.在深层架构中加入软阈值作为非线性变换层,以消除不重要的特征.此外,考虑到阈值的选 ...

  4. 深度残差收缩网络(Deep Residual Shrinkage Networks for Fault Diagnosis )

    摘要-本文开发了新的深度学习方法,即深度残余收缩网络,提高来自高噪声振动信号的特征学习能力,并实现较高的故障诊断准确性.软阈值作为非线性转换层插入到深层体系结构中,以消除不重要的特征.此外,考虑到通常 ...

  5. yolov8 做图片分类和 ResNet Efficientnet 等常用分类网络的对比

    文章大纲 yolo v8 图片分类 简介与原理说明 训练代码 数据集的组织 多尺度训练 参考内容 ResNet 简介与原理说明 训练代码与使用说明 Usage EfficientNet 推理代码 其他 ...

  6. 超越EfficientNet,GPU上加速5倍,何恺明组CVPR 2020论文提出新型网络设计范式

    选自arXiv 作者:Ilija Radosavovic等 机器之心编译 机器之心编辑部 近日,何恺明大神组又发了一篇新论文,提出了一种新的网络设计范式.与以往研究不同,他们没有专注于设计单个网络实例 ...

  7. GPU端吊打RegNet、EfficientNet的强悍担当:GENet

    编辑:Happy 首发:AIWalker公众号 来源:GPU端精度最高速度最快的强悍担当:GENet 日期:2020-06-27 [Happy导语]该文是阿里巴巴提出了一种GPU端高效&高精度 ...

  8. 何恺明团队最新力作:超越EfficientNet,GPU上提速5倍|CVPR 2020

    2020-04-01 12:43:32 鱼羊 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大神(组团)出奇招,踢馆各路神经网络. 还是熟悉的团队,还是熟悉的署名,Facebook AI ...

  9. 何恺明团队最新力作RegNet:超越EfficientNet,GPU上提速5倍,这是网络设计新范式 | CVPR 2020...

    鱼羊 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大神(组团)出奇招,踢馆各路神经网络. 还是熟悉的团队,还是熟悉的署名,Facebook AI实验室,推陈出新挑战新的网络设计范式. ...

最新文章

  1. FFmpeg #39;scale#39; filter not present, cannot convert pixel formats.
  2. 神经网络迭代次数的线性累加现象
  3. rabbitmq 在centos下的安装
  4. Harmonious Graph CodeForces - 1253D(思维+并查集)
  5. 模拟网页行为之实践篇
  6. Spark On MaxCompute如何访问Phonix数据
  7. 8中间件,csrf跨站请求伪造,auth模块
  8. 2 追踪光线=》2.2 前向光线追踪和逆向光线追踪
  9. r语言回归分析_R语言之cox回归分析
  10. 将dll制作成控件_案例丨首例将影视作品制作成网络图片集被判侵权案 二审维持原判...
  11. rto净化效率计算公式_旋转式RTO,催化燃烧设备,在各行业的应用及优势
  12. [原]最大流, 最小分割分析
  13. loj10157. 「一本通 5.2 例 5」皇宫看守
  14. vscode大讲堂——代码力max的编辑器
  15. 如何用计算机记英语词汇,计算机英语词汇学习方法
  16. Python 翻译文章 txt文件
  17. c语言开发桌面应用合适吗,什么编程语言比较适合开发桌面应用程序?
  18. ES官网reference翻译文章(18)—Percentile Ranks Aggregation
  19. 【正点原子MP157连载】第四十三章 外置RTC芯片PCF8563实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  20. CVPR 2022 | 美团技术团队精选论文解读

热门文章

  1. java序列化的作用-这个挺有用的,不妨学学
  2. Datawhale组队学习周报(第019周)
  3. 利用BP神经网络教计算机识别语音特征信号(代码部分SS)
  4. php upload ctf,强网杯CTF防御赛ez_upload Writeup
  5. 2021 EdgeX中国挑战赛盛大开幕,英特尔赋能开发者,助力创新方案落地
  6. 打造数字原生引擎,易捷行云EasyStack发布新一代全栈信创云
  7. 这么多年,终于有人讲清楚Transformer了
  8. “不会Linux,到底有多危险?”骨灰级成程序员:基本等于自废武功!
  9. 围巾都这么黑科技了,是我见识少了
  10. 如何在3天内拿下DigSci大赛的亚军?| DigSci科学数据挖掘大赛