1. 摘要
- 卷积操作和注意力机制都可以用来学习表征,两者之间存在根本关系。从某个意义说,这两个范例的大部分计算实际上用相同的操作完成。传统的卷积可以被分解成个1×1卷积,移位和求和操作。然后,我们将查询、键和值在自我注意力模块中的投影解释为多个1×1卷积,然后计算关注权重和值的聚合。该混合模型既享受了self-Attention 和Convolution (ACmix)的好处,同时与纯卷积或自我注意力对应模型相比具有最小的计算开销。
2. 引言
- 卷积操作根据卷积滤波器的权重在局部感受野上使用聚合函数,而这些权重是在整个特征图中共享的。这个特性给图像处理带来了关键的归纳偏差。 注意力模块基于输入特征的上下文应用加权平均操作,其中通过相关像素对之间的相似度函数动态计算关注权重。这种灵活性使注意力模块能够自适应地关注不同的区域,并捕获更多的信息特征。
- 具体来说,我们首先用1×1卷积投影输入特征图,并获得一组丰富的中间特征。然后,按照不同的范式重用和聚合中间特征,即分别以自注意力和卷积的方式。通过这种方式,ACmix享受了两个模块的好处,并有效地避免了两次进行昂贵的投影操作所带来的代价。
3. 方法
3.1 自注意力与卷积的联系
- 自注意力和卷积模块的分解存在密切联系。第一阶段是一个特征学习模块,其中两种方法通过执行1×1卷积将特征投影到更深的空间来共享相同的操作。另一方面,第二阶段对应于特征聚合过程,尽管其学习范式存在差异。
- 从计算角度来看,在卷积和自我关注模块的阶段一进行的1×1卷积需要理论FLOP和与通道维度大小C相关的参数的平方复杂度。相比之下,在第二阶段,两个模块都是轻量级的或者几乎不需要计算量。
- 因此,上述分析表明,(1)卷积和自注意力实际上共享通过1×1卷积投影输入特征图的相同操作,这也是两个模块的主要计算开销。(2) 尽管对于捕获语义特征至关重要,但第二阶段的聚合操作是轻量级的,不会产生额外的学习参数。
3.2 自注意力与卷积的整合
-
ACmix包括两个阶段:
在第一阶段,输入特征通过三个1×1卷积进行投影,并分别重塑为N块,得到3×N特征映射的中间特征集。
在第二阶段,有自注意力路径和卷积两个路径。对于自注意路径,对应的三个特征映射作为查询、键和值,遵循传统的多头自注意模块。
对于核大小为k的卷积路径,采用轻型全连接层并生成 k² 特征图,同时进行移位操作和聚合。
最后,将两条路径的输出加在一起,强度由两个可学习标量控制:
3.3 改进的移位和求和
移位操作的改进
(a) 使用张量移位的简单实现。
(b) 使用精心设计的组卷积核快速实现。
(c ) 进一步适应可学习内核和多个卷积组。尽管理论上是轻量级的,但将张量向各个方向移动实际上会破坏数据局部性并且难以实现矢量化实现。所以用固定卷积核的深度卷积作为位移。以Shift(f,−1,−1)为例,移位特征计算为:
定义一个的卷积核
相应的输出可以表述为:
通过精心设计特定移位方向的核权重,卷积输出就等价于简单张量移位。这样的修改使该模块具有更高的计算效率。在此基础上,还引入了一些适应性,增强模块的灵活性。卷积核作为可学习的权重释放,移位核作为初始化。这提高了模型的容量。
3.4 ACmix的计算代价
- 阶段1的计算成本和训练参数与自注意相同,比传统卷积更轻。阶段2中的ACmix引入了一个轻量级全连接层和组卷积的额外计算开销。计算复杂度与通道大小C呈线性关系,与阶段I相比相对较小。
4. 实验结果
4.1 ImageNet
4.2 ADE20K
4.3 COCO
4.4 消融实验
- α和β实际上反映了模型在不同深度对卷积或自我注意的偏向。在Transformer模型的早期阶段,卷积可以作为很好的特征提取器。在网络的中间阶段,模型倾向于利用两种路径的混合,并越来越倾向于卷积。在最后一个阶段,自注意表现出优于卷积。