Advertisement

图文检索(3):On the Integration of Self-Attention and Convolution

阅读量:

On the Integration of Self-Attention and Convolution

  • 摘要

  • 3 重新审视卷积和自注意力

    • 3.1 卷积
    • 3.2 自注意力
    • 3.3 计算成本(稍后再看)
  • 4 方法

  • 4.1 通过整合自注意力机制与卷积操作
    * 4.2 结合自注意力机制与卷积操作
    * 优化后的偏移量及其求和运算
    * ACmix 的计算复杂度分析推迟至后文讨论
    * 扩展至其他注意力模式的应用

  • 6 结论


发布时间(2022 CVPR)


标题:探讨自注意力机制与卷积神经网络的融合
1)如何具体实现
2)计算复杂度分析
3)三种相关变体(Patchwise、Swin-Transformer、ViT)

摘要

卷积操作与自注意力机制是表示学习中的两种主要方法,在深度学习领域中被广泛认为属于完全不同的范畴。
然而,在本文研究中我们发现它们之间存在深刻联系。
具体而言,
传统的 k×k 卷积操作可以通过 k² 个 1×1 卷积实现,
随后进行位移运算并累加输出。
而在自注意力模块中,
我们发现通过将查询、键和值向量投影视为多个 1×1 矩阵的操作来处理更为合理,
随后计算对应的权重并进行特征向量的加权求和。
值得注意的是,
在这两步操作的第一阶段中,
两者所涉及的核心计算复杂度具有显著差异:
前者的时间开销与通道数量平方成正比,
而后者则相对较低。
这种差异性最终导出了一个令人满意的混合模型框架,
该框架既继承了自注意力机制的优势又具备高效的计算特性:
它既能享受传统自注意力模型的优势,
又能避免纯卷积架构带来的计算负担。
大量实验结果表明,
该混合架构在图像分类任务上表现优异,
较之现有的基线模型实现了持续改进。
此外,
代码实现及预训练模型将在官方GitHub仓库中公布。

3 重新审视卷积和自注意力

卷积神经网络中的自注意力机制以其当前形式已为公众所熟知。为了进一步揭示这两个模块之间的内在联系,我们从一个新颖的角度对它们进行深入分析,将它们的操作划分为若干步骤

3.1 卷积

卷积是现代卷积网络的关键组成部分。在本节中,我们将详细探讨标准卷积运算,并通过多种视角对其进行深入分析。如图 2(a) 所示,在本节中将详细探讨标准卷积运算及其多角度解析。为了简化讨论,默认情况下我们假定卷积核的步长为1。

理解卷积:
1)输入特征是一个三维的空间结构:包含输入通道数(通常为3)、高度H和宽度W
2)输出特征同样呈现三维空间结构:由输出通道数决定其深度
3)滤波器是一个四维的空间权重分布:由输入通道数(常为3)、输出通道数以及滤波器尺寸k定义
4)计算过程如下:每个输出通道都对应一个独立的滤波器;每个滤波器的空间加权计算公式为k×k×C_in

深入解析本文中的卷积公式:

在这里插入图片描述
在这里插入图片描述

3.2 自注意力

注意力机制在视觉任务领域也得到了广泛应用。相较于传统的卷积架构而言,注意力机制使模型能够更加有效地关注关键区域并捕捉长距离依赖关系。具体展示了这一案例的是图 2(b) 中的内容。

理解本文的注意力:
1)gij 可以表示某一个 token 通过 q、k、v 这三个模块后得到的向量
2)整体过程大致是:对每个 token 进行一次映射处理,并且类似于单通道卷积操作后输出特征向量,在此基础之上将各部分的输出进行加权求和计算

在这里插入图片描述

3.3 计算成本(稍后再看)

4 方法

卷积与自注意力机制在第一阶段实现共享,在这一过程中具有较高的计算复杂度;而在第二阶段的运行中显著低于前者的情况下,则能够实现整体运行时间的优化

4.1 联系 self-attention 和 convolution

本节通过细致地分解自注意力机制与卷积操作,深入探讨了两者之间的内在联系.值得注意的是,在功能上这两个阶段呈现出高度的一致性.在第一部分中(即阶段 I),我们关注的是特征提取过程,在此过程中两种方法均采用了 1×1 卷积来将特征映射到更高维度的空间中.尽管具体的实现策略有所不同,这表明在第二部分中(即阶段 II),我们重点研究的是特征融合的过程.

在计算资源方面来看,在第一阶段执行的所有 1×1 卷积操作均需要涉及通道大小 C 的理论浮点运算次数以及参数数量呈二次增长的关系。相比之下,在后续的第二阶段中,这两个模块的设计更加轻量化,基本无需额外计算资源。

综上所述

4.2 融合 self-attention 和 convolution

上述观察自然导致了卷积和自注意力的优雅融合。由于两个模块共享相同的 1×1 卷积操作,我们只需执行一次投影,并分别将这些中间特征图重新用于不同的聚合操作。我们提出的混合模块 ACmix 的图示如图 2© 所示。
具体来说,ACmix 也包含两个阶段。在阶段 I,输入特征通过三个 1×1 卷积进行投影,并分别重塑为 N 个部分。因此,我们获得了一组包含 3×N 特征图的丰富中间特征。
在阶段 II,它们按照不同的范例使用。对于自注意力路径,我们将中间特征聚集成 N 组,每组包含三部分特征,每个特征来自一个 1×1 卷积。相应的三个特征图用作查询、键和值,遵循传统的多头自注意力模块(等式 (12))。对于核大小为 k 的卷积路径,我们采用轻量级全连接层并生成 k 2 个特征图。因此,通过移动和聚合生成的特征(等式 (7)、(8)),我们以卷积方式处理输入特征,并像传统方式一样从局部感受野收集信息。

4.3 改良的移位(shift)和求和(summation)

参考第4.2节以及图2的示意图中可以看出,在卷积路径中运行中间特征时会遵循传统卷积模块中执行位移操作并进行累加的操作。然而从理论角度来看,尽管这些中间特征设计上具有轻量化的特性,在实际应用中将张量沿着各个方向进行转移将会导致数据局部性被破坏,并且难以实现矢量化操作。这些缺陷可能严重削弱该模块在推理过程中的效率。

为了有效解决这一问题,在本研究中我们采用了固定核深度卷积技术来替代传统上的高计算开销张量移位。如图3(b)所示,在Shift(f,−1,−1)的具体实现中,请注意其移位特征的具体计算过程如下:

在此基础上,我们引入了一些调整以增强模块的灵活性.例如,如图3 (c.II)所示,我们将可学习地调整卷积核以适应不同的特征映射需求.这种改进不仅保留了原有的移位操作能力,还能有效提升模型的表现.此外,我们还通过多组独立的卷积核来匹配不同路径输出通道的数量关系,如图3 (c.III)所示.

4.4 ACmix 的计算复杂度(稍后再看)

4.5 推广到其他 attention modes

随着自注意力机制的发展, 多种研究致力于深入探究各种新型注意力算子, 以进一步提升模型性能.[53]提出的Patchwise注意⼒将局部区域内所有特征信息作为权重融入attention⼒程, 并替代传统的Softmax操作.Swin-Transformer [31]采用了基于窗口限制的技术, 在相同区域内的token能够共享相同的视野范围.此外, 在ViT和DeiT [15,41]中考虑全局关注⼒旨在将长距离依赖关系保留在单个层内.这些改进措施在特定架构设计中展现了显著的有效性

在这种情境下,值得指出的是我们的 ACmix 方法与传统的自注意力机制无关,并且能够方便地融入现有架构中。具体而言,在此情境下,注意力权重可表示为:

其中 [...] 表示特征之间的连接,在模型中φ(...) 代表两个线性投影层之间的关系,在中间部分经过非线性激活过程后得到输出结果。其中Wk(i,j) 作为每个查询标记的专用感受野参数,在整体架构中负责提取特定区域的信息特性。而 W 则代表整个特征图中各点的空间位置关系参数(有关更多详细信息,请参阅原始论文)。通过计算得到的注意力权重能够直接应用至等式 (12),并满足通用公式的要求。

6 结论

本文深入分析了卷积神经网络与自注意力机制之间相互依存的关系

全部评论 (0)

还没有任何评论哟~