involution内卷

首先,本文章是基于 机器之心:超越卷积、自注意力:强大的神经网络新算子「内卷」解读,的一些个人总结这里放上B站链接

普通卷积
在这里插入图片描述
这是普通卷积,图上为取一个卷积核的其中一个通道的对目标的一个通道的卷积内容,一般我们取3x3作为卷积核,卷积核从图像的某一个角落进行滑动,将图片内容根据滑动块各部分的权重与对应的卷积核乘积之和进行求和作为我们的的输出,还有一个padding的操作,这是为了方便改变卷积输出的维度内容

内卷involution
在这里插入图片描述
普通的卷积具有空间不变性和通道差异性,而内卷则具有相反的特性:空间差异性和通道不变性。
在这里插入图片描述
不同的空间独享一个空间位置,而通道范围内则共享

这里的HxW在卷积的部分里是1x1因为卷积是空间不变性

G代表的是将C个通道分为G个组,每一个组内的通道他们共享一个kernel 所以右G个kernel
invloution没有采用像convolution里的固定尺寸的kernel,采用基于feature map 生成对应的involution卷积核,使得kernel size与input size对应
我们使用一个kernel generation function卷积核生成函数
在这里插入图片描述
使得kennel的size可以更好的进行迁移

首先进行通道压缩,经过一个线性变换W0将C通道进行压缩压缩成为C/r节省了参数量和计算量大小为1x1x(C/r)在这里插入图片描述
经过一个σ非线性变换来增强它的非线性表达的能力
此时的kernel的大小依然为1x1x(C/r)的大小
再次经过一个线性变换W1,生成一个1x1xK²G的向量,但是由于希望的到KxKxG此时的数量主要集中在channel上所以要进行一个channel-to-space reshape
在这里插入图片描述
这样就得到了想要的
在这里插入图片描述

刚刚忘记说一个在这里插入图片描述
这个代表ij这个点所有通道代表的一个特征向量
拿上面这个在这里插入图片描述
那个ij代表的特征向量的邻域进行点乘相加(对应元素相乘,同一通道内元素进行相加)得到(空间位置聚合)在这里插入图片描述
因为KxKxG与C个通道进行相乘相加通道数目不一样所以要进行一次广播机制

以上是比较简单的一个involution内卷方式的实例化

下面讲解involution和Self-Attention的联系
在这里插入图片描述
翻译:相似性,在多头自注意力机制中的H相当于involution中的G 在H中是多头concat成为一个的H而G是不同通道组成一组(Multi-self attention我不太会,可能有的是瞎说的)
自注意力机制中的attention map是通过QKT去生成的而对应得到involution则是H去生成的,

区别
self- attention 需要去寻找pixel-to-pixel的关系,而内卷需要大量的卷积核生成,接着,self-attention需要位置编码,而内卷的卷积核的生成是按照顺序的,卷积核进行卷积的时候从左上角到右下角进行动态扫描的时候,kernel的生成是按照一定的顺序的,所以不需要位置编码

内卷替换卷积算法优化状况,发现内卷比卷积更为高效和轻量,优势很大在这里插入图片描述

参数量
在这里插入图片描述

在这里插入图片描述
各个参数量的设置

github代码链接

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值