浅谈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模型如何进行优化 resnet 优点_基于resnet模型如何进行优化


上图左边为ResNet的block结构。可以看到只为一组,这组内部通道放在一起共有64通道。而右边为ResNeXt的block结构,可以看到里面将64通道进行切片,每组的通道数进行了均分。在ResNeXt中,切片数量一般为32。

而在ResNest中也采用了切片思想,其中又加入了SENet及SKNet注意力思想。

基于resnet模型如何进行优化 resnet 优点_深度学习_02


上图中最右边为ResNest的block结构,可以看到:block内部依旧是先将输入进行k切分,然后每个k切分又进行r切分,这个r切分后每个模块称为Split Attention。

基于resnet模型如何进行优化 resnet 优点_github_03


从上图可以看出,ResNest的split attention形式就是借鉴了SKNet的形式,

在注意力方面,采用了SENet的思想,结合r个切片,然后经过池化、激活等操作,计算出r切片中每一个切片的对应注意力参数。

自认为可以简单想成:类似ResNeXt把block中进行k切片,ResNest则是在k个切片上再进行r切片,可以简单认为ResNest把block输入进行了基于resnet模型如何进行优化 resnet 优点_github_04x基于resnet模型如何进行优化 resnet 优点_特征提取_05个切片,又对每个切片求出注意力参数,每个split attention模块中求注意力的时候采用的是r个切片的的总体特征。

关于公式与实验结果,可以参考论文。

以上图片均取自对应论文,如有侵权,请告知,立删!