本文已参与「新人创造礼」活动,一起敞开创造之路

本文是对《ON THE CONNECTION BETWEEN LOCAL ATTENTION AND DYNAMIC DEPTH-WISE CONVOLUTION》的分析,作者在cnn领域找到了和local attention模块相似的机制,以此构建出了能够和swin transformer平起平坐的CNN架构

部分自注意力机制研讨

 作者提出部分自注意力网络如swin transforme和深度可分离卷积及其动态变体在稀少衔接这一思路上有相似之处,他们的首要区别在于以下两点:

  1. 参数同享方面: 深度可分离卷积的参数同享在空间层面,而部分注意力的参数同享在通道层面;
  2. 动态权重的核算方法:部分注意力中的核算方法是根据部分窗口中的点对方位的点积;而动态卷积中的是根据中心表征的线性映射或许全局池化的表征。

location attention

 关于部分自注意力机制,作者首要从 网络正则化策略包含稀少衔接和参数同享以及动态权重猜测三个方面来研讨。首要假定部分窗口的巨细为NkN_k,即核算部分注意力的序列为[xi1,xi2,xiNk][x_{i1},x_{i2},{x_{iN_k}}],给出部分自注意力机制的核算公式如下。

yi=∑j=1Nkaijxijaij=exp(QiKijTD)Zi,Zs=∑j=1Nkexp(QiKijTD)(1)\bold{y}_i=\sum^{N_k}_{j=1}a_{ij}\bold{x}_{ij}\tag{1}\\ a_{ij}=\frac{exp(\frac{\bold{Q}_i\bold{K}^{T}_{ij}}{D})}{Z_i},Z_s=\sum_{j=1}^{N_k}exp(\frac{\bold{Q}_i\bold{K}^{T}_{ij}}{D})

其间yi∈RD,xij∈RD,aij∈R\bold{y}_i\in R^D,\bold{x}_{ij}\in R^D,a_{ij}\in R,实际上便是由Q,KQ,K核算出的输入向量和窗口内向量的归一化权重aija_{ij},再乘上对应向量的嵌入值得出该方位的输出。相同能够写成如下点积的方法:

yi=∑j=1Nkwij⊙xij\bold{y}_i=\sum^{N_k}_{j=1}\bold{w}_{ij}\odot\bold{x}_{ij}

其间wij=[aij,aij,…,aij]∈RD\bold{w}_{ij}=[a_{ij},a_{ij},…,a_{ij}]\in R^D,从这中方法的部分注意力我们能够分析出以下几条性质:

  1. 稀少衔接:部分自注意力中的输出在空间上是稀少衔接的,输出向量中的某个元素yidy^d_i只与窗口内一切输入向量同方位的值[xi1d,xi2d,…xiNkd][x^d_{i1},x^d_{i2},…x^d_{iN_k}]相关,没有跨通道的联络。(感觉这又有点回到了LeNet和GoogLeNet的思路)
  2. 参数同享:不同通道间参数是同享的(关于多头注意力来说,在组内的通道间同享),也就便是wij\bold{w}_{ij}一切值都相同。
  3. 动态权重:注意力或许说权重的并不是好像CNN中MLP相同经过反向传达来学习,而是与窗口内输入向量的值有关,这就使得权重的核算中传递了跨通道的信息。
  4. 平移不变性:因为权重的核算是在窗口内部进行,假如窗口是稀少采样的,比方swin transformer,那么当输入图样的平移长度为窗口的整数倍时,对应的输出值也会保持值相同而方位平移。假如窗口是密集采样,以sliding window的方法采样,那输出便是完全的平移不变。
  5. 调集表征:窗口内的向量排列次序并不会对输出造成影响,方位信息被忽略了,需要采用其他的方法来记载。比方可学习的方位表征或许固定的方位表征。

depth-wise convolution

 首要介绍一下深度卷积1,它指的是对与输入的每个通道都分隔进行卷积,假定输入为HWCH\times W\times C那就用CCWW1W\times W\times 1的卷积D对每个通道分隔处理得到HWCH\times W\times C的输出,给出窗口巨细为NKN_K的一维方法的深度卷积核算公式如下:

yi=∑j=1Nkwoffset(i,j)⊙xij\bold{y}_i=\sum^{N_k}_{j=1}\bold{w}_{offset(i,j)}\odot\bold{x}_{ij}

相同是从以上几个视点分析:

  1. 稀少衔接:相同的,因为深度卷积对输入的每个通道分隔处理,某通道的输出只和同通道的输入有关,无跨通道的联络。

  2. 参数同享:不同空间方位上是参数同享的,也便是窗口移动时woffset(i,j)\bold{w}_{offset(i,j)}不变,而woffset(i,j)\bold{w}_{offset(i,j)}中的元素则并不相同。

  3. 动态权重:根底的深度卷积是无动态权重的,仅仅经过反向传达来学习卷积核的参数,而深度卷积的动态变体则引入了输入相关的权重猜测,分为同质变体和异质变体,前者是对窗口内的一切输入向量做池化后线性改动,后者则是对卷积方位的输入向量直接线性变换,公式如下:

    homo{w1,w2,…,wNk}=g(GAP(x1,x2,…,xN)inhomo{wi1,wi2,…,wiNk}=g(xi)homo\{\bold{w}_1,\bold{w}_2,…,\bold{w}_{N_k}\}=g(GAP(\bold{x}_1,\bold{x}_2,…,\bold{x}_{N})\\ inhomo\{\bold{w}_{i1},\bold{w}_{i2},…,\bold{w}_{i{N_k}}\}=g(\bold{x}_i)

    其间g()g()为FC+BN+ReLu+,FC在后者的情况下,权重参数在空间方位上不同享了,而是跟着窗口方位改动,但是核算权重参数的FC层参数是同享的(和多头注意力相同)。

    4.调集表征:因为核算深度卷积时的权重woffset(i,j)\bold{w}_{offset(i,j)}是与输入向量的对核算向量的相对方位有关的,所以隐含了空间方位信息表征,不必运用显式的方位表征。

给出性质比照图如下:

transformer一统天下?depth-wise conv有话要说
其间Local MLP指用MLP而非注意力来求输出yi\bold{y}_i,D-DW-Conv指深度卷积的动态变体。能够看出深度卷积和部分注意力是十分相似的,相同是具有空间和通道层面的稀少性,相同存在权重同享,而深度卷积的变体更进一步的具有了相同的动态权重猜测性质。

试验

 作者运用深度卷积及其变体来代替swin transformer中注意力模块,前置和后置的线性变换层被替换成了1*1卷积,在多项视觉使命上进行了试验,成果如下:

transformer一统天下?depth-wise conv有话要说
能够看到在分类使命上根底的DW-Conv已经取得了和swin transformer附近的成果,而且参数和核算量更少;引入了变体之后准确率更是超过了swin transformer,其他使命上的成果相似,根底版深度卷积和swin transformer作用接近,改进版更好。

消融试验

 正如之前说的,稀少衔接参数同享以及动态权重猜测是swin transformer十分重要的三个性质。稀少衔接的重要性经过swin trans和vit以及DW-CONV和CONV的成果比照就能够见得,作者经过试验来验证其他两项的重要性:

参数同享

 作者对local-mlp和local-attention同享参数的通道数目对性能的影响进行了研讨,对后者而言,同享参数的通道数目经过控制head的数目来改动,成果如下:

transformer一统天下?depth-wise conv有话要说
定论是恰当设置同享参数的通道数目,能够涨点。(这个试验说了和没说相同,没有明确定论。) 作者也研讨了通道层面的参数同享和空间层面参数同享的影响,但成果也没什么说服力,加了通道层面参数同享后,DW的成果反而更差。

transformer一统天下?depth-wise conv有话要说

动态权重猜测

 相似的,动态权重的有效性在前表中就可见得,作者在这里讨论了动态权重核算方法以及窗口移动方法(滑动或许是平移)的影响:

transformer一统天下?depth-wise conv有话要说
对attention机制而言,窗口移动方法影响不大;相同运用sliding的情况下,线性映射的作用要优于attention,但作者又说大模型的情况下基本没不同,也是没用的试验。

定论

 local attention和深度卷积很像,且非同质动态深度卷积要优于local attention,但消融试验属实做的不咋地。

参考

Footnotes

  1. A Basic Introduction to Separable Convolutions | by Chi-Feng Wang | Towards Data Science ↩