Local Attention和动态深度卷积间的关系

摘要

Local Vision Transformer 是分别在一个个小的局部窗口中进行注意力计算。
作者将局部注意力重新定义为通道级的局部连接层(channel-wise locally-connected layer),并4个方面进行分析:两种网络的正则化方式,稀疏连接和权值共享,以及动态权值计算。
作者指出,局部注意力类似于稀疏连接中的深度卷积及其动态变体:通道之间没有连接,每个位置都连接到一个小局部窗口内的位置。主要区别在:
(i)权重共享——深度卷积在空间位置上共享连接权重,注意力在通道上共享连接权重;
(ii)动态权重计算方式——局部注意力基于局部窗口中成对位置之间的点积,动态卷积是基于中心表示或全局池化表示上进行的线性投影。
在局部Attention和动态深度级卷积间的联系是通过实验验证得到的。

引言

一些Local Vision Transformer的工作,将图像空间分为一系列小窗口,并在窗口内进行注意力计算。局部注意力在内存占用和计算效率上都有很大的改善,使扩展到目标检测和语义分割这样的下游任务更容易且更有效率。
从网络正则化方案入手研究局部注意力的机制
1,稀疏连接控制模型复杂度;
2,权重共享放松对训练数据规模的需求并减少模型参数
3,动态权重预测增加了model capability
作者将local attention重新解释为→有动态连接权重的通道级空间局部连接层(channel-wise spatially-locally connected layer with dynamic connection weights)
局部注意力主要有以下几点特性:
(1)稀疏连接:在通道间没有联系;每一个输出仅关联一个局部窗口内的输入;
(2)权重共享:连接权重是跨通道共享或者再一组通道间共享(一个head_dim内);
(3)动态权重:连接权重是根据每一个图像实例动态预测的。
深度级卷积和局部注意力联系
深度级卷积也是一个通道级空间局部连接层,并且可以有动态连接权重。
相似处:稀疏连接;
不同处:
(1)权重共享:深度级卷积在空间上共享连接权重;注意力在通道间共享连接权重‘
(2)动态权重的计算方式:局部注意力计算局部窗口内的成对位置的点积(dot-products);动态卷积是基于中心表征或全局池化表征的线性映射。
实验方式
基于Swin Transformer;将Swin Transformer中的局部注意力,替换为depth-wise卷积,形成DWNet。
结果
动态深度级卷积 DWNet在ImageNet和两个下游任务上实现了可比较的甚至更高的性能;并且DWNet计算复杂度更低。
消融研究表明权重共享和动态权重提升了模型容量。
1)对Swin Transformer来说,跨通道的权重共享主要有利于减少注意力权重的参数复杂度;基于注意力的动态权重有利于学习特定实例权重和块平移不变的表征;
2)对深度级卷积来说,跨位置的权重共享有利于减少参数复杂度和学习平移不变表征;基于线性映射的动态权重学习特定实例权重。

详细阐述局部注意力和深度级卷积

稀疏连接是指在一层中,一些输出神经元(变量)和一些输入神经元之间没有连接。它降低了模型的复杂性,但没有减少神经元的数量,例如,(隐藏的)表示的大小。

权重共享表示某些连接的权重是相等的。它降低了模型参数的数量,增加了网络规模,而不需要相应增加训练数据。

动态权重指的是为每个实例学习专门的连接权重。它通常旨在增加模型容量。如果将学习到的连接权值作为隐变量,则动态权值可以看作是引入了提高网络能力的二阶操作。
不同运算的连接示意图

局部注意力

将一个局部窗口 N k N_k Nk内的特征表示记为 x i j x_ij xij;基于注意力 a i j a_ij aij或者多头注意力 { a i j 1 , a i j 2 , . . . , a i j M } \{a_ij1, a_ij2, ..., a_ijM\} {aij1,aij2,...,aijM}计算得到的权重矢量为 w i j ∈ R D w_{ij}\in \mathbb{R}^D wijRD;
局部注意力的特征聚合过程可以表示为一个元素级乘法:
y i = ∑ j = 1 N k w i j ⊙ x i j y_i=\sum_{j=1}^{N_k}w_{ij}\odot x_{ij} yi=j=1Nkwijxij
结合图1(c)理解局部注意力属性:
稀疏注意力:
每一个输出位置仅与窗口 N k N_k Nk内的输入位置相连;
没有通道间的连接;也就是说,每一个输出元素 y i d y_{id} yid(第i个位置第d个通道);对应相同通道的输入窗口位置内的元素 { x i 1 d , x i 2 d , . . . , x i N k d } \{x_{i1d}, x_{i2d},...,x_{iN_{k}d}\} {xi1d,xi2d,...,xiNkd},与其他通道无关。
权重共享:
对应通道内的权重是共享的。
在单头的注意力中,D个通道间的权重是共享的;权重矢量 w i j = { w i j 1 , w i j 2 . . . . , w i j D } \mathcal{w}_{ij}=\{w_{ij1}, w_{ij2}....,w_{ijD}\} wij={wij1,wij2....,wijD}是一样的。
在多头注意力中,权重矢量 w i j \mathcal{w}_{ij} wij是group-wise相同的。即在每个head的子空间权重矢量一致。
动态权重:
权重是根据query x i \mathcal{x}_i xi和对应小窗口中的keys x i 1 , . . . x i N k \mathcal{x}_{i1},...\mathcal{x}_{iN_k} xi1,...xiNk动态预测的。
每个权重可以在一个head中获得跨所有通道的信息,并作为桥梁将跨通道信息传递到每个输出通道。
平移不变:
卷积是通过位置间的权重共享实现平移不变性;
局部注意力的平移不变性取决于keys和values是否改变,即注意力权重发生变化使,特征图会发生平移。在稀疏采样窗口的情况下,局部注意力是按块平移不变的,即平移的是一个或多个块,其块大小与窗口大小 K w × K h K_w\times K_h Kw×Kh相同,其他的不相同。
在窗口稠密采样的情况下,局部注意力可以理解为平移不变。
Set representation:
一个query的keys/values是作为一个集合收集的,空间顺序信息丢失。这导致了窗口之间的键/值之间的空间对应关系没有被利用。
通过位置编码或相对位置面包,能够保留局部窗口中的空间位置信息。

深度级卷积

深度卷积是每个卷积滤波器针对一个通道进行运算。
X d ˉ = C d ⊗ X d \bar{X_d}=C_d\otimes X_d Xdˉ=CdXd
X d X_d Xd X d ˉ \bar{X_d} Xdˉ分别是第 d d d个输入和输出通道图;
C d C_d Cd是对应卷积核; ⊗ \otimes 代表卷积运算。
这也可以表示为在一个局部邻域内对应空间位置相乘的元素级运算。
y i = ∑ j = 1 N k w o f f s e t ( i , j ) ⊙ x i j y_i=\sum_{j=1}^{N_k}w_{offset(i,j)}\odot x_{ij} yi=j=1Nkwoffset(i,j)xij

相似处:
深度卷积类似于稀疏连通性中的局部注意。没有跨频道的连接。每个位置仅连接到每个通道的小本地窗口中的位置。
不同处:
1,权重共享:深度卷积在空间位置上共享连接权重,而局部注意力在通道之间或每组通道内共享权重。局部注意力使用适当的跨通道权重共享来获得更好的性能。深度卷积得益于各个位置的权值共享,从而降低了参数复杂度,提高了网络能力。
2,动态连接:深度卷积的连接权重是静态的,并作为模型参数进行学习;局部注意力的连接权重是动态的,根据每一个实例进行预测。深度卷积的动态变体也受益于动态权重。
3,窗口表征:局部注意力利用集合的形式表征窗口中的位置,损失了空间位置信息;需要额外添加位置信息。深度卷积利用矢量形式,使用带有相对位置指示的权重聚合局部窗口中的表征,能够显式利用空间信息。

实验设置

基于Swin Transformer构建深度级卷积网络。
训练和评估方式和Swin Transformer一样。

实验分析

(感觉论文里的实验分析不够深入啊…)
在视觉识别中,局部和通道分离的连接是更有益的。

权重共享

权重共享的通道数目对性能有什么影响?
恰当的通道间权重共享是有好处的
对于Local Attention,权重共享的通道数目和每一个阶段注意力头部的数目有关。
对局部MLP来说,在每个窗口中学习权重并作为模型参数,不跨窗口共享。

对local attention, 太多的通道数和太少的通道数都不会取得最佳性能。
local MLP中,权重共享能很好地减少模型参数,但空间块的权重共享没有明显影响。
对深度卷积,通道间共享权重影响不大,但在位置间的权重共享明显提升了性能。

局部MLP和DWNet的窗口采样方案不同,局部MLP采用Swin Transformer中的方式对窗口进行稀疏采样,以降低较高的内存成本,而DWNet对窗口进行密集采样。在局部MLP中,跨位置权值共享不足以学习平移等效表示,这解释了为什么跨通道和位置权值共享的局部MLP的性能低于跨通道权值共享的深度卷积

动态权重

深度卷积的动态权重更好。
基于线性投影的动态权重方案(窗口的向量表示)比基于注意力的方案(窗口的集合表示)学习更好的权重。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值