文章目录

  • APPENDIX
    • A RELATION GRAPH
    • B MATRIX FORM EXPLANATION
    • C LOCAL ATTENTION VS CONVOLUTION: DYNAMIC WEIGHTS

APPENDIX

A RELATION GRAPH


在图 3 中给出了一个关系图来描述卷积、depth-wise separable convolution(depth-wise convolution + 1×11 \times 11×1 convolution)、Vision Transformer、Local Vision Transformer 以及多层感知器(MLP)、Separable MLP 之间的关系在稀疏连接、权重共享和动态权重方面。表 7

图 3:卷积 (Conv)、深度可分离卷积 (DW-S Conv)、Vision Transformer (ViT) 构建块、局部 ViT 构建块、Sep MLP(例如 MLP-Mixer 和 ResMLP)、动态深度的关系图在稀疏连通性和动态权重方面,可分离卷积(Dynamic DW-S Conv),以及动态局部可分离 MLP。 Dim = 包括空间和通道的维度,Sep = 可分离,LR = 低秩,MS Conv = 多尺度卷积,PVT = 金字塔视觉Transformer。

表 7:注意力、局部 MLP(局部注意力的非动态版本,注意力权重作为静态模型参数学习)、局部注意力、卷积、深度卷积(DW-Conv.)和动态变体( D-DW-Conv.),以及在稀疏连接、权重共享和动态权重模式方面的 MLP 和 MLP 变体。 Spatial-mixing MLP(channel-separable MLP)对应于token-mixer MLP。 ‡1×11\times 11×1转化率也称为逐点(空间可分离)MLP。 权重可能在每组通道内共享。有关连接模式的说明,请参阅图 1。

图 1:(a) 卷积、(b) 全局注意力和空间混合 MLP、© 局部注意力和深度卷积、(d) 逐点 MLP 或1×11 \times 11×1卷积 (e) MLP(全连接层)。在空间维度上,为了清楚起见,使用一维来说明局部连接模式。

多层感知器 (MLP) 是一个全连接层:一层中的每个神经元(每个位置和每个通道的一个元素)都与前一层中的所有神经元相连。卷积和可分离 MLP 是 MLP 的稀疏版本。连接权重可以表示为张量(例如,3D 张量,空间的二维和通道的一维),并且张量的低秩近似可用于正则化 MLP。

卷积是一个局部连接层,通过将每个神经元连接到一个小的局部窗口中的神经元而形成,其权重在空间位置之间共享。 Depth-wise separable convolution是通过将卷积分解成两个分量形成的:一个是point-wise 1×11 \times 11×1卷积,将信息跨通道混合,另一个是depth-wise convolution,混合空间信息。卷积的其他变体,例如瓶颈、多尺度卷积或金字塔,可以被视为低秩变体。

可分离 MLP(例如 MLP-Mixer 和 ResMLP)将 3D 张量重塑为具有空间维度和通道维度的 2D 格式。可分离 MLP 由两个分别沿两个维度的稀疏 MLP 组成,它们是通过将输入神经元分成组而形成的。关于通道稀疏性,同一通道中的神经元组成一个组,对每组进行一次 MLP,MLP 参数在组间共享,形成第一个稀疏 MLP(空间/token混合)。通过将同一位置的神经元观察到一组来完成类似的过程,形成第二个稀疏 MLP(通道混合)。

Vision Transformer 是可分离 MLP 的动态版本。第一个稀疏 MLP(空间/token混合)中的权重是从每个实例动态预测的。 Local Vision Transformer 是 Vision Transformer 的空间稀疏版本:每个输出神经元都连接到局部窗口中的输入神经元。 PVT是 Vision Transformer 的金字塔(空间采样/低秩)变体。

深度可分离卷积也可以被视为可分离 MLP 的空间稀疏版本。在第一个稀疏 MLP(空间/token混合)中,每个输出神经元仅依赖于局部窗口中的输入神经元,形成深度卷积。此外,连接权重是跨空间位置共享的,而不是跨通道共享的。

B MATRIX FORM EXPLANATION


使用矩阵形式来解释各个层的稀疏连通性以及它们是如何通过修改 MLP 获得的。

MLP。术语MLP,即多层感知器,在任何前馈神经网络中都使用得很模糊,有时使用得很松散。采用其中一种常见的定义,并使用它来指代全连接层。讨论基于一个全连接的层,可以很容易地推广到两个或更多全连接的层。除非线性单位和其他单位外,一个主要组成部分是线性变换:
y=Wx(9)\mathbf{y}=\mathbf{W} \mathbf{x} \quad(9) y=Wx(9)
其中x\mathbf{x}x表示输入神经元,y\mathbf{y}y表示输出神经元,W\mathbf{W}W表示连接权重,例如W∈RNC×NC\mathbf{W} \in \mathbb{R}^{N C \times N C}W∈RNC×NC,其中NNN是位置数,CCC是通道数。

卷积。考虑单通道的1D情况(2D情况类似),连接权重矩阵W∈RN×N\mathbf{W} \in \mathbb{R}^{N \times N}W∈RN×N为以下稀疏形式,也称为Toeplitz矩阵(以窗口大小3为例):
W=[a2a300⋯0a1a1a2a30⋯00⋮⋮⋮⋮⋱⋮⋮a3000⋯a1a2](10)\mathbf{W}=\left[\begin{array}{ccccccc} a_{2} & a_{3} & 0 & 0 & \cdots & 0 & a_{1} \\ a_{1} & a_{2} & a_{3} & 0 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ a_{3} & 0 & 0 & 0 & \cdots & a_{1} & a_{2} \end{array}\right] \quad (10) W=⎣⎢⎢⎢⎡​a2​a1​⋮a3​​a3​a2​⋮0​0a3​⋮0​00⋮0​⋯⋯⋱⋯​00⋮a1​​a1​0⋮a2​​⎦⎥⎥⎥⎤​(10)
对于CCC通道的情况,按通道将输入组织成一个向量通道:[x1⊤x2⊤…xC⊤]⊤\left[\begin{array}{llll}\mathbf{x}_{1}^{\top} & \mathbf{x}_{2}^{\top} & \ldots & \mathbf{x}_{C}^{\top}\end{array}\right]^{\top}[x1⊤​​x2⊤​​…​xC⊤​​]⊤,因此对于coc_{o}co​输出通道,逐通道连接权重矩阵Wco=[Wco1Wco2…WcoC]\mathbf{W}_{c_{o}}=\left[\mathbf{W}_{c_{o} 1} \mathbf{W}_{c_{o} 2} \ldots \mathbf{W}_{c_{o} C}\right]Wco​​=[Wco​1​Wco​2​…Wco​C​](Wcoi\mathbf{W}_{c_{o} i}Wco​i​的形式与上式相同)。整个表格可以写成
[y1y2⋮yC]=[W1W2⋮WC][x1x2⋮xC]\left[\begin{array}{c} \mathbf{y}_{1} \\ \mathbf{y}_{2} \\ \vdots \\ \mathbf{y}_{C} \end{array}\right]=\left[\begin{array}{c} \mathbf{W}_{1} \\ \mathbf{W}_{2} \\ \vdots \\ \mathbf{W}_{C} \end{array}\right]\left[\begin{array}{c} \mathbf{x}_{1} \\ \mathbf{x}_{2} \\ \vdots \\ \mathbf{x}_{C} \end{array}\right] ⎣⎢⎢⎢⎡​y1​y2​⋮yC​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​W1​W2​⋮WC​​⎦⎥⎥⎥⎤​⎣⎢⎢⎢⎡​x1​x2​⋮xC​​⎦⎥⎥⎥⎤​

Sep. MLP 。 Sep. MLP,例如 ResMLP 和 MLP-Mixer,由两种块稀疏矩阵组成:一种用于通道混合,另一种用于空间混合。在输入按通道组织的情况下(每个通道中的神经元形成一个组),x=[x1⊤x2⊤⋯xC⊤]⊤\mathbf{x}=\left[\mathbf{x}_{1}^{\top} \mathbf{x}_{2}^{\top} \quad \cdots \quad \mathbf{x}_{C}^{\top}\right]^{\top}x=[x1⊤​x2⊤​⋯xC⊤​]⊤,连接权重矩阵为块稀疏形式:
W=[Wc0⋯000Wc⋯00⋮⋮⋱⋮⋮00⋯0Wc]\mathbf{W}=\left[\begin{array}{ccccc} \mathbf{W}_{c} & \mathbf{0} & \cdots & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{W}_{c} & \cdots & \mathbf{0} & \mathbf{0} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \mathbf{0} & \mathbf{W}_{c} \end{array}\right] W=⎣⎢⎢⎢⎡​Wc​0⋮0​0Wc​⋮0​⋯⋯⋱⋯​00⋮0​00⋮Wc​​⎦⎥⎥⎥⎤​
其中块矩阵Wc∈RN×N\mathbf{W}_{c} \in \mathbb{R}^{N \times N}Wc​∈RN×N在所有通道之间共享,并且可以修改共享模式以在每组通道内共享权重。

输入可以逐个位置重塑(每个位置的神经元形成一个组):x=[x1⊤x2⊤⋯xC⊤]⊤\mathbf{x}=\left[\mathbf{x}_{1}^{\top} \mathbf{x}_{2}^{\top} \quad \cdots \quad \mathbf{x}_{C}^{\top}\right]^{\top}x=[x1⊤​x2⊤​⋯xC⊤​]⊤,类似地,可以用块稀疏形式表示另外一个连接权重矩阵(它本质上是一个1×11 \times 11×1卷积,Wp∈RC×C\mathbf{W}_{p} \in \mathbb{R}^{C \times C}Wp​∈RC×C):
W′=[Wp0⋯000Wp⋯00⋮⋮⋱⋮⋮00⋯0Wp]\mathbf{W}^{\prime}=\left[\begin{array}{ccccc} \mathbf{W}_{p} & \mathbf{0} & \cdots & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{W}_{p} & \cdots & \mathbf{0} & \mathbf{0} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \mathbf{0} & \mathbf{W}_{p} \end{array}\right] W′=⎣⎢⎢⎢⎡​Wp​0⋮0​0Wp​⋮0​⋯⋯⋱⋯​00⋮0​00⋮Wp​​⎦⎥⎥⎥⎤​
在交错组卷积中研究了块稀疏性的形式,而没有在组之间共享权重。

Sep. MLP也可以看成是用Kronecker克积来逼近连接矩阵,
Wx=vec⁡(Amat⁡(x)B)\mathbf{W} \mathbf{x}=\operatorname{vec}(\mathbf{A} \operatorname{mat}(\mathbf{x}) \mathbf{B}) Wx=vec(Amat(x)B)

这里,W=B⊤⊗A=Wc⊤⊗Wp\mathbf{W}=\mathbf{B}^{\top} \otimes \mathbf{A}=\mathbf{W}_{c}^{\top} \otimes \mathbf{W}_{p}W=B⊤⊗A=Wc⊤​⊗Wp​。⊗\otimes⊗是Kronecker乘积算子。mat (x)(\mathbf{x})(x)将向量x\mathbf{x}x重塑为 2D 矩阵形式,而vec (x)(\mathbf{x})(x)将 2D 矩阵重塑为向量形式。在 Sep. MLP 中,2D 矩阵mat (x)∈RC×N(\mathbf{x}) \in \mathbb{R}^{C \times N}(x)∈RC×N被组织成每一行对应一个通道,每一列对应一个空间位置。 CCNet和interlaced self-attention使用 Kronecker 积来逼近空间连接:前者沿 x 和 y 轴以 2D 矩阵形式重塑向量,而后者通过窗口重塑矢量窗口。

视觉Transformer (ViT)。矩阵形式类似于 Sep. MLP 。不同之处在于矩阵Wc\mathbf{W}_{c}Wc​是从每个图像实例中预测的。 ViT 中的权重预测方式有一个好处:处理任意数量的输入神经元。

深度可分离卷积。有两个基本组成部分:深度卷积和1×11 \times 11×1卷积,与 Sep. MLP 中的通道混合 MLP 相同。深度卷积可以写成矩阵形式:
[y1y2⋮yC]=[W110⋯00W22⋯0⋮⋮⋱⋮00⋯WCC][x1x2⋮xC],\left[\begin{array}{c} \mathbf{y}_{1} \\ \mathbf{y}_{2} \\ \vdots \\ \mathbf{y}_{C} \end{array}\right]=\left[\begin{array}{cccc} \mathbf{W}_{11} & \mathbf{0} & \cdots & \mathbf{0} \\ \mathbf{0} & \mathbf{W}_{22} & \cdots & \mathbf{0} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \mathbf{W}_{C C} \end{array}\right]\left[\begin{array}{c} \mathbf{x}_{1} \\ \mathbf{x}_{2} \\ \vdots \\ \mathbf{x}_{C} \end{array}\right], ⎣⎢⎢⎢⎡​y1​y2​⋮yC​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​W11​0⋮0​0W22​⋮0​⋯⋯⋱⋯​00⋮WCC​​⎦⎥⎥⎥⎤​⎣⎢⎢⎢⎡​x1​x2​⋮xC​​⎦⎥⎥⎥⎤​,
其中Wcc\mathbf{W}_{c c}Wcc​的形式与公式 10 相同。

局部 ViT。在非重叠窗口分区的情况下,局部 ViT 只是简单地在每个窗口上单独重复 ViT,线性投影应用于键、值和查询,在窗口之间共享。在重叠的情况下,形式有点复杂,但直觉是一样的。极端情况下,分区与卷积相同,形式如下:
[y1y2⋮yC]=[Wd0⋯00Wd⋯0⋮⋮⋱⋮00⋯Wd][x1x2⋮xC],\left[\begin{array}{c} \mathbf{y}_{1} \\ \mathbf{y}_{2} \\ \vdots \\ \mathbf{y}_{C} \end{array}\right]=\left[\begin{array}{cccc} \mathbf{W}^{d} & \mathbf{0} & \cdots & \mathbf{0} \\ \mathbf{0} & \mathbf{W}^{d} & \cdots & \mathbf{0} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \mathbf{W}^{d} \end{array}\right]\left[\begin{array}{c} \mathbf{x}_{1} \\ \mathbf{x}_{2} \\ \vdots \\ \mathbf{x}_{C} \end{array}\right], ⎣⎢⎢⎢⎡​y1​y2​⋮yC​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​Wd0⋮0​0Wd⋮0​⋯⋯⋱⋯​00⋮Wd​⎦⎥⎥⎥⎤​⎣⎢⎢⎢⎡​x1​x2​⋮xC​​⎦⎥⎥⎥⎤​,
其中动态权重矩阵Wd\mathbf{W}^{d}Wd如下所示:
Wd=[a12a1300⋯0a11a21a22a230⋯00⋮⋮⋮⋮⋱⋮⋮aN3000⋯aN1aN2].\mathbf{W}^{d}=\left[\begin{array}{ccccccc} a_{12} & a_{13} & 0 & 0 & \cdots & 0 & a_{11} \\ a_{21} & a_{22} & a_{23} & 0 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ a_{N 3} & 0 & 0 & 0 & \cdots & a_{N 1} & a_{N 2} \end{array}\right] . Wd=⎣⎢⎢⎢⎡​a12​a21​⋮aN3​​a13​a22​⋮0​0a23​⋮0​00⋮0​⋯⋯⋱⋯​00⋮aN1​​a11​0⋮aN2​​⎦⎥⎥⎥⎤​.

低秩 MLP 。低秩 MLP 使用两个低秩矩阵的乘积来逼近等式 9 中的连接权重矩阵W∈RDo×Di\mathbf{W} \in \mathbb{R}^{D_{o} \times D_{i}}W∈RDo​×Di​:
W←WDorWrDi,\mathbf{W} \leftarrow \mathbf{W}_{D_{o} r} \mathbf{W}_{r D_{i}}, W←WDo​r​WrDi​​,
其中rrr是一个小于DiD_{i}Di​和DoD_{o}Do​的数。

金字塔。金字塔网络中的下采样过程可视为空间低秩:W(∈RNC×NC)→W′(∈RN′C×N′C)\mathbf{W}\left(\in \mathbb{R}^{N C \times N C}\right) \rightarrow \mathbf{W}^{\prime}\left(\in \mathbb{R}^{N^{\prime} C \times N^{\prime} C}\right)W(∈RNC×NC)→W′(∈RN′C×N′C),其中在分辨率降低的情况下N′N^{\prime}N′等于N4\frac{N}{4}4N​乘以12\frac{1}{2}21​。如果输入和输出通道的数量不同,则变为W(∈RNC′×NC)→W′(∈RN′C′×N′C)\mathbf{W}\left(\in \mathbb{R}^{N C^{\prime} \times N C}\right) \rightarrow \mathbf{W}^{\prime}\left(\in \mathbb{R}^{N^{\prime} C^{\prime} \times N^{\prime} C}\right)W(∈RNC′×NC)→W′(∈RN′C′×N′C)。

多尺度并行卷积。 HRNet中使用的多尺度并行卷积也可以看作是空间低秩。考虑四个尺度的情况,多尺度并行卷积可以形成如下:
W→[W1∈RNC1W2∈RNC2W3∈RNC3W4∈RNC4]→[W1′∈RNC1W2′∈RN4C2W3′∈RN16C3W4′∈RN64C4],\mathbf{W} \rightarrow\left[\begin{array}{l} \mathbf{W}_{1} \in \mathbb{R}^{N C_{1}} \\ \mathbf{W}_{2} \in \mathbb{R}^{N C_{2}} \\ \mathbf{W}_{3} \in \mathbb{R}^{N C_{3}} \\ \mathbf{W}_{4} \in \mathbb{R}^{N C_{4}} \end{array}\right] \rightarrow\left[\begin{array}{c} \mathbf{W}_{1}^{\prime} \in \mathbb{R}^{N C_{1}} \\ \mathbf{W}_{2}^{\prime} \in \mathbb{R}^{\frac{N}{4} C_{2}} \\ \mathbf{W}_{3}^{\prime} \in \mathbb{R}^{\frac{N}{16} C_{3}} \\ \mathbf{W}_{4}^{\prime} \in \mathbb{R}^{\frac{N}{64} C_{4}} \end{array}\right], W→⎣⎢⎢⎡​W1​∈RNC1​W2​∈RNC2​W3​∈RNC3​W4​∈RNC4​​⎦⎥⎥⎤​→⎣⎢⎢⎡​W1′​∈RNC1​W2′​∈R4N​C2​W3′​∈R16N​C3​W4′​∈R64N​C4​​⎦⎥⎥⎤​,
其中C1,C2,C3C_{1}, C_{2}, C_{3}C1​,C2​,C3​和C4C_{4}C4​是四种分辨率的通道数。

C LOCAL ATTENTION VS CONVOLUTION: DYNAMIC WEIGHTS


以窗口大小为2K+12 K+12K+1的一维情况为例来说明动态权重预测方式。令{xi−K,…,xi,…,xi+k}\left\{\mathbf{x}_{i-K}, \ldots, \mathbf{x}_{i}, \ldots, \mathbf{x}_{i+k}\right\}{xi−K​,…,xi​,…,xi+k​}对应于第iii个窗口中的(2K+1)(2 K+1)(2K+1)个位置,{wi−K,…,wi,…,wi+K}\left\{w_{i-K}, \ldots, w_{i}, \ldots, w_{i+K}\right\}{wi−K​,…,wi​,…,wi+K​}是更新第iii个(中心)位置表示的相应动态权重。可以很容易地扩展到每个位置的多个权重,例如 M-head attention 和更新其他位置的表示。

非均匀动态卷积。仅使用单个线性投影的情况来说明非均匀动态卷积。将讨论的属性对于更线性的投影是相似的。动态权重预测如下:
[wi−K⋮wi⋮wi+K]=Θxi=[θ−K⊤⋮θ0⊤⋮θK⊤]xi\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\Theta \mathbf{x}_{i}=\left[\begin{array}{c} \theta_{-K}^{\top} \\ \vdots \\ \theta_{0}^{\top} \\ \vdots \\ \theta_{K}^{\top} \end{array}\right] \mathbf{x}_{i} ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=Θxi​=⎣⎢⎢⎢⎢⎢⎢⎡​θ−K⊤​⋮θ0⊤​⋮θK⊤​​⎦⎥⎥⎥⎥⎥⎥⎤​xi​

可以看出,动态卷积通过不同位置的不同参数来学习每个位置的权重,例如θk\theta_{k}θk​对应wi+kw_{i+k}wi+k​。它将窗口中的位置视为向量形式,保持空间顺序信息。

点积注意力。单头情况下的点积注意力机制预测权重如下:
[wi−K⋮wi⋮wi+K]=[(xi−K)⊤⋮(xi)⊤⋮(xi+K)⊤]Pk⊤Pqxi\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\left[\begin{array}{c} \left(\mathbf{x}_{i-K}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i+K}\right)^{\top} \end{array}\right] \mathbf{P}_{k}^{\top} \mathbf{P}_{q} \mathbf{x}_{i} ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​(xi−K​)⊤⋮(xi​)⊤⋮(xi+K​)⊤​⎦⎥⎥⎥⎥⎥⎥⎥⎤​Pk⊤​Pq​xi​
点积注意力对所有位置使用相同的参数Pk⊤Pq\mathbf{P}_{k}^{\top} \mathbf{P}_{q}Pk⊤​Pq​。权重取决于同一位置的特征,例如,wi−kw_{i-k}wi−k​对应于xi−k\mathbf{x}_{i-k}xi−k​。它在某种意义上将窗口中的位置视为一种集合形式,丢失了空间顺序信息。

重写如下:
Θd=[(xi−K)⊤⋮(xi)⊤⋮(xi+K)⊤]Pk⊤P\Theta_{d}=\left[\begin{array}{c} \left(\mathbf{x}_{i-K}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i+K}\right)^{\top} \end{array}\right] \mathbf{P}_{k}^{\top} \mathbf{P} Θd​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​(xi−K​)⊤⋮(xi​)⊤⋮(xi+K​)⊤​⎦⎥⎥⎥⎥⎥⎥⎥⎤​Pk⊤​P
从中可以看到参数Θd\Theta_{d}Θd​是动态预测的。换句话说,点积注意力可以看作是一个两级的动态方案。

相对位置嵌入等效于添加保留空间顺序信息的静态权重:
[wi−K⋮wi⋮wi+K]=Θdxi+[β−K⋮β0⋮βK](23)\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\Theta_{d} \mathbf{x}_{i}+\left[\begin{array}{c} \beta_{-K} \\ \vdots \\ \beta_{0} \\ \vdots \\ \beta_{K} \end{array}\right]\quad(23) ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=Θd​xi​+⎣⎢⎢⎢⎢⎢⎢⎡​β−K​⋮β0​⋮βK​​⎦⎥⎥⎥⎥⎥⎥⎤​(23)
一个简单的变体是静态Θ\ThetaΘ和动态Θd\Theta_{d}Θd​的组合:
[wi−K⋮wi⋮wi+K]=(Θd+Θ)\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\left(\Theta_{d}+\Theta\right) ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=(Θd​+Θ)

卷积注意力。引入了卷积注意力框架,使其享受动态卷积和点积注意力的好处:保持空间顺序信息和两级动态权重预测。

卷积后注意力机制左乘一个矩阵(内核大小为 3):
Θd=[a2a300⋯0a1a1a2a30⋯00⋮⋮⋮⋮⋱⋮⋮a3000⋯a1a2][(xi−K)⊤⋮(xi)⊤⋮(xi+K)⊤]Pk⊤Pq\Theta_{d}=\left[\begin{array}{ccccccc} a_{2} & a_{3} & 0 & 0 & \cdots & 0 & a_{1} \\ a_{1} & a_{2} & a_{3} & 0 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ a_{3} & 0 & 0 & 0 & \cdots & a_{1} & a_{2} \end{array}\right]\left[\begin{array}{c} \left(\mathbf{x}_{i-K}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i+K}\right)^{\top} \end{array}\right] \mathbf{P}_{k}^{\top} \mathbf{P}_{q} Θd​=⎣⎢⎢⎢⎡​a2​a1​⋮a3​​a3​a2​⋮0​0a3​⋮0​00⋮0​⋯⋯⋱⋯​00⋮a1​​a1​0⋮a2​​⎦⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎡​(xi−K​)⊤⋮(xi​)⊤⋮(xi+K​)⊤​⎦⎥⎥⎥⎥⎥⎥⎥⎤​Pk⊤​Pq​
这可以看作是相对位置嵌入的一种变体(公式 23)。在左矩阵是对角矩阵的简化情况下,它可以看作是相对位置嵌入的乘积版本(公式 23 是一个加法版本)。

可以执行卷积核大小为 3,跨通道共享核权重(不共享权重也可以),然后进行点积注意力。这称为预卷积注意:对表示进行卷积。这两个过程可以写成如下(省略卷积后面的BN和ReLU),
[wi−K⋮wi⋮wi+K]=[a1a2a3⋯0000a1a1⋯000⋮⋮⋮⋱⋮⋮⋮000⋯a2a30000⋯a1a2a3][(xi−K−1)⊤(xi−K)⊤⋮(xi)⊤⋮(xi+K)⊤(xi+K+1)⊤]Pk⊤Pq[xi−1xixi+1][a2a3]\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\left[\begin{array}{ccccccc} a_{1} & a_{2} & a_{3} & \cdots & 0 & 0 & 0 \\ 0 & a_{1} & a_{1} & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & a_{2} & a_{3} & 0 \\ 0 & 0 & 0 & \cdots & a_{1} & a_{2} & a_{3} \end{array}\right]\left[\begin{array}{c} \left(\mathbf{x}_{i-K-1}\right)^{\top} \\ \left(\mathbf{x}_{i-K}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i}\right)^{\top} \\ \vdots \\ \left(\mathbf{x}_{i+K}\right)^{\top} \\ \left(\mathbf{x}_{i+K+1}\right)^{\top} \end{array}\right] \mathbf{P}_{k}^{\top} \mathbf{P}_{q}\left[\mathbf{x}_{i-1} \quad \mathbf{x}_{i} \quad \mathbf{x}_{i+1}\right]\left[\begin{array}{c} a_{2} \\ a_{3} \end{array}\right] ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎡​a1​0⋮00​a2​a1​⋮00​a3​a1​⋮00​⋯⋯⋱⋯⋯​00⋮a2​a1​​00⋮a3​a2​​00⋮0a3​​⎦⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​(xi−K−1​)⊤(xi−K​)⊤⋮(xi​)⊤⋮(xi+K​)⊤(xi+K+1​)⊤​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​Pk⊤​Pq​[xi−1​xi​xi+1​][a2​a3​​]
它可以推广到使用普通卷积:
[wi−K⋮wi⋮wi+K]=C′[xi−K−1xi−K−1⋯xi−K−1xi−Kxi−K⋯xi−K⋮⋮⋱⋮xixi⋯xi⋮⋮⋱⋮xi+Kxi+K⋯xi+Kxi+K+1xi+K+1⋯xi+K+1]PqC3[xi−1xixi+1]\left[\begin{array}{c} w_{i-K} \\ \vdots \\ w_{i} \\ \vdots \\ w_{i+K} \end{array}\right]=\mathbf{C}^{\prime}\left[\begin{array}{cccc} \mathbf{x}_{i-K-1} & \mathbf{x}_{i-K-1} & \cdots & \mathbf{x}_{i-K-1} \\ \mathbf{x}_{i-K} & \mathbf{x}_{i-K} & \cdots & \mathbf{x}_{i-K} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}_{i} & \mathbf{x}_{i} & \cdots & \mathbf{x}_{i} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}_{i+K} & \mathbf{x}_{i+K} & \cdots & \mathbf{x}_{i+K} \\ \mathbf{x}_{i+K+1} & \mathbf{x}_{i+K+1} & \cdots & \mathbf{x}_{i+K+1} \end{array}\right] \mathbf{P}_{q} \mathbf{C}_{3}\left[\begin{array}{c} \mathbf{x}_{i-1} \\ \mathbf{x}_{i} \\ \mathbf{x}_{i+1} \end{array}\right] ⎣⎢⎢⎢⎢⎢⎢⎡​wi−K​⋮wi​⋮wi+K​​⎦⎥⎥⎥⎥⎥⎥⎤​=C′⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​xi−K−1​xi−K​⋮xi​⋮xi+K​xi+K+1​​xi−K−1​xi−K​⋮xi​⋮xi+K​xi+K+1​​⋯⋯⋱⋯⋱⋯⋯​xi−K−1​xi−K​⋮xi​⋮xi+K​xi+K+1​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​Pq​C3​⎣⎡​xi−1​xi​xi+1​​⎦⎤​
这里,C′\mathbf{C}^{\prime}C′是一个(2K+1)(2 K+1)(2K+1)行矩阵,可以很容易地从卷积核C3\mathbf{C}_{3}C3​推导出来。(2K+1)(2 K+1)(2K+1)个权重 {wi−1,wi,wi+1}\left\{w_{i-1}, w_{i}, w_{i+1}\right\}{wi−1​,wi​,wi+1​}分别对应于C\mathbf{C}C中的(2K+1)(2 K+1)(2K+1)行。这意味着这三个位置是有区别的,每个窗口中的相同位置对应于同一行。这解释了为什么在采用卷积时不需要位置嵌入。使用不同的对(Wq,Wk)\left(\mathbf{W}_{q}, \mathbf{W}_{k}\right)(Wq​,Wk​)会导致每个位置有更多的权重,例如,M 对对应于 M-head attention。

(ICLR-2022)关于局部注意力和动态深度卷积之间的联系(附录)相关推荐

  1. (ICLR-2022)关于局部注意力和动态深度卷积之间的联系

    关于局部注意力和动态深度卷积之间的联系 paper题目:ON THE CONNECTION BETWEEN LOCAL ATTENTION AND DYNAMIC DEPTH-WISE CONVOLU ...

  2. 【ICLR 2022】在注意力中重新思考Softmax,多个任务达到SOTA

    来源:机器之心 来自商汤.上海人工智能实验室等机构的研究者用线性 COSFORMER 来取代 transformer 中的 softmax 注意力机制,在多项任务上达到最优. Transformer ...

  3. 【深度好文】ICLR 2022 | cosFormer:重新思考注意力机制中的Softmax

    关注公众号,发现CV技术之美 导读:Transformer在自然语言处理.计算机视觉和音频处理方面取得了巨大成功.作为其核心组成部分之一,Softmax Attention模块能够捕捉长距离的依赖关系 ...

  4. ICLR 2022 | 在注意力中重新思考Softmax,商汤提出cosFormer实现多项SOTA

    ©作者 | 李文 单位 | 中南大学 研究方向 | 自然语言处理 最近读了一篇 ICLR 2022 的论文,对于 attention-softmax 的计算复杂度有了一定的了解,下面是对论文的翻译和笔 ...

  5. ICLR 2022 | Transformer不比CNN强!Local Attention和动态Depth-wise卷积

    ©作者 | Qer 单位 | 南开大学 研究方向 | 计算机视觉 Transformer 的文章近两年来可谓是井喷式爆发,大量工作来设计各种任务上的 transformer 模型,然而,attenti ...

  6. ICLR 2022 | 基于对抗自注意力机制的预训练语言模型

    ©作者 | 曾伟豪 单位 | 北京邮电大学 研究方向 | 对话摘要生成 论文名称: Adversarial Self-Attention For Language Understanding 论文来源 ...

  7. 【论文简述】Curvature-guided dynamic scale networks for Multi-view Stereo( ICLR 2022)

    一.论文简述 1. 第一作者:Khang Truong Giang 2. 发表年份:2022 3. 发表期刊:ICLR 4. 关键词:MVS.3D重建.曲率.动态尺度 5. 探索动机:虽然目前的方法显 ...

  8. ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 秦浩桐 量子位 转载 | 公众号 QbitAI 近年来,预训练 ...

  9. 特斯拉AI高管都推荐的张量工具,开源了三年后终于中顶会了! | ICLR 2022 Oral

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 那个在GitHub标星4.3k的张量操作工具Einops,在开源三年后终于中了顶会! 这是一个统一的.通用的操作张量结构的方法,基于爱因斯坦求和约 ...

最新文章

  1. 实现线程之间的参数传递
  2. android自定义数字键盘和字母键盘,Android自定义键盘的实现(数字键盘和字母键盘)...
  3. c语言编写一元二次方程
  4. android textview电话号码,Android应用开发之Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)...
  5. php日志接入rsyslog,php – Rsyslog重复日志(rsyslog.conf和rsyslog.d / something.conf)
  6. 常见路由器初始密码合集
  7. hspice标识符语法
  8. moments音标_moment是什么意思_moment的翻译_音标_读音_用法_例句_爱词霸在线词典...
  9. 洛谷p1330 封锁阳光大学-二分图染色
  10. 概率分布介绍:泊松分布
  11. 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 有序
  12. 有人晒出程序员聚餐照片,网友:根据头发量能看出技术水平高低!
  13. Toontrack EZDrummer for Mac - 鼓音乐制作工具
  14. [OpenCV] 练习题实现代码 使用 cv.addWeighted 函数在文件夹中创建图像的幻灯片放映,并在图像之间进行平滑过渡
  15. 矩阵键盘与数码管显示
  16. python是汇编语言吗-汇编语言最新资讯
  17. 世界上应用最广泛的算法之一的卡尔曼滤波算法原理-从放弃到精通-无人机/机器人应用
  18. Python 中的三元运算符,三目表达式
  19. 东师计算机应用基础18秋在线作业3,东师计算机应用基础18秋在线作业100分答案...
  20. UrlRewritingNet ASP.NET 2.0 中的URL重写(映射)

热门文章

  1. 从服装供应链看产业互联网的机会
  2. Serializer序列化的使用
  3. 度量计算机外部传输单位,用来度量计算机外部设备传输率的是什么
  4. Java GWT是什么?
  5. [魏亮]万兆以太网技术背景、简介和展望
  6. 我的世界java18w50a_我的世界Java版18w21a正式发布 海豚将不能穿上盔甲
  7. C语言输出长方柱的体积,求3个长方柱的体积和表面积
  8. 浅谈volatile
  9. java算软件工程_Java简单计算器的实现
  10. 计算机组成ldi指令码,郝王丽-----计算机组成原理教案.doc 16页(2)