文章目录
摘要
卷积神经网络(CNNs)在计算机视觉中无处不在,存在着大量有效且高效的变体。最近,原本在自然语言处理中引入的Transformer越来越多地被应用于计算机视觉领域。虽然早期采用者继续使用CNN作为主干网络,但最新的网络已经是端到端无需CNN的Transformer解决方案。最近一个令人惊讶的发现表明,一个没有任何传统卷积或Transformer组件的基于简单多层感知器(MLP)的解决方案可以产生有效的视觉表征。尽管CNNs、Transformers和MLP-Mixers可能被视为完全不同的架构,但我们提供了一个统一的视角,表明它们实际上是一种更通用的在神经网络堆栈中聚合空间上下文的方法的特例。我们提出了CONTAINER(CONText AggregatIon NEtwoRk,上下文聚合网络),这是一个用于多头上下文聚合的通用构建块,它可以像Transformer一样利用长距离交互,同时仍然利用局部卷积操作的归纳偏置,从而实现通常在CNN中观察到的更快的收敛速度。我们的CONTAINER架构在ImageNet上使用2200万参数实现了 82.7 % 82.7\% 82.7%的Top-1准确率,与DeiT-Small相比提高了 + 2.8 % +2.8\% +2.8%,并且仅在200个训练周期内就可以收敛到 79.9 % 79.9\% 79.9%的Top-1准确率。与在依赖于更大输入图像分辨率的下游任务中扩展性不佳的基于Transformer的方法相比,我们的高效网络(命名为CONTAINER-LIGHT)可以被用于目标检测和实例分割网络,如DETR、RetinaNet和Mask-RCNN,以获得令人印象深刻的检测平均精度均值(mAP)38.9、43.8、45.1,以及掩膜平均精度均值(mask mAP)41.3,与具有可比计算和参数大小的ResNet-50主干网络相比,分别提高了6.6、7.3、6.9和6.6个点。与在DINO框架上的DeiT相比,我们的方法在自监督学习方面也取得了有前景的结果。代码已发布在https://github.com/allenai/container。
1 引言
卷积神经网络(CNNs)已成为提取视觉表征的实际标准,并在众多下游任务中证明了其惊人的有效性,如目标检测[37]、实例分割[22]和图像描述[1]。同样,在自然语言处理领域,Transformer占据主导地位[13, 43, 42, 4]。它们在捕获短距离和长距离信息方面的有效性,使得在问答[45]和语言理解[58]等任务上取得了最先进的成果。
在计算机视觉领域,Transformer最初被用作跨空间(例如,在目标检测[5]中)和时间(例如,在视频理解[61]中)的长距离信息聚合器,但这些方法仍继续使用CNNs[34]来获取原始视觉表征。然而,最近,采用Transformer模块的无需CNN的视觉主干网络[54,14]在ImageNet[33]等图像分类基准测试中表现出了令人印象深刻的性能。现在,取代CNN的竞争已经开始扩展到Transformer之外——最近的一个意外结果表明,多层感知器(MLP)专有网络[52]在图像分类方面同样有效。
表面上看,CNNs[34, 8, 63, 23]、视觉Transformer(ViTs)[14, 54]和MLP混合器[52]通常被呈现为不同的架构。然而,退一步分析这些方法就会发现,它们的核心设计其实相当相似。这些方法中的许多都采用了神经网络块的级联。每个块通常包含聚合模块和融合模块。聚合模块在模块的输入上跨预定义上下文窗口共享和积累信息(例如,Transformer编码器中的自注意力操作),而融合模块则结合位置特征并产生模块输出(例如,ResNet中的前馈层)。
在本文中,我们表明,许多流行架构之间的主要差异源于其聚合模块的变化。这些差异实际上可以表征为聚合器内亲和矩阵的变体,该矩阵用于确定查询向量与其上下文之间的信息传播。例如,在ViTs[14, 54]中,这个亲和矩阵是使用键和查询计算动态生成的;但在Xception架构[8](采用深度卷积)中,亲和矩阵是静态的——无论位置如何,亲和权重都是相同的,并且无论输入图像的大小如何,它们在所有输入图像中都是相同的。最后,MLP混合器[52]也使用静态亲和矩阵,但该矩阵会随着输入景观的变化而变化。
基于这一统一视角,我们提出了CONTAINER(CONText AggregatIon NEtwoRk),它是一个用于多头上下文聚合的通用构建块。CONTAINER块同时包含基于静态亲和力和动态亲和力的聚合,这两者通过可学习的混合系数进行组合。这使得CONTAINER块能够在处理长距离信息的同时,仍然利用局部卷积操作的归纳偏置。CONTAINER块易于实现,可以轻松替换到许多当今的神经网络架构中,从而构建出高性能网络,同时收敛速度更快且数据效率更高。
我们提出的CONTAINER架构在ImageNet上使用2200万个参数获得了82.7%的Top-1准确率,相比参数数量相当的DeiT-S[54]提高了2.8个百分点。此外,它的收敛速度更快,仅用200个训练周期就达到了DeiT-S的79.9%准确率,而DeiT-S需要300个周期。
我们还提出了一个更高效的模型,名为CONTAINER-LIGHT,它在计算早期仅使用静态亲和力矩阵,但在后续阶段使用静态和动态亲和力矩阵的可学习混合。与在处理大输入时效率不高的ViTs相比,CONTAINER-LIGHT可以扩展到需要高分辨率输入图像的下游任务,如检测和实例分割。使用CONTAINER-LIGHT主干网络和12个训练周期,RetinaNet[37]能够实现43.8 mAP,而Mask-RCNN[22]在框和实例掩码预测上分别能够实现45.1 mAP和41.3 mAP,与ResNet-50主干网络相比,分别提高了7.3、6.9和6.6个百分点。最近的DETR及其变体SMCA-DETR和Deformable DETR[5, 19, 75]也从CONTAINER-LIGHT中受益,分别实现了38.9、43.0和44.2 mAP,与它们的ResNet-50主干网络基线相比有了显著提高。
CONTAINER-Light具有数据高效性。我们的实验表明,它仅使用10%的训练数据就能在ImageNet上获得61.8%的Top-1准确率,显著优于DeiT获得的39.3%准确率。在DINO自监督训练框架[6]下,CONTAINER-LIGHT也比DeiT收敛更快,并实现了更好的kNN准确率(71.5 vs. DeiT的69.6)。
CONTAINER的统一性和框架使我们能够轻松地再现过去的多个模型,甚至只需进行少量代码和参数更改就能对其进行扩展。我们扩展了多个过去的模型并展示了性能改进——例如,我们创建了分层DeiT模型、多头MLP混合器,并在DeiT架构中添加了静态亲和力矩阵。我们的代码库和模型将公开发布。最后,我们分析了一个同时包含静态和动态亲和力的CONTAINER模型,并展示了在网络早期层中出现类似卷积的局部亲和力。
综上所述,我们的贡献包括:(1)为视觉输入的流行架构(CNN、Transformer和MLP混合器)提供了一个统一视角,(2)提出了一种新型网络块——CONTAINER,它通过可学习参数混合静态和动态亲和力矩阵,并在图像分类方面取得了显著成果,以及相应的架构,(3)一个高效且有效的扩展——CONTAINER-LIGHT,在检测和分割方面取得了显著成果。重要的是,我们看到许多并发工作旨在融合CNN和Transformer架构[36, 64, 40, 24, 55, 69, 64, 47],这验证了我们的方法。我们希望我们的统一视角有助于将这些不同的并发提案置于适当的背景下,并促进对这些方法格局的更好理解。
2 相关工作
视觉主干网络。自AlexNet [33]在计算机视觉领域引发革命以来,一系列基于卷积神经网络(CNN)的架构在准确性方面取得了进一步改进,包括VGG [46]、ResNet [23]、Inception Net [48]、SENet [28]、ResNeXt [63]和Xception [8];在效率方面也取得了改进,包括MobileNet v1 [26]、MobileNet v2 [26]和EfficientNet v2 [50]。随着BERT [13]和GPT [43]等自然语言处理(NLP)领域Transformer [56]的成功,研究人员开始将其应用于解决计算机视觉中的长距离信息聚合问题。ViT [14]/DeiT [54]是Transformer,在ImageNet上的表现优于CNN。最近,一些并行工作探索了将卷积与Transformer相结合,并取得了有前景的结果。ConViT [11]探索了软卷积归纳偏置,以增强DeiT。CeiT [66]直接将CNN融入Transformer的前馈模块,以增强学习特征。PVT [60]提出了一种金字塔视觉Transformer,用于高效地迁移到下游任务。然而,像ViT/DeiT这样的纯Transformer模型对于需要高分辨率输入的检测和[60]分割[73]任务来说,需要巨大的GPU内存和计算能力。MLP-Mixer [52]表明,仅执行转置的多层感知器(MLP)后跟MLP即可接近最先进的性能。我们提出了CONTAINER,这是一种新的视觉主干网络,为这些不同的架构提供了统一的视角,并在包括需要高分辨率输入的多个视觉任务中表现良好。
Transformer变体。由于自注意力中的二次计算,标准Transformer无法扩展到长序列或高分辨率图像。为了提高Transformer对于高分辨率输入的计算效率,已经提出了几种方法。Reformer [32]、Clusterform [57]、自适应聚类Transformer [73]和不对称聚类[10]建议使用局部敏感哈希对键或查询进行聚类,从而将二次计算减少为线性计算。轻量级卷积[62]探索了卷积架构来替代Transformer,但仅探索了NLP中的应用。RNN Transformer [31]在RNN和Transformer之间建立了联系,从而实现了具有线性计算的注意力。Linformer [59]通过删除softmax归一化层,将键、查询、值的乘法顺序更改为查询、值、键,从而实现线性复杂度。Performer [9]使用正交随机特征来近似全秩softmax注意力。MLIN [18]在潜在编码节点之间进行交互,其复杂度与输入长度呈线性关系。Bigbird [3]将全秩注意力分解为局部、随机选择和全局注意力。因此,计算复杂度变为线性。Longformer [68]使用局部Transformer来解决长序列对大量GPU内存的需求问题。MLP-Mixer [52]是用于图像识别的纯MLP架构。在我们提供的统一公式中,MLP-Mixer可以视为具有静态亲和矩阵权重的单头Transformer。由于无需使用键查询乘法来计算亲和矩阵,MLP-Mixer可以提供比标准Transformer更高效的计算。高效Transformer大多使用近似消息传递,这会导致跨任务性能下降。轻量级卷积[62]、Involution [35]、Synthesizer [51]和MUSE [71]探索了深度卷积与Transformer之间的关系。我们的ContaInER统一框架使用混合亲和矩阵同时进行全局和局部信息交换,而CONTAINER-LIGHT则关闭高分辨率特征图的动态亲和矩阵以减少计算。尽管关闭动态亲和矩阵会略微影响分类性能,但与ViT和ResNet等流行主干网络相比,CONTAINER-LIGHT仍能为下游任务提供有效且高效的泛化。
用于视觉的Transformer。Transformer能够实现高度的并行性,并能够捕获输入中的长距离依赖关系。因此,Transformer在图像[14, 5, 70]、音频[2]、多模态[17, 21, 20]和语言理解[13]方面逐渐超越了其他架构,如CNN [34]和RNN [25]。在计算机视觉中,提出了非局部神经网络(Non-local Neural Network)[61]来捕获长距离交互,以补偿CNN捕获的局部信息,并将其用于目标检测[27]和语义分割[16, 29, 76, 67]。然而,这些方法将Transformer用作细化模块,而不是将其视为一等公民。ViT [14]将第一个纯Transformer模型引入计算机视觉领域,并在非公开可用的JFT数据集上进行大规模预训练,超越了CNN。DeiT [54]在ImageNet-1k上从头开始训练ViT,并取得了优于CNN的性能。DETR [5]使用Transformer作为编码器和解码器架构,设计了第一个端到端目标检测系统。Taming Transformer [15]使用矢量量化(Vector Quantization)[41]生成对抗网络(GAN)和GPT [43]进行高质量高分辨率图像生成。受DETR在目标检测方面成功的启发,Transformer已广泛应用于语义分割[74]、姿态估计[65]、轨迹估计[39]、3D表示学习和使用MOCO v3 [7]和DINO [6]的自监督学习等任务。ProTo [72]验证了Transformer在推理任务中的有效性。
3 方法
在本节中,我们首先概述了当前神经网络中常用的邻域/上下文聚合模块。然后,我们回顾了三种主要架构——Transformer[56]、深度卷积[8]和最近提出的MLP-Mixer[52],并表明它们是我们在上文概述中的特例。接着,我们在第3.3节中提出了CONTAINER模块,并在第3.5节中提出了其高效版本——CONTAINER-LIGHT。
3.1 视觉中的上下文聚合
考虑输入图像 X ∈ R C × H × W X \in \mathbb{R}^{C \times H \times W} X∈RC×H×W,其中 C C C 和 H × W H \times W H×W 分别表示输入图像的通道和空间维度。输入图像首先被展平为一个标记序列 { X i ∈ R C ∣ i = 1 , … , N } \left\{X_{i} \in \mathbb{R}^{C} \mid i=1, \ldots, N\right\} {Xi∈RC∣i=1,…,N},其中 N = H W N=H W N=HW,然后输入到网络中。视觉网络通常堆叠多个带有残差连接的构建块[23],定义为
Y = F ( X , { W i } ) + X \mathbf{Y}=\mathcal{F}\left(\mathbf{X},\left\{\mathbf{W}_{i}\right\}\right)+\mathbf{X} Y=F(X,{Wi})+X
这里, X \mathbf{X} X 和 Y \mathbf{Y} Y 是所考虑层的输入和输出向量, W i \mathbf{W}_{i} Wi 表示可学习参数。 F \mathcal{F} F 决定了如何聚合 X \mathbf{X} X 中的信息来计算特定位置的特征。我们首先定义一个亲和矩阵 A ∈ R N × N \mathcal{A} \in \mathbb{R}^{N \times N} A∈RN×N,表示上下文聚合的邻域。等式1可以重写为:
Y = ( A V ) W 1 + X \mathbf{Y}=(\mathcal{A} \mathbf{V}) \mathbf{W}_{1}+\mathbf{X} Y=(AV)W1+X
其中, V ∈ R N × C \mathbf{V} \in \mathbb{R}^{N \times C} V∈RN×C 是 X \mathbf{X} X 的一个变换,由线性投影 V = X W 2 \mathbf{V}=\mathbf{X} \mathbf{W}_{2} V=XW2 得到。 W 1 \mathbf{W}_{1} W1 和 W 2 \mathbf{W}_{2} W2 是可学习参数。 A i j \mathcal{A}_{i j} Aij 是 X i X_{i} Xi 和 X j X_{j} Xj 之间的亲和值。将亲和矩阵与 V \mathbf{V} V 相乘会根据亲和值在特征之间传播信息。
通过引入多个亲和矩阵,可以增加这种上下文聚合模块的建模能力,从而使网络在 X \mathbf{X} X 上有多条路径获取上下文信息。设 { V i ∈ R N × C M ∣ i = 1 , … , M } \left\{\mathbf{V}^{i} \in \mathbb{R}^{N \times \frac{C}{M}} \mid i=1, \ldots, M\right\} {Vi∈RN×MC∣i=1,…,M} 是 V \mathbf{V} V 的切片,其中 M M M 是亲和矩阵的数量,也称为头的数量。等式2的多头版本是
Y = Concat ( A 1 V 1 , … , A M V M ) W 2 + X \mathbf{Y}=\operatorname{Concat}\left(\mathcal{A}_{1} \mathbf{V}_{1}, \ldots, \mathcal{A}_{M} \mathbf{V}_{M}\right) \mathbf{W}_{2}+\mathbf{X} Y=Concat(A1V1,…,AMVM)W2+X
其中, A m \mathcal{A}_{m} Am 表示每个头中的亲和矩阵。不同的 A m \mathcal{A}_{m} Am 可能在特征空间内捕获不同的关系,因此与单头版本相比,可以增加上下文聚合的表示能力。注意,在使用亲和矩阵进行上下文聚合时,仅传播空间信息;在亲和矩阵乘法中不会发生跨通道信息交换,并且没有非线性激活函数。
3.2 Transformer、深度卷积和MLP-Mixer
Transformer[56]、深度卷积[30]和最近提出的MLP-Mixer[52]是计算机视觉中使用的三种不同的构建块。在这里,我们通过定义不同类型的亲和矩阵,表明它们可以在上述上下文聚合框架中表示。
Transformer。在Transformer的自注意力机制中,亲和矩阵通过投影的查询-键对之间的相似性来建模。对于 M M M 个头,头 m m m 中的亲和矩阵 A m s a \mathcal{A}_{m}^{s a} Amsa 可以写为
A m s a = Softmax ( Q m K m T / C / M ) \mathcal{A}_{m}^{s a}=\operatorname{Softmax}\left(\mathbf{Q}_{m} \mathbf{K}_{m}^{T} / \sqrt{C / M}\right) Amsa=Softmax(QmKmT/C/M)
其中, K m \mathbf{K}_{m} Km、 Q m \mathbf{Q}_{m} Qm 分别是头 m m m 中对应的键和查询。自注意力中的亲和矩阵是动态生成的,并且可以捕获实例级别的信息。然而,这引入了二次计算,对于高分辨率特征,需要大量计算。
深度卷积。卷积算子并行地融合空间信息和通道信息。这与上面定义的上下文聚合块不同。然而,深度卷积[30](是组卷积的一个极端情况)执行的是解耦卷积。考虑到从上下文聚合块中获得的头的数量等于通道大小 C C C,给定1维核 Ker ∈ R C × 1 × k \operatorname{Ker} \in \mathbb{R}^{C \times 1 \times k} Ker∈RC×1×k,我们可以定义卷积亲和矩阵:
A m i j conv = { Ker [ m , 0 , ∣ i − j ∣ ] ∣ i − j ∣ ≤ k 0 ∣ i − j ∣ > k \mathcal{A}_{m i j}^{\text {conv }}=\left\{\begin{array}{cl}\operatorname{Ker}[m, 0,|i-j|] \quad |i-j| \leq k \\0 \quad |i-j|>k\end{array}\right. Amijconv ={Ker[m,0,∣i−j∣]∣i−j∣≤k0∣i−j∣>k,
其中, A m i j \mathcal{A}_{m i j} Amij是 X i X_{i} Xi和 X j X_{j} Xj在头 m m m上的亲和值。与根据输入特征确定值的自注意力获得的亲和矩阵相比,卷积的亲和值是静态的——它们不依赖于输入特征,是稀疏的——仅涉及局部连接,并在亲和矩阵中共享。
MLP-Mixer 最近提出的MLP-Mixer[52]不依赖于任何卷积或自注意力算子。MLP-Mixer的核心是转置的多层感知器(MLP)操作,可以表示为 X = X + ( V T W M L P ) T \mathbf{X}=\mathbf{X}+\left(\mathbf{V}^{T} \mathbf{W}_{M L P}\right)^{T} X=X+(VTWMLP)T。我们可以将亲和矩阵定义为
A m l p = ( W M L P ) T \mathcal{A}^{m l p}=\left(\mathbf{W}_{M L P}\right)^{T} Amlp=(WMLP)T
其中, W M L P \mathbf{W}_{M L P} WMLP表示可学习的参数。这个简单的等式表明,转置MLP算子是在具有密集亲和矩阵的单个特征组上的上下文聚合算子。与自注意力和深度卷积相比,转置MLP亲和矩阵是静态的、密集的,并且没有参数共享。
上述简单的统一揭示了Transformer、深度卷积和MLP-Mixer之间的相似性和差异性。这些构建块中的每一个都可以通过不同的亲和矩阵公式来获得。这一发现促使我们为视觉任务创建了一个强大且高效的构建块——CONTAINER。
3.3 CONTAINER块
如第3.2节所述,先前的架构已经使用了静态或动态生成的亲和矩阵——每种都提供了其独特的一组优点和特性。我们提出的名为CONTAINER的构建块,通过可学习的参数结合了这两种类型的亲和矩阵。单头CONTAINER定义为:
Y = ( ( α A ( X ) ⏞ Dynamic + β A ⏞ Static ) V ) W 2 + X \mathbf{Y}=((\alpha \overbrace{\mathcal{A}(\mathbf{X})}^{\text {Dynamic }}+\beta \overbrace{\mathcal{A}}^{\text {Static }}) V) W_{2}+\mathbf{X} Y=((αA(X) Dynamic +βA Static )V)W2+X
A ( X ) \mathcal{A}(\mathbf{X}) A(X)是动态从 X \mathbf{X} X生成的,而 A \mathcal{A} A是静态亲和矩阵。我们现在介绍CONTAINER块的几个特例。在下文中, L \mathcal{L} L表示可学习的参数。
- α = 1 , β = 0 , A ( x ) = A sa \alpha=1, \beta=0, \mathcal{A}(x)=\mathcal{A}^{\text {sa }} α=1,β=0,A(x)=Asa :带有自注意力(表示为 s a sa sa)的常规Transformer块。
- α = 0 , β = 1 , M = C , A = A conv \alpha=0, \beta=1, M=C, \mathcal{A}=\mathcal{A}^{\text {conv }} α=0,β=1,M=C,A=Aconv :深度卷积块。在深度卷积中,每个通道都有不同的静态亲和矩阵。当 M ≠ C M \neq C M=C时,所得块可以被视为多头深度卷积块(MH-DW)。MH-DW共享核权重。
- α = 0 , β = 1 , M = 1 , A = A mlp \alpha=0, \beta=1, M=1, \mathcal{A}=\mathcal{A}^{\text {mlp }} α=0,β=1,M=1,A=Amlp :MLP-Mixer块。当 M ≠ 1 M \neq 1 M=1时,我们将该模块命名为多头MLP(MH-MLP)。MH-MLP将通道分成 M M M组,并执行独立的转置MLP以捕获不同的静态标记关系。
- α = L , β = L , A ( x ) = A s a , A = A m l p \alpha=\mathcal{L}, \beta=\mathcal{L}, \mathcal{A}(x)=\mathcal{A}^{s a}, \mathcal{A}=\mathcal{A}^{m l p} α=L,β=L,A(x)=Asa,A=Amlp:此CONTAINER块融合了动态和静态信息,但静态亲和类似于MLP-Mixer矩阵。我们称此块为CONTAINER-PAM(关注MLP)。
- α = L , β = L , A ( x ) = A sa , A = A conv \alpha=\mathcal{L}, \beta=\mathcal{L}, \mathcal{A}(x)=\mathcal{A}^{\text {sa }}, \mathcal{A}=\mathcal{A}^{\text {conv }} α=L,β=L,A(x)=Asa ,A=Aconv :此CONTAINER块融合了动态和静态信息,但静态亲和类似于深度卷积矩阵。此静态亲和矩阵包含平移不变的局部性约束,使其更适合视觉任务。这是我们在实验中使用的默认配置。
CONTAINER块易于实现,并且可以轻松替换到现有的神经网络中。CONTAINER的上述版本提供了所得架构及其性能的变体,并表现出不同的优点和局限性。CONTAINER块的计算成本与常规Transformer相同,因为静态和动态矩阵是线性组合的。
3.4 CONTAINER网络架构
我们现在介绍实验中使用的基线架构。上述对过去工作的整合使我们能够轻松比较自注意力、深度卷积、多层感知机(MLP)以及CONTAINER块的多种变体,我们使用一致的基线架构进行这些比较。
受过去工作[23,60]中网络的启发,我们的基线架构包含4个阶段。与将图像下采样到低分辨率并保持该分辨率不变的ViT/DeiT不同,我们的架构中的每个阶段都会逐渐降低图像分辨率。逐渐下采样可以保留图像细节,这对于分割和检测等下游任务非常重要。这4个阶段中的每一个都包含一系列块。每个块包含两个子模块,第一个用于聚合空间信息(称为空间聚合模块),第二个用于融合通道信息(称为前馈模块)。在本文中,通道融合模块固定为[56]中提出的2层MLP。设计一个更好的空间聚合模块是本文的主要研究重点。这4个阶段分别包含2、3、8和3个块。每个阶段都使用块嵌入,将大小为 p × p p \times p p×p的空间块融合成单个向量。对于这4个阶段, p p p的值分别为4、4、2、2。一个阶段内的特征维度保持不变,四个阶段的特征维度分别设置为128、256、320和512。使用CONTAINER块增强的基线架构导致参数规模与DeiT-S[54]相似。
3.5 CONTAINER-LIGHT网络
我们还介绍了一个高效版本,称为CONTAINER-LIGHT,它使用与CONTAINER相同的基本架构,但在前3个阶段中关闭了动态亲和矩阵。在计算早期阶段没有计算量大的动态注意力,这有助于高效扩展模型以处理大图像分辨率,并在检测和实例分割等下游任务上实现优越性能。
A m CONTAINER-LIGHT = { A m conv 阶段 = 1 , 2 , 3 α A m s a + β A m conv 阶段 = 4 \mathcal{A}_{m}^{\text {CONTAINER-LIGHT }}=\left\{\begin{array}{ll}\mathcal{A}_{m}^{\text {conv }} & \text { 阶段 }=1,2,3 \\\alpha \mathcal{A}_{m}^{s a}+\beta \mathcal{A}_{m}^{\text {conv }} & \text { 阶段 }=4\end{array}\right. AmCONTAINER-LIGHT ={Amconv αAmsa+βAmconv 阶段 =1,2,3 阶段 =4
α \alpha α 和 β \beta β 是可学习参数。在网络阶段1、2、3中,CONTAINER-LIGHT将关闭 A m s a \mathcal{A}_{m}^{s a} Amsa 。
4 实验
我们现在展示在ImageNet数据集上使用CONTAINER的实验结果,以及在目标检测、实例分割和自监督学习任务上使用CONTAINER-Light的实验结果。我们还提供了适当的基线结果。有关模型、训练和设置的详细信息,请参阅附录。
4.1 ImageNet分类
Top-1准确率。表1比较了卷积神经网络(CNN)、Transformer、多层感知机(MLP)、混合架构以及我们提出的CONTAINER架构家族中的几个高性能模型。尽管参数远少于纯Transformer模型ViT[14]和DeiT[54],但CONTAINER和CONTAINER-LIGHT的表现却优于它们。它们的表现也优于采用与我们基线架构类似层次化表示的PVT[60]。它们还优于最近发布的最先进的SWIN[40](其表现优于参数更多的Swin-T)。表现最好的模型仍然来自EfficientNet[49]家族,但我们注意到,EfficientNet[49]和RegNet[44]应用了广泛的神经架构搜索,而我们并没有这样做。最后值得注意的是,Container-LigHT不仅实现了高准确率,而且与具有可比容量的模型相比,其浮点运算数(FLOPs)更低,吞吐量更快。
CONTAINER框架使我们能够轻松复现过去的架构,并且还能在过去工作的基础上创建有效的扩展(第3.3节概述),表2比较了其中的几个扩展。H-DeiT-S是通过在我们的层次化架构中仅使用
A
sa
\mathcal{A}^{\text {sa }}
Asa 获得的DeiT-S的层次化版本,提供了1.2的增益。Conv-3(使用
3
×
3
3 \times 3
3×3核的朴素卷积(conv))聚合空间和通道信息,而Group Conv-3将输入特征拆分并使用不同的核执行卷积,它更便宜且更有效。当组大小等于通道维度时,我们得到深度卷积。DW-3是使用
3
×
3
3 \times 3
3×3核仅聚合空间信息的深度卷积。通道信息使用
1
×
1
1 \times 1
1×1卷积进行融合。MH-DW-3是DW-3的多头版本。MH-DW-3在同一组内共享核参数。使用更少的核,MH-DW-3实现了与DW-3相当的性能。MLP是转置MLP在空间传播中的实现。MLP-LR代表具有低秩分解的MLP。MLP-LR以更少的参数提供了更好的性能。MH-MLP-LR在MLP-LR上添加了多头机制,并提供了进一步的改进。与原始MLP-Mixer[52]不同,我们不在CONTAINER中添加任何非线性函数(如GELU),如上下文聚合方程中所述。
数据效率。CONTAINER-LIGHT具有内置的平移不变性和参数共享机制。因此,与DeiT[54]相比,它在数据上更高效。表3显示,在10%的低数据量级下,CONTAINER-LIGHT比DeiT高出22.5个百分点。
收敛速度。图1(左)比较了两种CONTAINER变体与CNN和Transformer(DeiT)[54]的收敛速度。CNN中的归纳偏置使其比DeiT[54]收敛得更快,但在300个训练周期时,它们的性能最终相似,这表明动态、长距离上下文聚合功能强大但收敛缓慢。CONTAINER结合了二者的优点,实现了快速收敛和准确率提升。CONTAINER-LIGHT收敛速度同样快,但准确率略有下降。
局部性的出现。在我们的CONTAINER框架中,我们可以轻松地向DeiT架构添加一个静态亲和矩阵。这个简单的更改(添加1行代码)可以使Top-1准确率从79.9%提高到80.4%,提升0.5个百分点。这表明静态和动态亲和矩阵提供了互补信息。如第3.3节所述,我们将此命名为CONTAINER-PAM。
可视化不同网络层中学习到的静态亲和矩阵很有意思。图1(右)显示了两个层的可视化结果。每个矩阵表示单个位置的静态亲和性,重塑为二维网格,以类似于相邻区域的景观。在第一层中,我们有趣地观察到,通过增强源像素(位置)附近的亲和值,局部操作出现了。这些类似于卷积操作。此外,源像素的亲和值非常小,即在每个位置,上下文聚合器都不使用其当前特征。我们假设这是残差连接[23]的结果,从而无需在上下文中包含源特征。请注意,与动态亲和性不同,学习到的静态矩阵对所有输入图像都是共享的。注意,第12层显示了一个更全局的亲和矩阵,没有任何可解释的具体局部模式。
4.2 使用RetinaNet进行检测
由于CONTAINER-LIGHT在高图像分辨率(初始层)下的注意力复杂度是线性的,然后是二次的,因此它可以用于下游任务,如通常需要高分辨率特征图的对象检测。表4比较了在COCO数据集[38]上,将几种骨干网络应用于RetinaNet检测器[37]的结果。与流行的ResNet-50[23]相比,CONTAINER-LIGHT实现了43.8的mAP,在
A
P
S
A P_{S}
APS、
A
P
M
A P_{M}
APM和
A
P
L
A P_{L}
APL上分别提高了7.0、7.2和10.4,而参数和成本相当。大物体检测显著提升表明,通过模型中的动态全局亲和矩阵实现的全局注意力带来了好处。CONTAINER-LIGHT还以大幅优势超越了基于大卷积的骨干网络X-101-64[63]和具有相似参数数量的纯Transformer模型,如PVT-S[60]、ViL-S[69]和SWIN-T[40]。与大型Transformer骨干网络(如ViL-M[69]和ViL-B[69])相比,我们以显著更少的参数和浮点运算数(FLOPs)实现了相当的性能。
4.3 使用Mask-RCNN进行检测和分割
表4还比较了使用Mask R-CNN网络[22]进行检测和实例分割的几种骨干网络。与RetinaNet[37]的发现类似,CONTAINER-LIGHT在性能上优于基于卷积和Transformer的方法,如ResNet[23]、X-101[63]、PVT[60]、ViL[69]以及最近最先进的SWIN-T[40]和最近的混合方法BoT[47]。它的性能与更大的ViL-B[69]相当。
4.4 使用DETR进行检测
表5显示,与使用ResNet-50[23]骨干网络(参数和计算量相当)相比,我们的模型在使用DETR[5]进行端到端对象检测时,可以持续提高对象检测性能。我们证明了在DETR[5]、DDETR[75]以及SMCA-DETR[19]上取得了很大改进。有关
A
P
S
A P^{S}
APS、
A
P
M
A P^{M}
APM和
A
P
L
A P^{L}
APL的数据,请参见附录。表5中的所有模型均使用50个训练周期的计划进行训练。
4.5 自监督学习
我们使用DINO框架[6]对Deit[54]和Container-Light进行了100个训练周期的自监督视觉表征学习任务训练。表6比较了两个骨干网络在不同训练周期下的前10个kNN准确率。CONTAINER-LIGHT显著优于DeiT,且最初表现出更高效的学习能力,准确率大幅提升。
5 结论
在本文中,我们证明了诸如Transformer、深度卷积神经网络(CNN)和基于多层感知器(MLP)的方法等不同的架构,通过用于上下文聚合的亲和矩阵紧密相关。基于这种观点,我们提出了CONTAINER,这是一种广义的上下文聚合构建块,它使用可学习参数将静态和动态亲和矩阵相结合。我们提出的网络,CONTAINER和CONTAINER-LIGHT,在图像分类、对象检测、实例分割和自监督表征学习方面表现出优越的性能。我们希望这种统一的观点能够激励未来在设计有效和高效的视觉骨干网络方面的研究工作。