超越ResNeSt!ResNet又一改进版,即插即用的HSB涨点神器!

2020-11-06 12:31:41 浏览数 (1)

来源:AIWalker

标题&作者团队

该文是百度研究员针对ResNet提出的一种改进,它提出一种新颖的Hierarchical-Split Block,一种“即插即用”的模块。它可以提供更充分的感受野,进而提升其他下游任务(如语义分割、目标检测等等)的性能。在同等推理速度下,所提HS-ResNet50取得了81.28%的Top1精度,超过了之前亚马逊提出的ResNeSt。

Paper: https://arxiv.org/abs/2010.07621

Code: https://github.com/PaddlePaddle/PaddleClas

Abstract

多尺度特征对于大量视觉任务均非常重要,现有诸多网络结构的改进均考虑了多尺度信息的构件。该文提出了一种“即插即用”型Hierarchical-Split Block(HSB)用于提升现有CNN的性能。HSB包含多个Split与Concat操作,它们共同构成该Block的多尺度特征提取;与此同时,HSB具有更好的灵活性与高效性。基于HSB构件的ResNet在多个任务上取得了极大的性能提升,比如在ImageNet数据集上,HS-ResNet50取得了81.28%的Top1精度,超过了之前亚马逊提出的ResNeSt。下图给出了不同ResNet的精度、推理耗时对比。

该文贡献主要包含以下几点:

  • 提出一种新颖的Hierarchical-Split Block,它包含多尺度特征,具有与标准卷积相近参数量的计算量;
  • 提出一种基于HSB的网络结构,取得了显著性能提升,与此同时,参数量与计算量比其他更复杂的网络更具优势;
  • 基于HS-ResNet作为骨干网络的其他下游任务(比如目标检测、实例分割、语义分割)均可取得SOTA性能。

Method

image-20201017100440132

上图给出了本文所设计的HSB的网络结构示意图,经过卷积后,特征被Split成s组,每组具有同等的通道通道数。每组特征将被送入到卷积,输出特征表示为。该文创造性的将继续拆分并将与下一组的一起送入。最终的输出特征中小感受野可以聚焦于细节部分,这对于小目标识别很重要,而大感受野特征有助于捕获大目标。

在该文中,作者通过控制组数与通道数约束参数量和计算量。更大的组数意味着更强的多尺度提取性

能,而更多的通道数则意味着更丰富的特征。上述HSB可以描述成如下形式:

y_i =begin{cases} x_i, & i=1; \ mathcal{F}_i(x_i bigoplus y_{i-1,2}), & 1 < i le s end{cases}

Split and Concatenate operation

HSB 包含两个关键操作Split和Concatenate:

  • Split用于将特征分组,且每组具有相同的通道数,需要注意的是奇数通道经过Split后的两组通道数不再相同,而该Split设计则是受GhostNet启发得到,分离后的两组特征一部分用于恒等映射,一部分用于提取更精细的特征;
  • Concatenate则用于将不同的特征进行融合并增强不同组的信息交互,该Concatenate设计是受启发于Res2Net得到。而Summation操作更倾向于改变,甚至破坏特征表达能力,而Concatenate则有助于保持原始特征表达能力。

Analysis on Complexities

接下来,我们就要来证明一下:相比标准卷积,HSB不会导致参数量的提升。相比标准卷积,HSB具有更少的参数复杂度。标准卷积的参数复杂度(注:s表示组数,w表示每组的通道数)可以描述如下:

PARAM_{normal} = k times k times s times w times s times w

而HSB的参数复杂度则表示如下:

PARAM = begin{cases} 0, & i=1 \ k^2 times w^2 times (frac{2^{s-1} - 1}{2^{s-1}} 1), & 1 < i le s end{cases}

两者之间的大小关小可以通过下面的对比得到:

begin{align*} PARAM &= k^2 times w^2 times sum_{n=1}^{s-1}(frac{2^{s-1} - 1}{2^{s-1}} 1) \ &= k^2 times w^2 times (sum_{n=1}^{s-1}frac{2^{s-1} - 1}{2^{s-1}} s-1) \ &< k^2 times w^2 times (s-1 s -1) \ &= k^2 times w^2 times (2s-2) \ &< k^2 times w^2 times s^2 \ &= PARAM_{normal} end{align*}

Experiments

训练细节:作者毫无疑问的选择了PaddlePaddle框架进行模型训练,在ImageNet数据集上,每个图像随机裁剪,然后进行随机水平镜像,测试环境硬件环境为T4和TensorRT。在训练过程中,作者采用了LabelSmoothing, Mixup两种技术,采用了SGD(weight_decay=1e-4,momentum=0.9)优化器,Batch=256,学习率调整机制为consine,合计训练200epoch。

为更近一步提升模型精度,作者采用Cutmix替换Mixup,并添加RandAug与RandomErasing两种增广方式,同时调整weight_decay=4e-5训练了300epoch。

下表给出了不同ResNet改进方案的精度、参数量以及推理耗时对比。相比ResNet50-D,HS-ResNet50取得了1.2%的精度提升,此外采用更多训练trick的模型取得了81.28%的Top1精度。相比ResNeSt50,HS-ResNet50不仅具有更高的精度(0.26%higher),同时推理速度更快,参数量更少。

image-20201017104300602

下表给出了所提方法在目标检测任务上的性能对比,它以FasterRCNN RPN作为核心,采用不同的Backbone。可以看到:HS-ResNet将基准模型的精度由37.2%提升到了41.6%,同时具有比ResNet101-D更高的指标和推理速度。

image-20201017104648809

下表给出了所提方法在实例分割任务上的性能对比,它以MaskRCNN FPN作为核心方法,采用不同的ResNet作为骨干网络。可以看到:相比基准方法,所提方法将其性能由34.7%提升到38%,同时比ResNet101-D高1.2%。

image-20201017104928659

下表给出了所提方法在语义分割任务上的性能对比,它以DeepLabV3 作为核心,采用了不同骨干网路,可以看到:相比ResNet50-D,所提方法取得了1.8%的性能提升。

image-20201017105236891

最后,我们再来看一下消融实验分析。可以看到:更多的组数可以得到更高的Top1精度,但同时会降低推理速度;而更少的组数更多的通道数则会降低精度提升推理速度。

image-20201017105306638

小结

该文提出了一种新颖的HSB模块,它可以高效的提取多尺度特征,与此同时,作者基于HSB构建了ResNet改进HS-ResNet,它在多个视觉任务(如图像分类、目标检测、实例分割、语义分割等)上取得了SOTA性能。所提HSB具有“即插即用”特性,它可以轻易嵌入到现有网络中并提升性能,值得各位同学尝试把玩一番。

0 人点赞