**SKNet同样是一个轻量级嵌入式的模块,**其灵感来源是,我们在看不同尺寸不同远近的物体时,视觉皮层神经元接受域大小是会根据刺激来进行调节的。那么对应于CNN网络,一般来说对于特定任务特定模型,卷积核大小是确定的,那么是否可以构建一种模型,使网络可以根据输入信息的多个尺度自适应的调节接受域大小呢?
基于这种想法,作者提出了Selective Kernel Networks(SKNet)。结构图如下
这个网络主要分为Split,Fuse,Select三个操作
SKNet结构实例与实验结果
如上图所示使ResNext-50,SENet-ResNext-50,SKNet-ResNext-50三个网络的结构对比。
可以看到SENet是在(1×1卷积+3×3卷积+1×1卷积)完整卷积操作后直接加入全连接层,学习通道间依赖关系,再将学习到的通道权重加权回原向量。
而SKNet则是替代了ResNext中3*3卷积部分,用两个或多个不同卷积核大小的卷积操作 加学习通道权重全连接层替代。输出向量再继续进行1×1卷积操作。
从参数量来看,由于模块嵌入位置不同,SKNet的参数量与SENet大致持平(或略小于后者)。计算量也略有上升(当然,带来的精度提升远小于增加的计算量成本)。
上图给出了SKNet与其他常见模型(包括SENet)的精度比较(使用ImageNet数据集)。可以看到SKNet取得了最好的结果。
在论文中作者还给出了不同卷积核等参数对精度影响实验结果。
总结
SENet和SKNet都是可直接嵌入网络的轻量级模块,虽然SKNet的实验结果表明其略好于SENet,但SKNet使用时涉及到了卷积核数量和大小的选择问题,其作者也只是给出了不同参数选择下的实验结果,并选择了一个最好的结果与其他模型相比较。
但直观来说SKNet相当于给网络融入了soft attention机制,使网络可以获取不同感受野的信息,这或许可以成为一种泛化能力更好的网络结构。
毕竟虽然Inception网络结构精妙,效果也不错,但总觉得有种人工设计特征痕迹过重的感觉。如果有网络可以自适应的调整结构,以获取不同感受野信息,那么或许可以实现CNN模型极限的下一次突破。