resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_计算机视觉


论文下载:

https://arxiv.org/pdf/2004.08955.pdf

论文源码:

https://github.com/zhanghang1989/ResNeSt


论文摘要:

一些目标检测和语义分割算法已让使用ResNet(残差网络)的改进架构作为骨干网络(backbone),因为它们的简单和模块化结构。作者展示了一个模块化的分散注意力模块(Split-Attention block),通过堆叠这些模块,构建了新的ResNet改进架构–ResNeSt。作者保留了整个ResNet结构,以便直接用于下游任务,而不引入额外的计算成本。ResNeSt模型优于其他具有类似模型复杂性的网络。比以往最好的ResNet变体高出1%以上的精度。通过把ResNet-50主干网络替换成ResNeSt-50网络,RCNN在COCO 数据集和DeeplabV3的mIOU都有相应的提升。


模块精度的比较:

(左)使用官方代码实现的GPU精度和延迟的权衡。(右上)使用ResNeSt在ImageNet上的最高精度。(右下)迁移学习结果,MS-COCO上的目标检测映射和ADE20K上的语义分割mloU:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_卷积_02


论文贡献:

第一个:构建基于ResNet的简单架构,将合并特征图(incorporating feature-map)分散在个人网络块(individual network blocks),更具体地说,每个块将特征图划分为几个组(沿着通道维度)和更细粒度的子组或分割,其中每个组的特征表示是通过其分割表示的加权组合来确定的(权重为基于全球上下文信息的选择)。产生的单元称为分散注意力块(Spilt-Attention blocks)。通过叠加几个该分散注意力块,构建一个类似ResNet的网络,称为ResNeSt(S代表“分散”)。

第二个:进行大规模的图像分类和迁移学习应用的基准测试。作者发现使用一个ResNeSt主干模型能够在几个任务上达到最先进的性能。性能优于所有现有的ResNet变体(variant)。


模块结构的比较:

ResNeSt模块与SE-Net和SK-Net的比较,ResNest应用了SK-Net中,使用1x1卷积分离channel,以及ResNext中Cardinal思想。Input输入分成k个Cardinal,每个Cardinal又分成r个Split。将得到的特征图组称为基数组。引入了一个新的超参数R,它表示基数群内的分裂数,因此特征群的总数为G=KR:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_卷积_03

分散注意单元(Spilt-Attention)的详细插图,c=C/K:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_人工智能_04


网络调整方案:

使用核大小为3×3的平均池化来减少空间维度

还采用了前人提出的两个简单而有效的ResNet修改,即将7 x 7卷积层替换为三个连续的3x 3卷积层,将跳跃连接中的步长为2的1×1卷积用2×2的平均池化代替


实验结果:

ImageNet图像分类的消融研究:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_计算机视觉_05

ImageNet上的图像分类结果,将作者提出的ResNeSt与50层和101层配置与其他类似复杂度的ResNet变体进行比较。使用图像尺寸为224和320,得出最高精确度:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_人工智能_06

在ImageNet上的SoTA CNN模型在大尺寸下的准确性与延迟:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_深度学习_07

MS-COCO验证集上的对象检测结果,通过ResNeSt骨干架构,FasterRCNN和Cascade-RCNN都得到了显著的改进:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_人工智能_08

MS-COCO验证集上的实例分割结果:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_图像分类_09

ADE20K验证集的语义分割结果(左)。Citscapes(右),模型的训练没有粗糙的标签或额外的数据:

resnet50加注意力机制后通道数不匹配的问题如何解决 resnet 注意力_深度学习_10