当前位置:   article > 正文

(五十)论文阅读 | 轻量级网络之ShuffleNetV2_shufflenetv2原文

shufflenetv2原文

简介

在这里插入图片描述

图1:论文原文

论文在 ShuffleNetV1 的基础上探讨了多种轻量化网络的准则,并提出 ShuffleNetV2。实验证明 ShuffleNetV2 在准确率和实时性上均取得了更佳结果。

论文地址


0. Abstract

当前,设计网络结构的间接考虑因素是计算复杂度,如 FLOPs(Floating Point Operations)。但是,模型最终的速度等也取决于如内存访问和平台特性等。基于系列实验,论文提出设计网络的准则,并得到 ShuffleNetV2。实验证明,ShuffleNetV2 在平衡速度和精度方面达到 SOTA。


1. Introduction

通常使用浮点运算次数 F L O P s {\rm FLOPs} FLOPs衡量模型计算复杂度,但该项指标并不等同于模型速度。如 M o b i l e N e t V 2 {\rm MobileNetV2} MobileNetV2明显快于 N A S N E T {\rm NASNET} NASNET- A {\rm A} A,尽管二者的 F L O P s {\rm FLOPs} FLOPs相当。即,不能仅将 F L O P s {\rm FLOPs} FLOPs作为设计轻量级模型的基本准则。

F L O P s {\rm FLOPs} FLOPs和速度的差异主要在于:许多重要的影响速度的因素如内存访问代价 M A C {\rm MAC} MAC和并行程度等并没有考虑在 F L O P s {\rm FLOPs} FLOPs中,具有相同 F L O P s {\rm FLOPs} FLOPs的操作在不同平台下可能具有不同的运行时间。

基于以上两点,作者提出了设计网络结构的新准则。


2. Pratical Guidelines for Efficient Network Design

论文的对比实验主要基于英伟达 G P U {\rm GPU} GPU A R M {\rm ARM} ARM

Equal channel width minimizes memory access cost (MAC) 当前轻量级模型多采用深度可分离卷积,其中逐点卷积占据了总计算量的绝大部分。逐点卷积的计算量为 B = h w c 1 c 2 B=hwc_1c_2 B=hwc1c2,其中 h × w h\times w h×w为特征图大小, c 1 c_1 c1 c 2 c_2 c2分别为输入特征图和输出特征图的通道数。考虑可访问内存足够大,则 M A C {\rm MAC} MAC h w ( c 1 + c 2 ) + c 1 c 2 hw(c_1+c_2)+c_1c_2 hw(c1+c2)+c1c2,可写作: M A C = h w ( c 1 + c 2 ) + B h w (1) {\rm MAC}=hw(c_1+c_2)+\frac{B}{hw}\tag{1} MAC=hw(c1+c2)+hwB(1)

c 1 + c 2 c_1+c_2 c1+c2使用均值不等式: M A C ≥ 2 h w B + B h w (2) {\rm MAC}\geq2\sqrt{hwB}+\frac{B}{hw}\tag{2} MAC2hwB +hwB(2)

当且仅当 c 1 = c 2 c_1=c_2 c1=c2 M A C {\rm MAC} MAC取最小。即,输入特征图和输出特征图通道数越接近于 1 : 1 1:1 1:1 M A C {\rm MAC} MAC越小。
在这里插入图片描述

图2:实验对比1

Excessive group convolution increases MAC 分组卷积通过将输入特征图的通道稀疏化来减少模型计算复杂度。由上一部分,分组卷积的 M A C {\rm MAC} MAC可表示为: M A C = h w ( c 1 + c 2 ) + c 1 c 2 g = h w c 1 + B g c 1 + B h w (3)

MAC=hw(c1+c2)+c1c2g=hwc1+Bgc1+Bhw
\tag{3} MAC=hw(c1+c2)+gc1c2=hwc1+c1Bg+hwB(3)

由上式可以得到,在固定输入特征图形状 h × w × c 1 h\times w\times c_1 h×w×c1 F L O P s {\rm FLOPs} FLOPs的前提下, M A C {\rm MAC} MAC随着分组数 g g g的增大而增大。
在这里插入图片描述

图3:实验对比2

Network fragmentation reduces degree of parallelism 在许多网络结构中,多路并行结构的使用很常见。为了量化该结构如何影响模型性能,作者做了以下对比实验:
在这里插入图片描述

图4:实验对比3

Element-wise operations are non-negligible
在这里插入图片描述

图5:实验对比3

Conclusion and Discussions 设计网络结构准则:(1)输入特征图和输出特征图的通道数相当;(2)考虑分组卷积的影响;(3)减少分路数;(4)减少逐点卷积。


3. ShuffleNetV2: an Efficient Architecture

Review of ShuffleNetV1
在这里插入图片描述

图6:ShuffleNetV1

Channel Split and ShuffleNetV2 S h u f f l e N e t V 1 {\rm ShuffleNetV1} ShuffleNetV1的基础上使用通道分离:
在这里插入图片描述

图7:ShuffleNetV2

具体地,对于输入通道数为 c c c的特征图,首先将其分为通道数分别为 c − c ′ c-c' cc c ′ c' c两个分支。其中一个分支使用恒等连接,另一个分支使用输入通道数与输出通道数相同的级联卷积操作。 S h u f f u l e N e t V 2 {\rm ShuffuleNetV2} ShuffuleNetV2结构:
在这里插入图片描述

图8:ShuffleNetV2结构


4. Experiment

在这里插入图片描述

图9:Experiments


5. Conclusion

论文提出将 F L O P s {\rm FLOPs} FLOPs和速度等共同作为设计网络结构的准则,进而提出 S h u f f l e N e t V 2 {\rm ShuffleNetV2} ShuffleNetV2


参考

  1. Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 116-131.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/346282
推荐阅读
相关标签
  

闽ICP备14008679号