文章目录
- 一、近几年神经网络 Backbone 回顾
- 1.Densenet 与 Resnet
- 2.CBP
- 3.SENet
- 4.GCNet
- 5.DANet
- 6.PANet 与 FPN
- 7.ASPP
- 8.SPP-net
- 9.PSP-net
- 10.ECA-Net
- 二、TransNeXt(2023)
- 1.提出问题
- 2.Aggregated Pixel-focused Attention
- 2.1 Pixel-focused Attention(像素聚焦注意力机制)
- 2.2 Aggregating Diverse Attentions in a Single Mixer Query embedding
- 2.3 Overcoming Multi-scale Image Input
- 2.4 Feature Analysis
- 3.Convolutional GLU(做信息交换)
- 3.1 Motivation
- 3.2 全新的Channel Mixer设计
- 4.TransNeXt Architecture
- 4.实验
- 5.总结
一、近几年神经网络 Backbone 回顾
1.Densenet 与 Resnet
论文:Densely Connected Convolutional Networks (密集连接的卷积网络)
论文:Deep Residual Learning for Image Recognition (用于图像识别的深度残差学习)
「方法简介」DenseNet是一种连接方式不同的卷积网络。在DenseNet中,每一层都直接连接到其他所有层,这使得信息传递更加直接和高效。相比之下,传统的卷积网络只有相邻层之间有连接。DenseNet有几个优点:它可以缓解梯度消失问题,增强特征传播,鼓励特征重用,并且需要的参数更少。在四个不同的基准任务上,DenseNet的表现都超过了现有的技术,同时它需要更少的计算资源。
「方法简介」Resnet 即:深度残差学习框架,它使得训练深度神经网络更加容易。通过将层学习为相对于输入的残差函数,而不是无参考函数,该框架使得深度网络更易于优化,并且能够从增加的深度中获得更高的准确率。在ImageNet数据集上,这种深度残差网络的表现非常好,并且比以前的网络更深。此外,这种网络还在其他竞赛任务中获得了第一名。
2.CBP
论文:Compact Bilinear Pooling (紧凑型双线性池化)
「方法简介:」双线性模型在很多视觉任务上效果很好,但特征维度高不实用。论文提出了两种低维的双线性表示,和原来的一样有效,但只有几千维度,更适合后续分析。这种表示能让误差反向传播,优化整个视觉识别系统。作者通过创新的方法分析双线性池化得到这种表示,它为研究其他紧凑池化方法提供了新思路。实验证明,这种表示对图像分类和小样本学习有效。
3.SENet
论文:Squeeze-and-Excitation Networks (挤压和激励网络)
「方法简介」挤压和激励网络是卷积神经网络的一个关键部分,它通过挤压和激励来调整网络中的信息流。挤压操作提取网络中的空间信息,激励操作则根据这些信息调整网络中的通道权重。这种网络结构能够有效地提高网络的表现,尤其是在处理图像分类等任务时。挤压和激励网络可以与现有的最先进的CNN结合使用,以实现更高的性能提升。
4.GCNet
论文:Global Context Network (全局上下文网络)
「方法简介」Non-Local Network 是一种能捕捉图像中长距离依赖性的方法,但它的全局上下文对不同查询位置都是相同的。因此,作者创建了一个更简单的网络,它基于查询无关的公式,保持了 Non-Local Network 的准确性,但计算量更少。另外,作者还改进了 Non-Local 块的变换函数,用两层瓶颈替换了原本的一层,进一步减少了参数数量。由此产生的全局 上下文 (GC) 块能以轻量级方式有效地模拟全局上下文,并可应用于主干网络的多个层次以形成全局 上下文 网络 (GCNet)。
5.DANet
论文:Dual Attention Network for Scene Segmentation
用于场景分割的双注意力网络
「方法简介:」论文提出了一种叫做双注意力网络(DANet)的新网络,用于解决场景分割任务。DANet通过两种注意力模块,一是位置注意力模块,二是通道注意力模块,来捕获丰富的上下文依赖关系。这两种模块分别关注空间维度和通道维度上的依赖关系。DANet能自适应地融合局部特征和全局依赖关系,从而提升特征表示能力,得到更精确的分割结果。
6.PANet 与 FPN
论文1:Path Aggregation Network for Instance Segmentation (用于实例分割的路径聚合网络)
论文2:Feature Pyramid Networks for Object Detection (用于目标检测的特征金字塔网络)
「方法简介」PANet网络,用于改进基于提议的实例分割框架的信息流。PANet通过自下而上的路径增强来增强整个特征层次,以在较低层中获得精确的定位信号,从而缩短了信息路径。它还提出了自适应特征池化,将特征网格和所有特征级别与提议子网络进行连接,使每个特征级别的有用信息能够直接传播到后续的提议子网络。此外,还创建了一个捕捉每个提议不同视图的互补分支,以进一步改善掩膜预测。这些改进易于实现,且几乎没有额外的计算开销。
FPN 是检测不同尺度物体的识别系统中的基本组成部分。但最近的深度学习目标检测器已经避免了金字塔表示,部分原因是它们计算和内存密集。本文利用深度卷积神经网络固有的多尺度、金字塔层次结构,以边际额外成本构建特征金字塔。从上到下的架构与侧向连接相结合,可在所有尺度上构建高级语义特征图。这种架构称为特征金字塔网络(FPN),作为通用特征提取器在几个应用中表现出显著改进。
7.ASPP
论文:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
使用深度卷积网络、稀疏卷积和全连接CRF进行语义图像分割
「方法简介:」论文提出了DeepLab系统,用于解决语义图像分割任务。主要贡献有三点:首先,强调了稀疏卷积(Atrous Convolution)在密集预测任务中的重要性,它允许控制特征响应的计算分辨率,并有效扩大滤波器视野;其次,提出了稀疏空间金字塔池化(ASPP),以多尺度稳健分割对象;最后,结合DCNNs和概率图模型的方法,提高对象边界的定位精度。
8.SPP-net
论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
用于视觉识别的深度卷积网络中的空间金字塔池化
「方法简介:」现有的深度卷积神经网络(CNN)需要固定大小(例如224x224)的输入图像,论文为网络配备了另一种池化策略——“空间金字塔池化”,以消除上述要求。这种新的网络结构称为SPP-net,可以生成固定长度的表示,而无需考虑图像的大小/比例。金字塔池化对物体形变具有鲁棒性。由于这些优点,SPP-net总体上应改进所有基于CNN的图像分类方法。
9.PSP-net
论文:Pyramid Scene Parsing Network
⽤于语义分割的⾦字塔场景识别⽹络
「方法简介:」场景识别是一项具有挑战性的任务,因为它需要处理各种不同的场景和词汇。本文提出了一种新的方法,通过使用不同区域基于上下文的聚合和金字塔池化模块,以及提出的金字塔场景识别网络(PSPNet),来提高场景识别的性能。这种方法能够有效地利用全局上下文信息,并产生高质量的识别结果。PSPNet提供了一个优越的框架,用于像素级别的预测任务。
10.ECA-Net
论文:ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks
深度卷积神经网络的高效通道注意力
「方法简介」论文介绍了Efficient Channel Attention (ECA)模块,这个模块能够提升深度卷积神经网络(CNN)的性能,同时保持较低的模型复杂度。它通过避免维度降低和采用局部通道交互策略来实现这一点。与ResNet50相比,ECA模块的参数和计算量更少,但性能提升超过2%。实验结果表明,ECA模块在图像分类、目标检测和实例分割等任务中表现出了更高的效率和良好的性能。
二、TransNeXt(2023)
论文:TransNeXt: Robust Foveal Visual Perception for Vision Transformers
代码:https://github.com/DaiShiResearch/TransNeXt
1.提出问题
近年来,Vision Transformer(ViT)已成为各种计算机视觉任务的热门Backbone架构。ViT模型由两个关Key组件组成:自注意力层(Token混合器) 和 MLP层(通道混合器)。自注意力机制,通过计算Query和Key之间的相似性动态生成亲和矩阵,用于全局信息聚合方法,无需卷积的强归纳偏差,有着出色的特征提取潜力。然而,ViT 的编码设计,最初是为了语言建模,全局亲和矩阵的计算由于其平方复杂度和高内存消耗而面临挑战,这限制了其在高分辨率图像特征上的应用。
为了减轻 self-Attn 中固有的平方复杂度和内存消耗带来的计算和内存负担,稀疏注意力机制被提出。典型方法是局部注意力,限制了注意力在特征图上的一个窗口内。然而,由于其有限的感受野,这种方法通常需要交替堆叠与不同类型的Token混合器以实现跨窗口信息交换。另一种典型的方法是空间下采样注意力中的Key和Value(例如,池化,网格采样)。由于它牺牲了Query对特征图的细粒度感知,这种方法也存在一定的局限性。最近的研究 交替堆叠空间下采样注意力和局部注意力,取得了令人满意的表现结果。
然而,最近的研究和实验表明,具有残差块的深度网络,类似于较浅的集成网络,表明堆叠块实现的跨层信息交换可能不如预期的那样有效。另一方面,局部注意力和空间下采样注意力与生物视觉的工作方式有显著不同。生物视觉 对视觉焦点附近特征的分辨率更高,而对远处特征的分辨率较低。此外,眼球移动时,生物视觉这种特性在图像中任何位置的像素上都保持一致,这意味着像素级的平移等价性。然而,在基于窗口分区的局部注意中,窗口边缘和中心的Token不被视为等价,这明显存在差异。
由于残差连接中的 深度衰减效应,许多 ViT 模型在堆叠层时无法形成足够的信息混合。即使堆叠了很深的层,它们的窗口分区的痕迹也总是形成不自然的伪影,如图2所示。为此,作者 模拟生物视觉中人类视杆细胞视觉的信息感知,首先引入了像素聚焦注意力: 它采用双路径设计。在一条路径中,每个Query具有对其最近邻居特征的细粒度注意力,而在另一条路径中,每个Query具有对空间下采样特征的粗粒度注意力,允许进行全局感知。这种方法是基于每个像素的,有效地模拟了眼球的连续移动。
此外,作者将Query嵌入和位置注意力机制引入到像素聚焦注意力中,从而提出了聚合像素聚焦注意力,作者简称为 聚合注意力。这种方法进一步多样化地生成了亲和矩阵,而不仅仅是依赖Query和Key之间的相似性,从而在单个注意力层内聚合多个注意力机制。作者还重新评估了VIT
中的通道混合器设计要求,并提出了名为卷积GLU的新型通道混合器。这种混合器更适合图像任务,并集成基于局部特征的通道注意力来增强模型的鲁棒性。
作者提出 TransNeXt,这是一种分层视觉Backbone网络,其中包含聚合注意力作为Token混合器和卷积GLU作为通道混合器。通过在图像分类、目标检测和分割任务上的全面评估,作者证明了这些混合组件的有效性。TransNeXt-Tiny, 仅在lmageNet-1K上预训练,在lmageNet上的准确率达到 84.0%,超过了ConvNeXt-B。在COCO目标检测中,它使用DINO检测头,在分辨率为 384时,实现了55.1的框 mAP 比在384分辨率下预训练的ConvNeXt-L提高了1.7。作者的TransNeXtSmall/Base,仅在 384分辨率下进行 5 个epoch的微调,在lmageNet上的准确率达到了86.0,比在30 个 epoch 下微调的 previous state-of-the-art MaxViT-Base 提高了0.3%/0.5%。下图是一些指标:
2.Aggregated Pixel-focused Attention
2.1 Pixel-focused Attention(像素聚焦注意力机制)
受 生物视觉系统 的工作原理的启发, Pixel-focused Attention 在每个Query附近具有细粒度的感知,同时同时保持全局信息的粗粒度意识。为了实现眼球运动中固有的像素级平移等价性,作者采用了一种双路径设计,包括 以Query为中心的滑动窗口注意力和池化注意力。
为了在两个注意力路径之间诱导耦合,作者对两个路径的QueryKey相似度结果使用相同的softmax进行计算。这导致了细粒度和粗粒度特征之间的竞争,将像素聚焦注意力转化为多尺度注意力机制。
定义输入特征图上以 (i, j) 为中心的滑动窗口中的像素集合为 ρ(i, j) 。对于固定的窗口大小 k×k , ||ρ(i, j)|| = k2 。同时, 作者定义从特征图池化得到的像素集合为的 σ(X) 。对于池化大小 Hp×Wp,||σ(X) || = HpWp。因此, 像素聚焦注意力 (PFA) 可以如下描述:
激活与池化: 为了在后续应用中利用PFA的线性复杂度模式进行大规模图像推理,作者 采用无参数的适应性平均池化进行空间降采样。然而,平均池化操作会严重损失信息。因此,作者在特征图池化之前,使用单层神经网络进行投影和激活,以压缩和提取有用的信息,从而在降采样后提高信息压缩率。降采样后,作者再次使用 Layer norm来规范化输出,以确保 X 和 σ(X) 的方差一致性。σ(X) = LayerNorm( AvgPool( GELU( Linear(X) ) ) )
2.2 Aggregating Diverse Attentions in a Single Mixer Query embedding
视觉问答(VQA)任务:许多视觉语言模型利用来自文本模态的Query,对来自视觉模态的Key进行交叉注意力,从而实现跨模态信息聚合。此外,已经证明在微调这些多模态模型以适应特定子任务时,合并并优化可学习的prefixQueryToken是有效且高效的。
将可学习的QueryToken集成到Backbone网络的注意力机制中(不同于传统的QKV注意力,它不使用输入中的Query,而是根据当前任务学习一个Query来执行交叉注意力),作者将这种方法归类为 可学习的Key-Value(LKV)注意力,并与QKV注意力相平行。作者发现,将传统QKV注意力中所有QueryToken的Query嵌入(QE)添加起来,可以实现与Query无关的信息聚合效果,且额外开销可以忽略不计。作者只需要修改方程如下:
位置注意力: 信息聚合的另一种替代方法是使用一组可学习的Key,这些Key与来自输入的Query相互作用以获得注意力权重,即Query-Learnable-Value(QLV)注意力。这种方法与传统的QKV注意力不同,因为它破坏了Key和Value之间的一对一对应关系,导致为当前Query学习更多的隐式相对位置信息。因此,它通常与滑动窗口相结合在视觉任务中使用。与静态的亲和矩阵(如卷积或相对位置偏差)不同,这种通过数据驱动建模方法生成的亲和矩阵考虑了当前Query的影响,并可以基于它动态适应。
作者观察到, 这种数据驱动建模方法 比静态相对位置偏差更具鲁棒性, 并且可以进一步增强局部建模能力。利用这一特点, 作者在每个注意力头中引入一组可学习的Token , 允许这些Token与Query相互作用以获得额外的动态位置偏差并将其添加到特征上 。使用这种增强只需要增加额外的计算开销 。作者只需要修改方程 4 如下:
2.3 Overcoming Multi-scale Image Input
长度缩放余弦注意力: 与缩放点积注意力不同,长度缩放余弦注意力使用了余弦相似度,已被观察到可以生成更适中的注意力权重,并有效地增强了大型视觉模型的训练稳定性。长度缩放余弦注意力通常将一个额外的可学习系数乘到Query和Key的余弦相似度结果上,使得注意力机制可以有效地忽略不重要的Token。
最近的研究发现,随着输入序列长度的增加,注意力输出的置信度会降低。因此,注意力机制的缩放因子应该与输入序列长度相关。进一步地,[52]提出了一个关于缩放点积注意力熵不变性的设计,以方便更好的泛化到未知长度。在[52]中,提供了当Query和Key被近似为具有大小 d \sqrt{d} d 的向量时,缩放点积注意力熵的估计:
长度缩放余弦注意力如下:
对于余弦相似度, 作者定义Query和Key在其头维上进行 L2 正则化.模长为1。 τ \tau τ是每个注意力头初始化为 1 0.24 \frac {1}{0.24} 0.241的可学习变量.。N 表示每个Query与有效Key交互的次数, 不包括被 Mask Token的计数, μ \mu μ(i,j)表示位置 (i,j) 处的填充MaskToken集合:
2.4 Feature Analysis
计算复杂度: 给定输入 X∈RC×H×W ,池化大小为 Hp×Wp, 窗口大小 k×k,作者考虑’激活与池化操作和线性投影的影响。像素聚焦注意力和聚合注意力的计算复杂度如下:
作者观察到, 当池化大小 Hp×Wp 设置为与输入大小无关的值时, Ω \Omega Ω(PFA) 和 Ω \Omega Ω(AA) 的长度都线性地与输入序列的长度成正比。这意味着PFA和 AA 都可以在线性复杂度模式下进行推理。
3.Convolutional GLU(做信息交换)
3.1 Motivation
ViT时代的门控通道注意力:以前的工作,由Squeeze-and-Excitation(SE)机制代表,首先将通道注意力引入计算机视觉领域,该机制使用一个带有激活函数的分枝来控制网络输出。在门控通道注意力中,门控分支具有比value分支更大的决策权,最终决定相应的输出元素是否为零。从这个角度来看,SE机制巧妙地使用全局平均池化后的特征作为门控分支的输入,实现更好的决策,同时解决了CNN结构中感受野不足的问题。然而,在ViT时代,全局感受野不再是稀缺的。
各种全局Token混合器由自注意力表示,已经比全局平均池化实现了更高的全局信息聚合质量。这使得SE机制使用的全局池化方法表现出一些缺陷,例如该方法使特征图上的所有Token共享相同的门控信号,导致其通道注意力缺乏灵活性并过于粗糙。尽管如此,ViT结构缺乏通道注意力。最近的研究发现,将SE机制集成到通道混合器中可以有效提高模型鲁棒性,如图4所示。
ViT时代的卷积:最近的研究表明,将3×3的零填充卷积引入到视觉Transformer中可以被视为一种条件位置编码(CPE),它有效地捕获了零填充带来的位置信息.。
3.2 全新的Channel Mixer设计
Gated Linear Unit (GLU) :GLU是一种通道混合器,已在各种 NLP任务中显示出比多层感知机(MLP)更好的性能。GLU由两个线性投影组成,其中一个是通过激活函数激活的元素乘法。与SE机制不同,每个Token的gating信号都来自Token本身,并且其感受野大小不超过value分支的感受野。
更优雅的设计:作者发现,在GLU的gating分支的激活函数之前,简单地添加一个最小形式的卷积,可以使它的结构符合基于最近邻特征的门控通道注意力的设计概念,并将其转换为门控通道注意力机制。作者称这种方法为卷积GLU,如图4所示。
特征分析:在卷积GLU(ConvGLU)中的每个Token都具有基于其最近精细特征的独特gating信号,这解决了全局平均池化在SE机制中的过于粗糙的问题。它也满足了某些没有位置编码设计的ViT模型,这些模型需要由卷积提供的位置信息
此外,这种设计的值分支仍保持与MLP和GLU相同的深度,使其易于反向传播。
4.TransNeXt Architecture
TransNeXt采用与PVTv2相同的四阶段分层Backbone网络和重叠块嵌入。聚合注意力在1-3阶段的池化特征大小也设置为 H 32 \frac {H}{32} 32H× W 32 \frac {W}{32} 32W , 与 PVTV2相同。在阶段4中, 由于特征图大小已减少到 H 32 \frac {H}{32} 32H× W 32 \frac {W}{32} 32W, 特征池化模块无法正常工作。作者采用了一种修改后的多头自注意力 (MHSA) 版本, 它应用Query嵌入和长度缩放余弦注意力。这与 PVTv2在第四阶段使用MHSA一致。对于1-4阶段的通道混合器, 作者使用卷积GLU与 GELU[22]激活。扩展比也遵循PVTv2的 [ 8,8,4,4 ] 设置。
为了确保与典型MLP参数的一致性,卷积GLU的隐藏维数为 2 3 \frac {2}{3} 32× 的集合值。此外,作者将头维数设置为24,以在通道维度上被3整除。TransNeXt变体的具体配置可以在附录中找到。
4.实验
ImageNet-1K分类:作者的代码基于PVTv2实现,并遵循DeiT的训练方法。模型从 scratch 在ImageNet-1K数据集上进行300个epoch的训练,利用自动混合精度(AMP)在8个GPU上进行训练
5.总结
基于生物模仿视杆细胞视觉设计的Token混合器聚合注意力和一种具有门控通道注意力的通道混合器卷积GLU。作者将它们结合起来,提出一种强大的高度鲁棒的视觉模型TransNeXt,它在各种视觉任务如分类、检测和分割等方面都实现了最先进的性能。TransNeXt在多尺度推理的出色性能突显了它在解决深度衰减问题方面优于大型核策略的优势。此外,作者还提供了一个CUDA实现,在训练中实现了高达103.4%的加速,在推理中实现了60.5%的加速。不想看公式的,像素聚焦注意力总结如下: