论文笔记-ON THE RELATIONSHIP BETWEEN SELF-ATTENTION AND CONVOLUTIONAL LAYERS
论文信息
- 标题:THE CORRESPONDENCE BETWEEN ATTENTION MECHANISMS AND CONVOLUTIONAL LAYERS
- 作者:Jean-Baptiste Cordonnier, Andreas Loukas & Jean-Pierre Jaggi
- 机构:Polytechnique Fédérale de Lausanne (EPFL)
- 出处:the International Conference on Learning and Representation in 2020年.
代码链接
* https://github.com/epfml/attention-cnn
论文主要贡献
- 本文不仅从理论角度探讨了自注意力机制的工作原理,并且通过实证研究验证了其功能特性。
- 从理论上讲, 本研究采用归纳论证的方式, 明确揭示了自注意力机制具备模拟卷积操作能力的基本条件。
- 在实践层面, 单个多头自注意力模块经过适配相对位置编码处理后, 能够充分模拟任意卷积操作的效果; 实验研究表明, 单独采用注意力机制构建的网络架构同样具备识别像素局部空间关系特征的能力, 其功能特性与理论推导所得结论高度一致。
论文要点翻译
-
最近的计算机视觉研究中注意力机制的应用已经促使研究者开始重新评估卷积层在深度学习网络中的基础组件的核心地位。已有研究表明,在CNN中处理长距离依赖关系方面具有显著优势的同时, 注意力机制也可以替代卷积层并在计算机视觉任务中达到最佳性能(SOTA)水平。
-
本文探讨的问题是:学习得到的注意力层是否能够完全取代卷积层?研究结果表明,在特定条件下, 学习到的注意力机制确实能够执行类似卷积操作,并且通常情况下, 注意力机制的操作与卷积操作具有高度一致性。
-
研究表明,在多头自注意力架构中, 当"头"的数量足够时, 其表达能力与传统的卷积操作相当。
-
实验结果表明, 在特定配置下, 自注意力机制能够生成与CNN类似的像素级特征模式, 这一发现验证了我们提出的相关理论分析。
-
引言
-
最近在自然语言处理领域取得了显著进展的主要原因在于Transformer架构的发展。这种架构通过预训练模型成功解决了无监督的大规模文本处理问题,并推动了GPT-2、BERT、Transformer-XL等网络的发展。这些网络致力于发现文本和序列中潜在的结构信息以提取泛化的多任务特征表示。
-
Transformer相较于传统方法最显著的特点在于其能够同时关注输入序列中的每个元素。这一特性得益于自注意力机制的应用。具体而言,在自注意力机制中根据词语表示之间的相似度(由注意分数决定),每个词语会根据其他相关词语的信息进行更新。
-
自注意力机制被研究者开始尝试应用于计算机视觉领域并取得了一定成果。例如,在卷积神经网络中引入自注意力机层以开发通道注意力机制或跨图像关系等新方法均取得了不错的效果。进一步的研究表明,在某些情况下将卷积层替换为自注意机层可显著提升图像分类与目标检测任务的表现。
-
这些实验结果引发了对自注意机层能否像卷积机层一样有效处理图像这一问题的关注。从理论角度来看研究者认为由于具有强大的泛函能力Transformer架构能够拟合任何函数包括模拟卷积机层的功能。此外基于多层自注意机理加上适当的位置编码在特定假设条件下该架构可被称为图灵完备的体系。
-
然而目前的研究仍未能明确指出具体是哪种机制驱动模型完成特定的任务只是证明模型具备完成该任务的能力因此关于自注意机层如何作用于图像这一本质问题仍待进一步探索
- 注意力机制背景知识
- 多头自注意力
- X \in \mathbb{R}^{T\times D_{in}} 表示输入矩阵,由 T 个 token 组成,每个 token 是 D_{in} 维的。在 NLP 任务中,每个 token 对应句子中的一个词语,相似的形式化描述可以运用到 T 个离散对象的序列中(例如像素),自注意力层将查询 token t \in [T] 从 D_{in} 维映射到 D_{out} 维:SelfAttention(X)_{t,:}:=softmax(A_{t,:})XW_{val}
- 其中的 TxT 矩阵 A:=XW_{qry}W_{key}^{\top}X^\top 表示注意力得分,softmax 输出作为注意力的概率分布,因此,自注意力层的参数包括:一个查询矩阵 W_{qry} \in \mathbb{R}^{D_{in}\times D_k} 、一个键矩阵 W_{key} \in \mathbb{R}^{D_{in}\times D_k} 和一个值矩阵 W_{val} \in \mathbb{R}^{D_{in}\times D_{out}}
- 自注意力模型的关键实行是和重排序等价的,换言之,无论 T 个输入的 token 顺序如何变化,模型输出的结果都是一定的,因此,这个模型在需要位置信息的时候变得不可用,为了解决这个限制,可以加上位置编码信息,学习每个 token 在序列中的位置信息,将其加入 token 自己的特征表示,再运用自注意力:A:=(X+P)W_{qry}W_{key}^{\top}(X+P)^\top,其中的 P \in \mathbb{R}^{T \times D_{in}} 包含每个位置的嵌入向量,不失一般性地,P 可以使用任何能够返回位置特征表示向量的函数进行替代
- 研究发现,将自注意力机制进行多头替换是对任务有利的,每个注意力头关注输入的不同部分,分别使用不同的查询、键和值矩阵。在多头注意力机制中,输出的 N_h 个 D_h 维度的头通过拼接,重新投影为 D_{out} 维度:MHSA(X)=concat_{h \in [N_h]}[SelfAttention_h(X)]W_{out}+b_{out},其中的两个新参数分别是投影矩阵 W_{out} \in \mathbb{R}^{N_hD_h\times D_{out}} 和偏置项 b_{out} \in \mathbb{R}^{D_{out}}
- 注意力机制背景知识
-
-
图像领域的注意力机制
-
卷积层的作用是将特定的空间局部特征提取出来并用于神经网络构建的关键操作。对于输入图像张量 \boldsymbol{X}\in\mathbb{R}^{W \times H \times D_{in}} 中的每个像素位置(i,j),其卷积操作的结果定义为 Conv(X)_{i,j}=\sum_{(\delta_1,\delta_2)\in \Delta K} \boldsymbol{X}_{i+\delta_1,j+\delta_2,:}\boldsymbol{W}_{\delta_1,\delta_2,:}+b
-
其中 W 是由 K \times K \times D_{in} \times D_{out} 维度构成的权重张量(而不是"权重张良"),b ∈ ℝ^{D_{out}} 是偏置向量。这里的 ΔK 区域表示图像中 K × K 核对应的像素偏移范围
-
在输入空间中,tokens 对应的位置是查询像素 q 和键像素 k∈[W]×[H] 的位置关系。相应地,在三维空间中输入张量 X ∈ ℝ^{W × H × D_in}
-
为了与一维序列处理相一致,在处理二维数据时会将单个像素 p=(i,j) 的特征表示为 X_p, : 和 A_p, : 的形式。此时则:SelfAttention(X)_{q,:}=softmax(A_q,:)_k X_k, : W_val
-
图像的位置信息编码
-
图像的位置信息主要包含绝对位置信息和相对位置信息
-
绝对位置信息的计算公式如下:
其计算公式为A^{abs}_{q,k}= (X^{(q)} + P^{(abs)}_q) \cdot W^{qry}_{row}\cdot (W^{key}_{col})^T \cdot (X_k + P_k)^T -
相对位置信息的计算由三部分组成:
第一部分为X_q^T \cdot (W^{row}_{ qry})^T \cdot W^{col}_{ key}\cdot X_k
第二部分为X_q^T \cdot (W^{row}_{ qry})^T \cdot \widehat{W}_{ key}\cdot r_\delta
第三部分则为u^T\cdot W^{col}_{ key}\cdot X_k- 方法
- 自注意力层看作卷积层
- 定理一:有 N_h 个 D_h 维头部的多头自注意力机制,输出 D_{out} 维数据和 D_p \ge 3 维度相对位置编码,则可以表示任何 \sqrt{N_h} \times \sqrt{N_h} 大小的核和 \min(D_{in},D_{out}) 通道的卷积
- 定理一的证明可以通过选择多头注意力层的参数使其表现为卷积层进行演绎式的证明,在提出的演绎是证明中,每个自注意头对应的注意力得分应当关注 K*K 的核中所有可能的像素位置移动,此外,前面提到的条件对于相对位置编码也同样适用
- 定理包含了通用的卷积算子的功能,但是机器学习实践者通常使用可微的编程框架,会质疑这是否适用于所有二维卷积层的超参数(padding,stride 和 dialation)
- 一维的情况:序列的卷积通常在文本、声音和时间序列中,定理一可以直接扩展,多头注意力可以将 1D 卷积转变成 K = N_h 的多头注意力,输出通道为 \min(D_{in},D_{out}),位置编码维度 D_p \ge 2
- 算法证明:
- 引理1:考虑 K^2 个头的多头自注意力层,D_h \ge D_{out} 且 f:[N_h] \to \Delta_K 表示从头到位置偏移的双射,则假设每个头都满足 softmax(A_{q,:}^{(h)})_k=1\ if\ f(h)=q-k\ else\ 0,则此时对于 K*K 有 D_{out} 输出通道的卷积层,存在 \{W_{val}^{(h)}\}_{h\in[N_h]} 使得 MHSA(X)=Conv(X)
- 对于 D_h 和 D_{out} ,通常的 transformer 会设置 D_h = D_{out}/N_h,因此 D_h \lt D_{out},此时 W^{(h)} 可以看作是秩为 D_{out}-D_h 的矩阵,此时无法表达所有 D_{out} 通道的卷积层,但是可以发现,任何 D_{out} 中的 D_h 个 MHSA(X) 个输出可以表达 D_h 输出通道的卷积
- 引理2:存在相对编码方案 \{r_\delta\in \mathbb{R}^{D_p}\}_{\delta\in \mathbb{Z}^2} D_p \ge 3 ,参数为 W_{qry},W_{key},\widehat W_{key},u 且 D_p \le D_k ,使得每个 \Delta \in \Delta_K,存在一个向量 v 可以生成 softmax(A_{q,:})_k=1\ if\ k-q=\Delta\ else\ 0
- 方法
