【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 表达目标的本征特征,剩余的只需要补充一些细节信息。
作者提出了一个 SPConv 的模块,用来降低常规卷积中的冗余信息。在该模块中,所有的输入通道按比例\(\alpha\)分为两部分:representative部分用 \(k\times k\) 的卷积提取重要信息;redundant部分用 \(1\times1\)的卷积补充细节信息。如下图所示:
作者认为,representative 部分仍可能存在冗余,因此,可以进一步拆分。因此,作者使用使用group-wise和point-wise卷积分别处理,再将结果融合。
对于得到的上下两个分支的特征,使用了类似 SKNet 的处理方式进行融合(这里是比较熟悉的 self-attention),得到最终的输出特征。
具体的实现细节可参考作者的源码和论文,实验部分不做介绍了。
最新文章
- Entity Framework Code First执行SQL语句、视图及存储过程
- WCF传输大数据的设置2
- ThreadPoolExecutor 分析
- nginx 详解
- 【HDOJ】2772 Matchsticks
- USACO chapter1
- 【原创】使用workstation安装Xenserver 6.5+cloudstack 4.10----本地存储模式
- 内嵌tomcat启动速度慢
- Android 进度条按钮实现(ProgressButton)
- oracle先排序再分页
- 7个鲜为人知却超实用的PHP函数--转(柒捌玖零)
- PHP开发APP接口实现--基本篇
- 第三百二十八节,web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理
- iOS手机应用开发原型模板及开发流程
- JavaScript高级 面向对象(1)--添加一个div标签
- 唯品会的Service Mesh三年进化史
- win7下面iis错误汇总
- android 开发 简单的小计算器
- web压力测试指标
- CDH问题集