Involution论文解读:从卷积变换出的神经网络新算子

在这里插入图片描述
这篇文章来自CVPR2021,作者是港科大计算机系在读,本科毕业于清华,个人主页


Motivation

既然是从卷积出发,我们需要先梳理卷积。
在这里插入图片描述
卷积的操作如上图所示,是目前神经网络里最基础的算子。
它具备两个特性:

  • 空间不变性
    因为卷积网络采用滑窗的形式,所以对于一张图片的各个部分,是共享卷积核参数的,相比于全连接网络,它在某个像素处,只考虑一个小邻域的信息,相当于加了一个很强的正则。
    这个特性的好处是大大降低了图像处理所需的参数量,以及使得网络输出具有平移不变性,也就是某一个特征不管出现在图像的某处,都会得到相同的输出。
    但是,平移不变性带来的坏处在于网络忽略了图像特征的位置信息,同时也受制于卷积核的大小使得网络无法提取远距离的像素相关性。
  • 通道特异性
    另一个特性是通道特异性,意思是每个输出通道来自于同一个卷积核,如图(来源见水印):
    在这里插入图片描述
    如果一个Kernel的size是 K × K × C K\times K \times C K×K×C的,那么我们把它展开成 C × K 2 C\times K^2 C×K2的矩阵,在C很大的时候,因为矩阵的秩最大不超过 K 2 K^2 K2,所以其中一定有信息的冗余。

Dao

网络设计的本质在于分配算力,而卷积显然是将算力更多地分配在通道之间。
但是从人的视觉出发,我们更关注像素空间的联系,所以卷积有一定的不合理性。


Involution

作者基于此,给出了一种和卷积对偶的算子,称为内卷
在这里插入图片描述
这张图说明了Involution的工作流程:对某一处的像素(图中红色部分),首先用∅函数(一般是某种线性变换,在论文中是BottleNeck形式,即一种1x1卷积的组合生成特定大小的向量)生成特定大小的权重向量,然后再用一种变换H(最一般的形式是重新排列)将权重展开成一个kernel,最后在通道维度上延展(直接复制),得到K×𝐶×𝐶的卷积核,与原图作卷积操作,得到输出。


Experiments

作者的实验分布很广,就不一一罗列了,主要有一个很有意思的地方:完全用Invo代替Conv并不能得到很好的效果,而是Conv作Head,Invo作Neck效果更好,那么像素空间信息的整合到底是在哪一步更重要呢?

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值