李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

十三 发自 凹非寺
量子位 报道 | 公众号 QbitAI

在图像处理领域中,近年来的新模型可谓是层出不穷。

但在大多数的下游任务中,例如目标检测、语义分割,依旧还是用ResNet或其变体作为骨干网络。

而最近,亚马逊李沐团队便提出了堪称“ResNet最强改进版”的网络——ResNeSt

从名字中不难看出,是引入了模块化的分散注意力模块,可以让注意力跨特征图(feature-map)组。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

那么,ResNeSt到底有多强?

  • ResNeSt-50在224×224的ImageNet上,实现了81.13%的TOP-1精度,比之前最好的ResNet变体精度高出1%以上。
  • 简单地用ResNeSt-50替换ResNet-50骨干,可以让MS-COCO上的FasterRCNNNN的mAP,从39.25%提高到42.33%;ADE20K上的DeeplabV3的mIoU,从42.1%提高到45.1%。

这些改进对下游任务有很大的帮助,包括目标检测、实例分割和语义分割。

就连李沐也发朋友圈,呼吁小伙伴们“一键升级”。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

更让人惊喜的是,这项工作已开源!

最强ResNet变体:多项任务取得“大满贯”

现在,我们具体来看下ResNeSt在具体任务中的表现。

图像分类

第一个实验研究了ResNeSt在ImageNet 2012数据集上的图像分类性能。

通过将ResNeSt和其他50层和101层配置、类似复杂度的ResNet变体作比较,TOP-1精度达到了最高,如下表所示。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

还与不同大小的CNN模型做了比较。

采用了256×256的ResNeSt-200, 和320×320的ResNeSt-269。对于输入大小大于256的模型,采用双三次上采样策略(Bicubic upsampling strategy)。

从下表不难看出,与基于NAS发现的模型相比,ResNeSt具有更好的准确性和延迟权衡。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

目标检测

接下来,是在目标检测上的性能。

所有的模型,都是在COCO-2017训练集上训练的118k图像,并在COCO-2017验证集上用5k图像进行评估。

使用FPN、同步批处理归一化(synchronized batch normalization)和图像尺度增强,来训练所有模型。

为了方便比较,简单地用ResNeSt替换了vanilla ResNet骨干,同时使用默认设置的超参数。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

与使用标准ResNet的基线相比,ResNeSt的骨干在Faster-RCNN和CascadeRCNN上,都能将平均精度提高3%左右。

这就说明ResNeSt的骨干网络具有良好的泛化能力,并且可以很容易地迁移到下游任务中。

值得注意的是,ResNeSt50在Faster-RCNN和Cascade-RCNN检测模型上都优于ResNet101,而且使用的参数明显较少。

实例分割

在实例分割任务中,以ResNeSt-50和ResNeSt-101为骨干,对Mask-RCNN和Cascade-Mask-RCNN模型进行评估。

实验结果如下表所示,对于Mask-RCNNN来说,ResNeSt50的box/mask性能增益分别为2.85%/2.09%,而ResNeSt101则表现出了更好的提升,达到了4.03%/3.14%。

对于Cascade-Mask-RCNN,切换到ResNeSt50或ResNeSt101所产生的增益分别为3.13%/2.36%或3.51%/3.04%。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

这就表明,如果一个模型由更多的Split-Attention模块组成,那么它的效果会更好。

语义分割

在语义分割下游任务的转移学习中,使用DeepLabV3的GluonCV实现作为基准方法。

从下表中不难看出,ResNeSt将DeepLabV3模型实现的mIoU提升了约1%,同时保持了类似的整体模型复杂度。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

值得注意的是,使用ResNeSt-50的DeepLabV3模型的性能,比使用更大的ResNet-101的DeepLabV3更好。

ResNeSt:注意力分割网络

性能如此卓越,到底是对ResNet做了怎样的改良呢?

接下来,我们就来揭开ResNeSt的神秘面纱。

正如刚才我们提到的,ResNeSt是基于ResNet,引入了Split-Attention块,可以跨不同的feature-map组实现feature-map注意力。

Split-Attention块是一个计算单元,由feature-map组和分割注意力操作组成。下2张图便描述了一个Split-Attention块,以及cardinal group中的split-Attention。

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源
李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

从上面的2张图中不难看出,都有split的影子。比如 K(k) 和 R(r) 都是超参数,也就是共计 G = K*R 组。

除此之外,也可以与SE-Net和SK-Net对比着来看。

其中,SE-Net引入了通道注意力(channel-attention)机制;SK-Net则通过两个网络分支引入特征图注意力(feature-map attention)。

ResNeSt和SE-Net、SK-Net的对应图示如下:

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

研究人员介绍

李沐团队提出最强ResNet改进版,多项任务达到SOTA | 已开源

李沐,亚马逊首席科学家,加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。

专注于分布式系统和机器学习算法的研究。他是深度学习框架MXNet的作者之一。

曾任机器学习创业公司Marianas Labs的CTO和百度深度学习研究院的主任研发架构师。

李沐有着丰富的研究成果,曾先后在国内外主流期刊上发表多篇学术论文,其中《DiFacto — Distributed Factorization Machines 》在ACM国际网络搜索和数据挖掘(WSDM)大会上被评为最佳论文奖。

传送门

论文地址:
https://hangzhang.org/files/resnest.pdf

GitHub项目地址:
https://github.com/zhanghang1989/ResNeSt

版权所有,未经授权不得以任何形式转载及使用,违者必究。