【IJCAI2020】Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution

Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution, IJCAI 2020

论文地址: https://arxiv.org/abs/2006.12085

代码地址: https://github.com/qiulinzhang/SPConv.pytorch

为了设计高效的CNN,学者提出了 group-wise conv, depth-wise conv, point-wise conv 等方法,这些方法的思想来源是:dense vanilla conv 可以由一些 sparse conv 组合得到。

在这篇论文中,作者认为,卷积得到的 feature map 高度相似(如下图所示),因此存在大量的冗余信息。因此,可以选择一些有代表性的 feature map 表达目标的本征特征,剩余的只需要补充一些细节信息。

【IJCAI2020】Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution_第1张图片

作者提出了一个 SPConv 的模块,用来降低常规卷积中的冗余信息。在该模块中,所有的输入通道按比例\(\alpha\)分为两部分:representative部分用 \(k\times k\) 的卷积提取重要信息;redundant部分用 \(1\times1\)的卷积补充细节信息。如下图所示:

【IJCAI2020】Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution_第2张图片

作者认为,representative 部分仍可能存在冗余,因此,可以进一步拆分。因此,作者使用使用group-wise和point-wise卷积分别处理,再将结果融合。

对于得到的上下两个分支的特征,使用了类似 SKNet 的处理方式进行融合(这里是比较熟悉的 self-attention),得到最终的输出特征。

具体的实现细节可参考作者的源码和论文,实验部分不做介绍了。

你可能感兴趣的:(【IJCAI2020】Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution)