现在感觉每天都有新的东西需要学习,今天学习这个,明天学习那个。我觉得这样非常不好,学习什么都是在表面游走,不会有一个好的成果。具体怎么解决这个问题,我还不是很清楚,有建议的小伙伴欢迎留言交流啊。
SENet:
Paper: https://arxiv.org/abs/1709.01507
Code: https://github.com/hujie-frank/SENet
SKNet:
Paper: https://arxiv.org/abs/1903.06586?context=cs
Code: https://github.com/implus/SKNet
SENet系列文章
sSENet空间角度引入注意力机制,这个SSE模块在今年十月份的论文"Non-deep Networks"用到,用12层的网络在ImageNet上到达了80%(提出一个非深度网络设计的SSE模块构建了一种新型的模块RepVGG-SSE),在CIFAR10到达了96%,CIFAR100到达了81%。
SENet(Squeeze-and-Excitation Networks)是2017ImageNet分类比赛冠军模型。
SENet的思想就是使用全局信息来增强有用的信息,同时抑制无用的信息,也就是对不同的通道进行不同的加权方法,这样有用的特征被放大,没用的就会被抑制。下面这个图就是Squeeze and Excitation Modual的主要框架。上一层输出的feature map X,它的维度是H’,W’,C’分别代表了长,宽和通道数,然后经过一个传统的卷积,会得到U,它的维度是H,W,C。下面就要进行一个SE结构。在正常的过程中加入一个旁路分枝,然后进行Squeeze操作,对U进行全局池化,压缩成一个标量。然后再进行Excitation操作,这个输出和最开始的U进行乘法,最后就得到了一个被重新加权后的feature map。
SENet与Inception和ResNet进行整合
SE block与其他架构进行整合,第一张是与Inception整合,第二张是与ResNet整合。一个是正常的Inception Modual,另一个是加入了SE block。第二个有了H✖️W✖️C的feature map,然后进行Squeeze,全局平均池化(论文里有实验),把H✖️W✖️C变为1✖️1✖️C,然后通过FC(全连接)降维,用r分之1来降低计算量,通过实验r=16效果最好。再经过ReLU,再经过FC升维,最后通过sigmoid,每个通道得到一个0到1的一个概率,就可以和原来的feature map进行一个乘法,最后输出加权后的feature map。这个ResNet与SE block 整合。和Inception整合的没有太大的区别,就是多了残差连接,SE的操作用在残差上。
Selective Kernel Network”简称SKNet,它和SENet都是一个团队提出来的。
SKNet的思想就是利用非线性的方法整合信息,以实现动态调整感受野的大小,就是根据实际内容,找出一个最适合的感受野去适应图片。它的核心方法是Split-Fuse-Select这三个步骤。
Split-Fuse-Select
首先是X分出来两个支流,分别是U1,U2,然后对U1,U2进行整合得到U,然后对U进行全局平均池化得到S,在对S进行FC运算得到Z,然后在分出来两个小的分支a和b,然后再对这两个小的分支之间进行softmax,然后计算一下,就是上面的计算,得到一黄一绿的矩阵,然后再用一个加法运算的合并。
如何通过图片大小去调节感受野的大小呢?
首先是Split的这个过程,分出来的两个支流,它们的感受野是不同的,如果图片比较大的话,就会选择感受野较大的支流,小的话,就会选择感受野小的支流,还有就是Select操作的整合,一部分来自上面,一部分来自下面,他们的比例是动态选择的。
这里是SKNet的完整架构。M代表的是分支数,G为group数量。这是三个网络结构图。可以看到SENet是在(1×1卷积+3×3卷积+1×1卷积)完整卷积操作后直接加入全连接层。而SKNet则是替代了ResNext中3*3卷积部分。从参数量来看,由于模块嵌入位置不同,SKNet的参数量与SENet大致相同。计算量也略有所上升。
上表是与其他网络的横向对比,可以看出SKNet与其他常见模型,包括SENet。可以看到SKNet取得了最好的结果。
分析了D和G对模型的影响,可以看出最好的情况时3乘3,D=2,G=32和5乘5,D=1,G=64这两种情况。
然后是不同组合对模型的影响,论文得出提升分支数(M),错误率总体减少,使用SK比不使用SK更好,在使用SK后,提升分支数对于模型精度的提升变得微小。
然后还分析了attention weights,就是从Z分出来的两个小支流,论文得出当物体的大小增加时,attention weights在5✖️5路径总体也增加,也就意味着感受野增加。
论文得出在早期的layer里,物体变大,更大的attention 增加。在后期的layer里,这个规律就不存在了,也就意味着后期的layer的SK可以替换成其他的单元。