摘要
卷积神经网络(CNNs)在计算机视觉中无处不在,具有无数有效和高效的变化。最近,Container——最初是在自然语言处理中引入的——已经越来越多地应用于计算机视觉。早期的用户继续使用CNN的骨干,最新的网络是端到端无CNN的Transformer解决方案。最近一个令人惊讶的发现表明,一个简单的基于MLP的解决方案,没有任何传统的卷积或Transformer组件,可以产生有效的视觉表示。虽然CNN、Transformer和MLP-Mixers可以被视为完全不同的架构,但我们提供了一个统一的视图,表明它们实际上是在神经网络堆栈中聚合空间上下文的更通用方法的特殊情况。我们提出了Container(上下文聚合网络),一个用于多头上下文聚合的通用构建块,它可以利用Container的长期交互作用,同时仍然利用局部卷积操作的诱导偏差,导致更快的收敛速度,这经常在CNN中看到。我们的Container架构在ImageNet上使用22M参数实现了82.7%的Top-1精度,比DeiT-Small提高了2.8,并且可以在短短200个时代收敛到79.9%的Top-1精度。比起相比的基于Transformer的方法不能很好地扩展到下游任务依赖较大的输入图像的分辨率,我们高效的网络,名叫CONTAINER-LIGHT,可以使用在目标检测和分割网络如DETR实例,RetinaNet和Mask-RCNN获得令人印象深刻的检测图38.9,43.8,45.1和掩码mAP为41.3,与具有可比较的计算和参数大小的ResNet-50骨干相比,分别提供了6.6、7.3、6.9和6.6 pts的较大改进。与DINO框架下的DeiT相比,我们的方法在自监督学习方面也取得了很好的效果。
1、简介
卷积神经网络(CNNs)已经成为提取视觉表示的事实上的标准,并且在许多下游任务中被证明是非常有效的,比如目标检测[36]、实例分割[22]和图像字幕[1]。同样,在自然语言处理中,Transformers占据主导地位[13,42,41,4]。它们在获取短期和长期信息方面的有效性,已经在诸如回答问题[44]和语言理解[56]等任务上取得了最先进的成果。
在计算机视觉中,Transformers最初被用作跨越空间(例如,在目标检测[5])和时间(例如,在视频理解[59])的远程信息聚合器,但这些方法继续使用CNN[34]来获得原始的视觉表示。然而,最近,使用Transformer模块的无CNN视觉骨架[52,14]在图像分类基准(如ImageNet[33])上显示了令人印象深刻的性能。取代cnn的竞争现在已经开始扩展到变形金刚之外——最近一个意想不到的结果显示,多层感知器(MLP)专用网络[50]在图像分类方面同样有效。
在表面上,CNNs[34, 8, 61, 23],Vision Transformers(Vision Transformers, ViTs)[14, 52]和MLP-mixers[50]通常被认为是不同的架构。然而,退一步分析这些方法可以发现,它们的核心设计非常相似。这些方法中有许多采用级联神经网络块。每个块通常由聚合模块和融合模块组成。聚合模块通过模块输入的预定义上下文窗口共享和积累信息(例如,Transformer编码器中的自注意操作),而融合模块结合位置特征并产生模块输出(例如,ResNet中的前馈层)。
在本文中,我们展示了许多流行体系结构的主要差异是由于它们聚合模块的变化造成的。实际上,这些差异可以被描述为聚合器中亲和矩阵的变体,该聚合器用于确定查询向量及其上下文之间的信息传播。例如,在ViTs[14,52]中,该亲和矩阵是使用键和查询计算动态生成的;但是在Xception体系结构[8](采用深度卷积)中,相似矩阵是静态的——相似权值在任何位置都是相同的,并且在所有输入图像中无论大小都是相同的。最后,MLP-Mixer[50]还使用了一个静态亲和矩阵,它会随着输入的变化而变化。
根据这个统一的视图,我们提出了Container(上下文聚合网络),一个用于多头上下文聚合的通用构建块。 Container块既包含静态亲和性,也包含基于动态亲和性的聚合,它们使用可学习的混合系数进行组合。 这使得Container块能够处理远距离信息,同时仍然利用局部卷积操作的归纳偏差。 容器块很容易实现,可以很容易地被替换到当今的许多神经结构中,从而产生高性能的网络,同时收敛速度更快,数据效率更高。
我们提出的容器体系结构使用22M参数在ImageNet上获得了82.7%的Top-1精度,比使用相同数量参数的DeiT-S[52]提高了 2.8点。 它的收敛速度也更快,仅在200个时代就达到了DeiT-S的79.9%的准确率,而在300个时代。 我们还提出了一种更有效的模型,名为CONTAINER-LIGHT,它在早期仅使用静态亲和矩阵,但在计算的后期阶段使用静态和动态相似矩阵的可学习混合。 与在处理大量输入时效率低下的vit相比,CONTAINER-LIGHT可以扩展到需要高分辨率输入图像的下游任务,如检测和实例分割。 使用CONTAINER-LIGHT主干和12个时代的训练,RetinaNet[36]可以实现43.8 mAP,而Mask-RCNN[22]在box上可以实现45.1 mAP,在实例掩码预测上可以实现41.3 mAP,与ResNet-50主干相比分别提高了 7.3、 6.9和 6.6。 最新的DETR及其变体SMCA-DETR和可变形的DETR[5, 19, 70]也受益于CONTAINER-LIGHT,达到38.9,43.0和44.2 mAP,显著优于其ResNet-50骨干baseline。
CONTAINER-LIGHT是数据高效的。 我们的实验表明,仅使用10%的训练数据,它就可以获得61.8的ImageNet Top-1精度,明显优于DeiT获得的39.3的精度。 与DeiT(69.6)相比,在DINO自我监督训练框架[6]下,CONTAINER-LIGHT收敛速度更快,获得了更好的kNN精度(71.5)
CONTAINER的统一和框架使我们能够轻松地再现几个过去的模型,甚至只需要更改一些代码和参数就可以扩展它们。 我们扩展了多个过去的模型并展示了改进的性能——例如,我们生成了一个分层DeiT模型、一个多头MLP-Mixer并向DeiT体系结构添加了一个静态相似矩阵。 我们的代码库和模型将公开发布。 最后,我们分析了一个包含静态和动态相似的CONTAINER模型,并展示了在网络的早期层中出现的类似卷积的局部相似。
总之,我们的贡献包括:(1)一个流行的视觉输入架构的统一视图- CNN,变压器和mlp混频器。 (2)一种新的网络块- CONTAINER,它通过可学习的参数和相应的结构,混合使用静态和动态的亲和力矩阵,在图像分类中取得了较好的效果。 (3)具有较强检测和分割效果的高效扩展CONTAINER-LIGHT。 重要的是,我们看到许多并发工作的目标是融合CNN和Transformer架构[35,62,39,24,53,67,62,46],验证我们的方法。 我们希望我们的统一视图有助于将这些不同的并行建议放在上下文中,并导致对这些方法的更好理解。
2、相关工作
Visual Backbones.
自从AlexNet[33]革命性地改变了计算机视觉,一系列基于CNN的架构在精度方面提供了进一步的改进,包括VGG [45], ResNet [23], Inception Net [47], SENet [28], ResNeXt[61]和Xception[8]和效率,包括Mobile-net v1 [26], Mobile-net v2[26]和Efficient-net v2[49]。 随着BERT[13]和GPT[42]等Transformers[54]在自然语言处理中的成功,研究者开始将其应用于解决计算机视觉中的远程信息聚集问题。 ViT [14]/DeiT[52]是在ImageNet上比CNN实现更好性能的变压器。 最近,一些并发的工作探索了卷积与Transformers的集成,并取得了很好的结果。 ConViT[11]探索了软卷积归纳偏置增强DeiT。 CeiT[64]直接将CNN整合到Transformers的前馈模块中,以增强学习到的特征。 PVT[58]提出了一个金字塔视觉Transformers,以有效地转移到下游任务。 然而,纯Transformers模型,如ViT/DeiT,需要大量的GPU内存和计算来检测[58]和分割[68]任务,这需要高分辨率的输入。 MLP- mixer[50]表明,简单地执行换位MLP,然后执行MLP可以获得接近最先进的性能。 我们提出了CONTAINER,这是一种新的视觉中枢,它提供了这些不同架构的统一视图,并在多个视觉任务(包括需要高分辨率输入的任务)中表现良好。
Transformer Variants.
原始Transformers无法扩展到长序列或高分辨率的图像由于二次计算的自我注意。 几种方法已被提出,使Transformers计算更有效的高分辨率输入。 Reformer[32]、Clusterform[55]、Adaptive Clustering Transformer[68]和非对称聚类[10]提出使用局部敏感性哈希聚类键或查询,并将二次计算减少为线性计算。 轻量级卷积[60]探索了替代Transformers的卷积架构,但只探索了在自然语言处理中的应用。 RNN变压器[31]建立了RNN和Transformers之间的连接,结果与线性计算的注意。 Linformer[57]通过删除softmax的归一化层,将键、查询、值的乘法顺序改为查询、值、键,实现线性复杂度。 表演者[9]使用正交随机特征来近似满秩softmax注意力。 MLIN[18]执行潜在编码节点之间的交互,其复杂度与输入长度成线性关系。 Bigbird[3]将全秩关注分为局部关注、随机选择关注和全局关注。 因此,计算复杂度变成线性的。 Longformer[66]使用本地变压器来解决长序列的大量GPU内存需求问题。 MLP- mixer[50]是一个纯MLP架构的图像识别。 在我们提供的统一公式中,MLP-Mixer可以被视为具有静态亲和矩阵权重的单头变压器。 MLP-Mixer可以提供比普通转换器更高效的计算,因为不需要使用键查询乘法计算亲和矩阵。 高效的转换器通常使用近似的消息传递,这会导致任务间的性能下降。 我们的CONTAINER统一使用混合亲和性矩阵同时执行全局和局部信息交换,而CONTAINER- light关闭动态亲和性矩阵,用于高分辨率特征映射,以减少计算量。 尽管关闭动态关联矩阵会略微阻碍分类性能,但与ViT和ResNet等流行的主干相比,CONTAINER-LIGHT仍然为下游任务提供了有效和高效的泛化。
Transformers for Vision.
Transformers支持高度的并行性,并能够捕获输入中的长期依赖关系。 因此,Transformers在图像[14,5]、音频[2]、多模态[17,21,20]和语言理解[13]等方面逐渐超过了CNN[34]和RNN[25]等架构。 在计算机视觉中,非局部神经网络[59]被提出用于捕获远距离交互,以补偿神经网络捕获的局部信息,用于目标检测[27]和语义分割[16,29,71,65]。 但是,这些方法使用Transformers作为细化模块,而不是将Transformers作为一等citizen。 ViT[14]在计算机视觉中引入了第一个纯Transformer模型,并在非公开的JFT数据集上进行了大规模的预训练,从而超越了CNN。 DeiT[52]在ImageNet-1k上从头训练ViT,取得了比CNN更好的性能。 DETR[5]使用Transformer作为编码器和解码器架构来设计第一个端到端目标检测系统。 Taming Transformer[15]使用矢量量化[40]GAN和GPT[42]生成高质量的高分辨率图像。 由于DETR在目标检测方面的成功,变形器被广泛应用于语义分割[69]、姿态估计[63]、轨迹估计[38]、3D表示学习以及使用MOCO v3[7]和DINO[6]的自我监督学习等任务。