点击上面的计算机视觉车间,选择星标
第一时间送达干货
作者丨ChaucerG
来源集智书童
Transformer
特别是作为计算机视觉中的卷积神经网络,已成为深度学习的主要结构之一 (CNN) 强大的替代品。然而,因为Self-Attention
长序列表示的二次复杂性,特别是高分辨率密集预测任务,以前的工作Transformer
训练和推理可能非常昂贵。为此,我们提出了一种新颖的视觉视觉Transformer
(LIT),基于Transformers
中早期的Self-Attention
在最近的分层视觉中,仍然专注于局部模式Transformers
带来较小的好处。具体来说,提出了一个分层
Transformer
,使用纯多层传感器(MLP)在早期阶段编码丰富的局部模式,同时应用Self-Attention
模块捕获更深层次的依赖关系。此外,还进一步提出了一种Learned Deformable Token Merging Module
,信息以不均匀的方式自适应地集成Patch
。所提出的
LIT
在图像识别任务(包括图像分类、对象检测和实例分割)中取得了可观的性能,可以作为许多视觉任务的强大支柱。开源地址:
1简介
Transformers
处理自然语言(NLP)最近在计算机视觉上(CV)该领域取得了长足的进步。CNN受金字塔设计的启发,最近的分层视觉转换器(HVT)将Transformer Block
分为多个阶段,随着网络的深入,特征图逐渐缩小。然而,早期的高分辨率特征图导致了很长时间token
序列,由于Self-Attention
二次复杂性带来了巨大的计算成本和内存消耗。例如,大小是56×56×96
的特征图在一个Multi-Head Self-Attention
(MSA)中需要2.0G FLOPs,而ResNet-18
整个模型只需1.8G FLOPs。如此巨大的计算成本将使Transformer
很难应用到广泛的计算机视觉任务中。
在HVT
在早期阶段,我们做了一些努力来降低计算成本。例如,一些工作减少了MSA
层中Self-Attention
Head数量或进一步减少Transformer Block
数量。另一行建议通过启发式近似来权衡MSA
例如,空间减少注意力的准确性和效率(SRA
)和基于Shift Window Multi-Head Self-Attention
(SW-MSA
)。当特征图的分辨率相当大时,也有研究使用卷积层。但早期应用Self-Attention
层对最终性能的贡献还不清楚。
本文提出了一个Less attention Vision Transformer
(LIT)来解决上述HVT
问题。具体来说,建议在早期阶段Stage使用MLP
层捕获局部信息,引入足够数量的信息Head来处理的MSA
后期的长期依赖关系。
作者的动机来自两个方面。首先,以前CNN
和Transformer
相关研究表明,模型模型将专注于局部信息,而深层模型倾向于捕获高级语义或全球关系,这在早期就产生了Stage是否有必要使用Self-Attention
问题。其次,从理论的角度来看,有足够的Head的Self-Attention
图像可以表达任何卷积层。
然而,MSA
层中较少的Head
理论上,它阻碍了接近kernel-size
卷积层的能力,包括极端情况和1×1卷积
具有相同表现力的标准,可视为独立应用于每个像素FC
层。尽管最近HVT
很少在早期阶段使用Head
提供金字塔表示,但作者认为这不是最好的,因为这种配置会引入高计算和内存成本,但收入很小。
需要强调的是,在早期阶段Stage利用MLP Block
可以避免Self-Attention
在高分辨率特征图上产生的巨大计算成本和内存占用。此外,在后期Stage应用Self-Attention
捕捉远程依赖关系。综合实验结果表明,模型性能和效率之间的最佳平衡可以通过如此简单的架构设计来实现。
另外,最近的HVT
要么使用标准卷积层,要么使用线性投影层合并相邻的Token
,它旨在控制特征图的规模。然而,考虑到并非每个像素对输出单元都有相同的贡献,这种方法阻碍了它Vision Transformer
表达几何变换建模的能力。
为此,作者提出了一个受影响Deformable Convolutions
启发的Deformable Token Merging
(DTM
) 模块,在模块中,学习了一个偏移网格来自特征图中子窗口的相邻位置,以适应地增加空间采样位置Patch
。这样可以获得更多的下采样信息Token
用于后续处理。
主要贡献:
一是早期确定
MSA
层在最近的HVT
中小贡献,早期Stage提出一个简单的HVT
结构,包括纯MLP Block
;其次,提出了一个
Deformable Token Merging
模块自适应地合并更多信息Patch
提供分层表示,增强建模能力;最后,进行了广泛的实验来表明所提出的
LIT
计算复杂性和内存消耗的有效性。
2本文方法
2.1 整体架构
LIT
如图1所示。设置为输入的RGB图像,H和W分别表示高度和宽度。首先将I拆分为不重叠Patch
,Patch
大小为4×4,因此每个Patch
初始特征维度为4×4×3=48。
接下来,使用线性嵌入层将每个层Patch
投影到维度,作为以下过程的初始输入。整个模型分为四个Stage。让s∈[1,2,3,4] 作为Stage每一个索引Stage使用个Block,其中前2个Stage仅使用MLP Block
编码局部信息,后两个Stage使用标准Transformer Block
编码处理更长的依赖关系。
在每个Stage,将输入特征图缩放为,分别表示第sStage块的大小和隐藏维度。对于最后两个Stage,在每个Transformer Block
中设置个Self-Attention
heads。
2.2 LIT中的Block设计
如图1所示,LIT
采用两种模块:MLP
模块和Transformer
早期模块Stage应用MLP Block
。具体来说,MLP Block
建立在MLP
之上,该MLP
由2个FC
层组成,中间有GELU
。每一个s阶段MLP
,使用的扩展比。
具体来说,第一个FC
层将token
从扩展到另一个维度FC
层将维度缩减回来。形式上,s阶段的输入,l为块的索引,MLP Block
可以说:
其中LN
表示层归一化。在最后阶段,ViT
中描述的Transformer Block
包含一个MSA
层和一个MLP
,可以说:
该架构有两个主要优点:
首先,避免了在早期Stage由长序列引的巨大计算成本和内存占用;
其次,与最近使用子窗口缩小注意力图或减少注意力图的工作不同在key和value矩阵的空间维度上,在最后2个Stage保留标准
MSA
层,以保持LIT处理远程依赖关系的能力。
备注
在这里通过考虑卷积层
、FC层
和MSA层
之间的关系来证明在前期Stage应用纯MLP Block
的合理性。
这里建议参考一下字节跳动近期新出的TRT-ViT,有对应的结论给出,同时给出了非常详细的模型设计准则,对应推文的链接如下:
首先,从回顾标准卷积层开始。令为输入特征图,令为卷积权重,其中K为Kernel-size
,和分别为输入和输出通道维度。为简单起见,省略了偏置项,并用表示,其中(i,j)表示像素索引,。给定K×K
个采样位置的卷积核,像素p的输出可以表示为:
其中是采样索引到预先指定的偏移量ΔK的双射映射。
例如,令ΔK={(−1,−1),(−1,0),...,(0,1),(1,1)}为3×3的kernel,膨胀率为1,则g(0)=(-1,-1)表示第1个采样偏移量。当K=1时,权重张量W等价于一个矩阵,使得$。在这种情况下,Eq(4)可以表示FC层,像素p的输出定义为:
最后,让是MSA
层中的Head数,$是第h个Head的可学习参数。在特定的相对位置编码方案下,Cordonnier等人证明了像素p处的MSA层
的输出可以表示为:
其中是Head到像素位移的双射映射。在这种情况下,Eq(6)可以看作是Kernel-size
为 的卷积层近似。
从Eqs(4)-(6)观察到,虽然具有足够数量的Head的MSA
层能够逼近任何卷积层,但理论上更少的Head限制了这种逼近的能力。作为极端情况,具有一个Head的MSA
层是只能逼近FC
层。
请注意,MSA
层在实践中肯定不等同于卷积层。然而,d'Ascoli 等人观察到,早期的MSA
层可以在训练时学会卷积的类似表征。考虑最近的HVT
在早期Stage采用很少的Head,这种卷积行为可能会限制在小的感受野内。
在图3中,在可视化中显示PVT-S
中的早期MSA
层确实只关注query像素周围的一小块区域,而删除它们会导致性能轻微下降,但会显着降低模型复杂性。这证明了在前2个stage应用纯MLP Block
是合理的。
2.3 Deformable Token Merging
以前关于 HVT
的工作依赖于Patch Merge
来实现金字塔特征表示。然而,从规则网格合并Patch
,并忽略了并非每个Patch
对输出单元的贡献相同的事实。受可变形卷积的启发,提出了一个Deformable Token Merging
模块来学习偏移网格,以自适应地采样更多信息块。形式上,可变形卷积被表述为:
与Eq(4)中的标准卷积运算相比,DC为每个预先指定的偏移量g(k)学习一个偏移量Δg(k)。学习Δg(k) 需要一个单独的卷积层,它也应用于输入特征图X。为了以自适应方式合并Patch
,在DTM模块中采用一个DC层,可以表示为:
其中 BN
表示批量归一化,并使用了 GELU
。
在消融研究中,当物体的尺度和形状发生变化时,DTM
中的采样位置会进行自适应调整,从而受益于学习到的偏移量。另请注意,与Baseline
中的常规网格采样相比,轻量级DTM
引入了可忽略的FLOP和参数,因此使其成为最近HVT
的即插即用模块。
3实验
3.1 消融实验
1、Effect of the architecture design
结果如表 2 所示。总的来说,LIT
在使用更少的 FLOP(3.6G 与 3.8G)的同时,将PVT-S
的Top-1精度提高了0.6%。对于Swin-Ti
将 FLOPs 减少了0.4G,同时实现了同等性能。
还值得注意的是,PVT-S
和 Swin-Ti
的参数总数都减少了。整体性能证明了所提出架构的有效性,这也强调了早期MSA
在PVT
和Swin
中的微小优势。
2、Effect of deformable token merging
结果如表 3 所示。对于这2个模型,DTM 引入了可忽略的 FLOP 和参数,同时在 Top-1 精度方面分别将 PVT-S 和 Swin-Ti 提高了 0.7% 和 0.3%。
此外,在图 2 中可视化了学习到的偏移量。如图所示,与之前的统一Patch Merge
策略不同,之前的统一Patch Merge
策略将采样位置限制在绿色矩形内,DTM 根据对象的比例和形状(例如,考拉腿、猫尾巴)。这再次强调了LIT
适应各种几何变换的能力。
3、Effect of MSA in each stage
结果如表4所示。首先,在用标准MSA
层替换PVT-S
中的SRA
层后,观察到 Top-1 准确度提高了1.1%,而FLOPs几乎翻了一番。这表明PVT
在性能和效率之间进行了权衡。
接下来,通过在前2个阶段逐步去除MSA
层,Top-1准确率仅分别下降了0.1%、0.5%。这意味着 PVT 早期阶段的self-attention
层对最终性能的贡献低于预期,并且它们的性能并不比纯MLP
层好多少。这可以归因于浅层更多地关注编码局部信息的事实。
然而,可以观察到在最后2个阶段移除self-attention
时性能大幅下降。结果表明,self-attention
层在后期发挥着重要作用,捕获长距离依赖对于表现良好的分层视觉Transformer
至关重要。
为了更好地理解这一现象,在不移除任何MSA
层的情况下可视化PVT-S
的注意力概率,如图3所示。首先,第1阶段的注意力图显示query
像素几乎不注意其他位置。
在第2阶段,query
像素的感受野略有扩大,但与第1阶段相似。考虑到PVT-S
在第1阶段只有1个head,在第2阶段只有2个head
,这有力地支持了作者的假设:MSA
层中过少的head
会导致较小的感受野,此时self-attention
几乎等同于FC层。
此外,从最后2个阶段的注意力图中观察到相对较大的感受野。由于大的感受野通常有助于对更长的依赖关系进行建模,这解释了在最后2个阶段移除MSA
层后表4中的巨大性能下降。
3.2 分类
3.3 目标检测
3.4 实例分割
3.5 语义分割
4参考
[1].Less is More: Pay Less Attention in Vision Transformers
本文仅做学术分享,如有侵权,请联系删文。
后台回复:
后台回复:
后台回复:
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题