浅谈ResNeSt
论文名称:ResNeSt: Split-Attention Networks
论文地址:https://hangzhang.org/files/resnest.pdf
代码地址:https://github.com/zhanghang1989/ResNeSt
目前而言,神经网络中常用的特征提取网络是ResNet。ResNet的特殊结构解决了深层网络所带来的梯度等一系列问题,并且可以使网络能够搭建的更深。ResNet带来的影响是巨大的,自认为与VGG的影响不相上下。现在无论是目标检测、OCR、图像分割等计算机视觉领域,在采用深度学习的方式时,利用神经网络时,很大程度上都采用了ResNet进行特征提取。
从ResNet提出后也出现了很多基于其的改进的特征提取网络,自认为比较成功的是结合了Inception结构的ResNeXt,ResNeXt的本质是采用了分组卷积。这里先介绍ResNet和ResNext的block结构,如下图。
上图左边为ResNet的block结构。可以看到只为一组,这组内部通道放在一起共有64通道。而右边为ResNeXt的block结构,可以看到里面将64通道进行切片,每组的通道数进行了均分。在ResNeXt中,切片数量一般为32。
而在ResNest中也采用了切片思想,其中又加入了SENet及SKNet注意力思想。
上图中最右边为ResNest的block结构,可以看到:block内部依旧是先将输入进行k切分,然后每个k切分又进行r切分,这个r切分后每个模块称为Split Attention。
从上图可以看出,ResNest的split attention形式就是借鉴了SKNet的形式,
在注意力方面,采用了SENet的思想,结合r个切片,然后经过池化、激活等操作,计算出r切片中每一个切片的对应注意力参数。
自认为可以简单想成:类似ResNeXt把block中进行k切片,ResNest则是在k个切片上再进行r切片,可以简单认为ResNest把block输入进行了x个切片,又对每个切片求出注意力参数,每个split attention模块中求注意力的时候采用的是r个切片的的总体特征。
关于公式与实验结果,可以参考论文。
以上图片均取自对应论文,如有侵权,请告知,立删!