Introduction
NAS系列方法大大提升了图片分类的精度,但是这些NAS系列方法是基于特定任务搜索出来的网络结构,提取出来的特征泛化性不高。而且NAS系列模型的训练效率和内存使用效率不高。NAS系列模型消耗很多内存,有些大模型不能使用合适的batch-size在GPU上训练。这限制了NAS系列模型用于其他应用,比如需要密集预测的分割任务。大多数针对计算机视觉任务的工作依然使用ResNet模型,因为ResNet模型简单,模块化设计使得ResNet适用于各种不同的任务。但是ResNet是基于图片分类任务来设计的,对于其他任务来说,它的感受野较少,没有通道之间的交互,使得它并不非常适用于其他任务。
作者借鉴了SE-Net Block和SK-Net Block,在残差块中引入了feature-map split attention,提出ResNeSt Block。ResNeSt Block把feature map分成多个组,在每个组是一个Split-Attention Block,如下图所示。把ResNet的残差块换成ResNeSt Block得到的网络结构,称作ResNeSt。
ResNeSt Block
ResNeSt Block把输入的feature map分成大组,每个大组再分成个小组,共个组。每个组会经过一系列变化,得到。
接着,每个大组进行Split Attention,如下图所示。首先,每个大组中所有小组进行对应元素相加,得到一个联合的表征,表示第k个大组,表示第j个小组。接着,通过全局池化操作获得每个通道的统计信息,作为全局上下文信息。这些全局上下文信息用于融合同一大组中的所有小组,具体是
c表示输出的第c个通道,而是
如果每个大组的小组数R大于1,使用softmax作为每个小组的权重,如果等于1,使用sigmoid作为小组的权重。表示某个映射函数。
最后,所有大组的输出特征拼接在一起。因为V的通道数减少了,在输出之前,V会经过一个1×1的卷积。和残差块一样,加入一个shortcut连接,得到最终输出Y。
Experiments
作者的使用思路是,首先在图片分类任务是进行评估ResNeSt,然后迁移到其他任务上评估ResNeSt。
图片分类
目标检测
实例分割
语义分割
可以看到ResNeSt的实验效果都比其他方法好。