ViT看到的和CNN的是一样的吗?

Do Vision Transformers See Like Convolutional Neural Networks?

https://arxiv.org/abs/2108.08810

摘要:迄今为止,卷积神经网络(CNN)已成为视觉数据的事实模型。最近的工作表明,(视觉)Transformer模型(ViT)可以在图像分类任务上实现相当甚至更高的性能。这就提出了一个中心问题:视觉Transformer是如何解决这些任务的?他们是像卷积网络一样工作,还是学习完全不同的视觉表现?通过分析ViT和CNN在图像分类基准上的内部表示结构(internal representation structure),我们发现这两种架构之间存在显著差异,例如ViT在所有层上都有更统一的表示。我们探索了这些差异是如何产生的,发现了自注意和ViT残差连接所起的关键作用,自注意使全局信息得以早期聚合,ViT残差连接强烈地将特征从较低层传播到较高层。我们研究了空间定位的影响,证明了在不同分类方法下,VIT成功地保留了输入的空间信息,且效果显著。最后,我们研究了(预训练)数据集规模对中间特征和迁移学习的影响,最后讨论了与新架构(如MLP Mixer)的联系。

1 引言

在过去几年中,视觉任务深度学习的成功在很大程度上依赖于卷积神经网络[20,16]。这在很大程度上是由于卷积层编码的空间等变的强大归纳偏置,这是学习通用视觉表示的关键,便于迁移和强大的性能。然而,值得注意的是,最近的工作已经证明,Transformer神经网络在大规模图像分类任务中具有同等或优越的性能[14]。这些视觉Transformer(ViT)的工作方式与语言[13]中使用的Transformer几乎相同,使用自注意,而不是卷积,跨位置聚合信息。这与之前的大量工作形成对比,之前的工作重点是更明确地结合图像特定的归纳偏置[30,9,4]

这一突破突出了一个基本问题:视觉Transformer如何解决这些基于图像的任务?它们是否像卷积一样,从头开始学习相同的归纳偏置?或者它们在建立新的任务表示法?尺度在学习这些表征中的作用是什么?在本文中,我们研究了这些问题,揭示了VIT和CNN之间的关键差异。具体而言,我们的贡献是:

•    我们调查了ViT和CNN的内部表征结构,发现两个模型之间存在显著差异,例如ViT具有更统一的表征,较低层和较高层之间具有更大的相似性。

•    通过分析局部/全局空间信息的利用方式,我们发现ViT在较低层比ResNet包含更多的全局信息,从而在数量上形成不同的特征( leading to quantitatively different features)。

•    尽管如此,我们发现在较低层次融入局部信息仍然至关重要,大规模的预训练数据有助于早期注意层学习做到这一点。

•    我们研究了ViT的统一内部结构,发现ViT中的跳连比RESNET中的影响更大,对性能和表示相似性有很大影响。

•    考虑到将来可能用到目标检测上,我们检查输入空间信息的保存情况,发现空间定位和分类方法之间的联系。

•    我们研究了数据集规模对迁移学习的影响,线性探测器研究揭示了数据集规模对高质量中间表征的重要性。

2    相关工作

开发非卷积神经网络来处理计算机视觉任务,特别是Transformer神经网络[44]一直是一个活跃的研究领域。先前的研究已经着眼于局部多头自注意,局部的范式是来自卷积的感受野[30,36](编者注:[30]Image Transformer,[36]SASA),将CNN与自注意直接结合[4,2,46],或将Transformer应用于较小尺寸的图像[6,9]。与之相比,Vision Transformer[14]对Transformer架构的修改更少,因此与CNN相比尤其有趣。自其发展以来,最近也有研究分析ViT的各个方面,特别是鲁棒性[3,31,28]和自监督的效果[5,7]。最近的其他相关工作着眼于设计混合ViT CNN模型[49,11],利用模型之间的结构差异。Transformer和CNN之间的比较最近也在文本领域进行了研究[41]。

我们的工作集中在VIT的表征结构上。为了研究ViT表示,我们利用了神经网络表示相似性的技术,这允许在神经网络内和神经网络之间对表示进行定量比较[17,34,26,19]。这些技术非常成功地洞察了不同视觉网络结构的特性[29,22,18]、语言模型中的表示结构[48,25,47,21]、训练方法的动力学[33,24]和特定领域的模型行为[27,35,38]。我们在研究中还应用了线性探测器,这对于分析视觉[1]和文本[8,32,45]模型中的学习表征非常有用。

3    背景和实验设置

我们的目标是了解与CNN相比,VIT表示和解决图像任务的方式是否存在差异。基于Dosovitskiy等人[14]的结果,我们采用了一组具有代表性的CNN和ViT模型——ResNet50x1、ResNet152x2、ViT-B/32、ViT-B/16、ViT-L/16和ViT-H/14。除非另有规定,模型是在JFT-300M数据集[40]上训练的,尽管我们也调查了在ImageNet ILSVRC 2012数据集[12,37]和标准迁移学习基准[50,14]上训练的模型。我们使用各种分析方法来研究这些模型的层表示,从而对这些模型的功能有了许多深入的了解。我们在附录A中提供了实验设置的更多细节。

表示相似性和CKA(中心核对齐,Centered Kernel Alignment):

分析神经网络的(隐藏)层表示具有挑战性,因为它们的特征分布在大量神经元上。这种分布式的特性也使得在神经网络中对表示进行有意义的比较变得困难。中心核对齐(CKA)[17,10]解决了这些挑战,实现了网络内和网络间表示的定量比较。具体来说,CKA将两个神经网络层的表示(激活矩阵)X\in R^{m\times p_1}Y\in R^{m\times p_2}作为输入,这两个神经层分别有p_1p_2个神经元,在相同的m个样本上进行评估。令K=XX^TL=YY^T表示两个层的Gram矩阵(根据层表示来测量一对数据点的相似性),CKA计算为:

\mathrm{CKA}(K,L)= \frac{{\mathrm{HSIC}(K,L)}}{\sqrt{{\mathrm{HSIC}(K,K)\mathrm{HSIC}(L,L)}} }     (1)

其中,HSIC是希尔伯特-施密特独立性评估(Hilbert-Schmidt independence criterion)[15]。给定中心矩阵( centering matrix )H=I_n-\frac{1}{n} 11^T和中心Gram矩阵(centered Gram matrices)K’=HKHL’=HLH,有{\mathrm{HSIC}(K,L)}={\mathrm{vec}(K’)}\cdot {\mathrm{vec}(L’)}/(m-1)^2,这些中心Gram矩阵之间的相似性。CKA相对于表示的正交变换(包括神经元的排列)具有不变性,归一化项确保了对各向同性缩放的不变性。这些特性使得对神经网络隐藏表示进行有意义的比较和分析成为可能。为了在我们的模型和任务中进行大规模工作,我们使用小批量近似HSIC[39]的无偏估计量,如[29]所提议的。

4    ViTs和卷积网络的表示结构

我们首先使用CKA来研究每个模型的内部表示结构。表示是如何在两种网络结构中传播的,是否存在功能差异的迹象?为了回答这些问题,我们在一个模型中取每对层X,Y,并计算它们的CKA相似性。注意,我们不仅从ViT/ResNet块的输出中获取表示,还从中间层获取表示,例如归一化层和ViT MLP中的隐藏激活。图1显示了多个VIT和ResNets.的热图结果。我们观察到两个模型架构之间的内部表示结构存在明显差异:

(1)ViT显示出更为一致的相似性结构,具有清晰的网格状结构( grid like structure)。

(2)ViT中较低和较高的层显示出比ResNet中更大的相似性,ResNet中相似性被划分在不同的(低/高)阶段。(编者注:指ResNet低层和低层相似度大,高层和高层相似度大)

图1:ViT和卷积网络的表示结构显示出显著差异,VIT在整个模型中具有高度相似的表示,而ResNet模型在较低层和较高层之间显示出更低的相似性。我们绘制了不同模型架构的所有层对之间的CKA相似性。结果显示为热图,x轴和y轴表示从输入到输出的图层的索引。我们观察到ViT具有相对均匀的层相似性结构,具有清晰的网格状图案,并且较低层和较高层之间的相似性较大。相比之下,ResNet模型在相似性结构上表现出明显的阶段性,较低层和较高层之间的相似性较小。

我们还执行跨模型比较,从ViT中获取所有层X,并与ResNet中的所有层Y进行比较。我们观察到(图2),ResNet的前半部分(60层)与ViT层的前1/4部分相似(We observe (Figure 2) that the lower half of 60 ResNet layers are similar to approximately the lowest quarter of ViT layers)。特别地,需要在ResNet中有更多的较低层来计算与ViT较低层相似的表示。ResNet的上半部分与ViT层接下来的1/3部分大致相似。最后三分之一的ViT层与所有ResNet层不太相似,可能是因为这组层主要操纵CLS token表示,在第6节中进一步研究。

图2:ViT和ResNet的模型间CKA热图表明,ResNet中数量较多的低层类似于数量更少的ViT低层。我们计算了两种不同ViT模型的CKA热图,将ViT的所有层与ResNet的所有层进行比较。我们观察到,ResNet层的前半部分层与ViT前1/4部分相似。剩余一半的ResNet与ViT接着的三分之一部分层相似,ViT的高层与ResNet的高层到低层都不同。

综上所述,这些结果表明:

(i)ViT较低层以不同于ResNet较低层的方式计算表示;

(ii)ViT也更强烈地在较低层和较高层之间传播表示;

(iii)ViT的最高层对ResNet具有完全不同的表示。

5    层表示中的局部和全局信息

在上一节中,我们观察到ViT中较低层和较高层之间有更大的相似性,并且我们还看到ResNet需要更多较低层来计算与较小ViT较低层集相似的表示。在本节中,我们将探讨造成这种差异的一个可能原因:两个模型在整合全局信息的能力上的差异。在ViT中,早期自注意层聚合了多少全局信息?CNN在早期具有固定的局部感受野,其特征是否存在明显的差异?(Are there noticeable resulting differences to the features of CNNs, which have fifixed, local receptive fifields in early layers? )在研究这些问题时,我们展示了全局表征的影响,以及规模和自注意距离之间惊人的联系。

分析注意距离:

我们首先分析ViT自注意层,这是ViT从其他空间位置聚集信息的机制,在结构上与CNN的固定感受野大小非常不同。每个自注意层包含多个自注意头部,对于每个头部,我们可以计算查询patch位置与其关注位置之间的平均距离。这揭示了每个自注意层为表示聚合了多少局部和全局信息。具体来说,我们通过每个注意力头部的注意力权重对像素距离进行加权,并平均5000多个数据点,结果如图3所示。与Dosovitskiy等人[14]的观点一致,我们观察到,即使在ViT的最底层,自注意层也混合了局部头部(小距离)和全局头部(大距离)。这与CNN形成对比,CNN硬编码为在较低层仅局部参与。在更高层次上,所有自注意头都是全局性的。

图3:绘制注意力-头部平均距离图显示,较低的ViT层关注局部和全局,而较高的ViT层主要包含全局信息。对于每个注意头,我们计算它关注的像素距离,通过注意权重加权,然后平均5000个数据点,得到平均注意头距离。我们根据ViT中两个最低层和两个最高层的平均注意距离绘制头部,观察到较低层同时关注局部和全局,而较高层完全关注全局。

有趣的是,我们看到了规模对注意力的明显影响。在图4中,我们观察了仅在ImageNet上进行训练时的注意距离(无大规模预训练),这导致ViT-L/16和ViT-H/14的性能大大降低[14]。与图3相比,我们看到,由于数据不足,ViT无法在早期的层中学习局部参与。总之,这表明在图像任务的早期使用局部信息(CNN中,局部模式是被硬编码)对于强大的性能非常重要。

图4:训练数据越少,低层注意力就越不会学习到局部模式。将结果与图3进行比较,我们发现仅在ImageNet上进行训练会导致较低层无法学习更多的局部模式。仅在ImageNet上训练时,这些模型的性能也要差得多,这表明结合局部特征(CNN中,局部模式是被硬编码)可能对强大的性能很重要。(另见图C.5。)

访问全局信息是否会产生不同的功能?图3的结果表明,VIT在其低层比CNN能够访问更多的全局信息。但这会导致不同的学习特征吗?作为一项干预性测试,我们从第一个编码器块中获取ViT注意头的子集,子集范围从对应于大多数局部注意头的子集到对应于大多数全局注意头的表示的子集。然后,我们计算这些子集和ResNet的低层表示之间的CKA相似性。

(原文:But does this result in different learned features? As an interventional test, we take subsets of the ViT attention heads from the fifirst encoder block, ranging from the subset corresponding to the most local attention heads to a subset of the representation corresponding to the most global attention heads. We then compute CKA similarity between these subsets and the lower layer representations of ResNet.)

结果如图5所示,根据CKA相似性绘制了每个子集的平均距离,清楚地表明,随着平均注意距离的增加,相似性单调减少,证明访问更多的全局信息也会导致与ResNet较低层的局部感受野计算出的特征在定量上的不同

(原文:The results, shown in Figure 5, which plot the mean distance for each subset against CKA similarity, clearly show a monotonic decrease in similarity as mean attention distance grows, demonstrating that access to more global information also leads to quantitatively different features than computed by the local receptive fifields in the lower layers of the ResNet.)

图5:ResNet的低层表示与ViT的局部注意头对应的表示最为相似。我们在第一个编码块中获取ViT注意头的子集,范围从最局部的注意头(最小平均距离)到最全局的注意头(最大平均距离)。然后,我们计算这些子集和ResNet中较低层表示之间的CKA相似性。我们观察到,较低的ResNet层与ViT的局部注意头学习的特征最为相似,并且随着更多的全局信息的加入,相似性单调下降,这表明全局注意头学习到定量上不同的特征(global heads learn quantitatively different features)。

有效感受野:我们通过计算ResNet和ViT的有效感受野[23]得出结论,结果如图6和附录C所示。我们观察到,ViT的低层有效感受野确实比ResNet的大,而当ResNet的有效感受野逐渐增大时,ViT感受野在网络的中途变得更加全局化。ViT感受野也表现出对其中心patch的强烈依赖性,这是由于其强烈的残差连接,将在下一节中进行研究。正如我们在附录C中所示,在注意力子层中,在残差连接之前的感受野显示出对这个中央patch的依赖性要小得多。

图6:ResNet有效感受野高度局部性,并逐渐增长;ViT有效感受野由局部向全局转移。我们测量不同层的有效感受野,作为特征图(在残差连接后获取)中心位置梯度相对于输入的绝对值。对于32个随机选择的图像,结果在每个特征图的所有通道上平均。(We measure the effectivereceptive fifield of different layers asthe absolute value of the gradientof the center location of the featuremap (taken after residual connec�tions) with respect to the input. Re�sults are averaged across all chan�nels in each map for 32 randomly�selected images.)

6    通过跳连进行的表示传播

上一节的结果表明,由于访问全局信息,VIT在较低层学习到不同于ResNets表示,这解释了第4节中观察到的表示结构的一些差异。然而,ViT表示的高度一致性(图1)也表明,较低层的表示会如实地传播到较高的层。但这是怎么发生的呢?在本节中,我们将探讨跳连在ViT和ResNets的表示传播中的作用,发现ViT跳连具有很高的影响力,具有从保留CLS(类)token表示(在较低层)到空间token表示(在较高层)的明显相位转移(编者注:相位转移参看图7右图)。

原文:with a clear phase transition from preserving the CLS (class) tokenrepresentation (in lower layers) to spatial token representations (in higher layers).

与Transformer一样,VIT包含跳连(也称为identity or shortcut),这些连接添加在(i)自注意层和(ii)MLP层之后。为了研究它们的影响,我们绘制了范数比||z_{i} ||/||f(z_{i}) ||,其中z_i是跳连前的第i层的隐藏表示,f(z_{i})是长分支的对z_i的变换(即MLP或自注意)。

结果如图7所示(图E.2中有额外的余弦相似性分析)。左侧的热图显示了不同token表示的| | zi | |/| f(zi)|。我们观察到一个引人注目的相变:在网络的前半部分,CLStoken(token0)表示主要由跳连分支(高范数比)传播,而空间token表示有很大的贡献来自长分支(低范数比)。引人注目的是,在网络的后半部分,情况正好相反。

图7:ViT中的大多数信息通过跳连传递。在ImageNet和ResNet上训练的ViT-B/16的跳连(标识)和长分支之间表示范数的比较。对于ViT,我们分别显示CLStoken和表示的其余部分。(左)显示前几个token(token0是CLS)的比率,(右)显示所有token的平均值。Figure 7: Most information in ViT passes through skip connections. Comparison of representation norms betweenthe skip-connection (identity) and the long branch for ViT-B/16 trained on ImageNet and a ResNet. For ViT, we show theCLS token separately from the rest of the representation. (left) shows the ratios separated for the fifirst few tokens (token 0is CLS), (right) shows averages over all tokens.

右窗格显示了ResNet50、ViT CLStoken和ViT空间token中这些范数比的折线图,另外还表明,与ResNet相比,跳连在ViT中的影响更大:我们观察到ViT在整个过程中的范数比更高,我们还观察到从CLS到空间token的相位转移(显示了MLP和自注意层)。

无跳连的ViT表征结构:范数比结果强烈表明,跳连在ViT表征结构中起着关键作用。为了进行干预性测试,在ViT中,我们对第i个块删除跳连,再进行模型训练,并绘制CKA表示热图。图8中的结果表明,删除块中的跳连会将两侧的层表示分隔开。(我们注意到,从中间块删除跳连时,性能下降了4%)。这说明了跳连传播表示对于图1中ViT的统一相似性结构的重要性。

图8:在块i中没有任何跳连的情况下训练的ViT模型显示块i前后各层之间的表示相似性非常小。我们训练了几个ViT模型,在块i处没有任何跳连,以改变i,从而对表征结构的影响进行干预性测试。对于没有跳连的中间块,我们观察到性能下降了4%。我们还观察到,删除块i上的跳连会将相似性划分为块i之前与块i之后。这表明了在ViT的标准统一表示结构中跳连的重要性。

7    空间信息和定位

到目前为止,关于自注意在VIT中聚集空间信息的作用,以及将表征忠实传播到更高层的跳连的结果,提出了一个重要的后续问题:VIT的空间定位能力如何?具体来说,输入的空间信息是否保存在ViT的更高层?在这方面,它与ResNet相比如何?对这一点的肯定回答对于ViT在分类之外的应用至关重要,例如目标检测。

我们首先比较ViT和ResNet更高层token表示与输入patch的token表示。回想一下,ViT token具有相应的输入patch,因此具有相应的输入空间位置。对于ResNet,我们将token表示定义为特定空间位置的所有卷积通道。这也为它提供了相应的输入空间位置。然后,我们可以获取一个token表示,并用输入图像块计算不同位置的CKA分数。使用不同位置的输入图像块计算其CKA分数。图9显示了不同token(及其空间位置标签)的结果。

图9:ViT的更高层比ResNet更忠实地维护空间位置信息。每个热图都显示了模型最后一个块中的单个token表示与输入图像(输入图像被划分为不重叠的patch)之间的CKA相似性。我们观察到,ViT token与其在图像中的相应空间位置具有最强的相似性,但与图像边缘的空间位置相对应的token(例如token0)额外显示出与其他边缘位置的相似性。这表明,即使在ViT的最后一层,输入的空间信息也得到了保留。相比之下,ResNet“token”(特定空间位置的特征)在空间上的区分性要小得多,在广泛的输入空间位置上表现出相似性。有关其他图层和结果,请参见附录。

对于ViT,我们观察到对应于图像边缘位置的token类似于位于边缘的图像块,但对应于内部位置的token定位良好,其表示与对应图像块最为相似。相比之下,对于ResNet,我们可以看到明显较弱的局部化(尽管图D.3显示了早期层的改进)

原文:For ViT, we observe that tokens corresponding to locations at the edge of the image are similar to edge image patches, but tokens corresponding to interior locations are well localized, with their representations being mostsimilar to the corresponding image patch. By contrast, for ResNet, we see signifificantly weaker localization(though Figure D.3 shows improvements for earlier layers.)

影响架构之间这种明显差异的一个因素是,ResNet训练时使用全局平均池步骤进行分类,而ViT有一个单独的分类(CLS)token。为了进一步检验这一点,我们测试了一个使用全局平均池(GAP)进行训练的ViT网络结构(训练详情见附录A)。图10所示的结果表明,全局平均池化确实减少了更高层的定位能力。更多结果见附录D节。

图10:当使用全局平均池(GAP)而不是CLStoken进行训练时,VIT显示出不太清晰的定位(比较图9)。我们在token和不同的输入图像patch之间绘制相同的CKA热图,但是对于使用全局平均池化(如ResNet)而不是CLStoken训练的ViT模型。我们观察到明显较少的定位。

定位和线性探头分类:

之前的结果通过直接比较每个token和输入patch来研究定位能力。为了更进一步,我们将分别使用每个token来使用线性探测器执行分类。我们在模型的不同层上进行这项工作,训练线性探测器,用closed-form few-shot线性回归对图像标签进行分类,类似于Dosovitskiy等人[14](详情见附录A)。结果如图11所示,进一步的结果如附录F所示。左窗格显示了对单个token进行训练的分类器的平均准确度,其中我们看到带有GAP模型token的ResNet50和ViT在更高层次上表现良好,而在使用CLStoken训练的标准ViT中,空间token表现不佳——可能是因为它们的表示在更高的层上仍然在空间上局部化,这使得全局分类具有挑战性。支持这一点的是右窗格中的结果,该结果显示,来自ViT GAP模型的单个token在最高层的精度与汇集在一起的所有token相当。根据图9的结果,这表明GAP模型中的所有高层token都学习类似的(全局)表示。

图11:线性探头的空间定位实验。我们根据从ViT-B/32模型的不同层提取的表示,在10 shot的ImageNet分类上训练线性分类器。然后,我们绘制探测器精度与(归一化)层数的关系图。左:我们分别针对每个token训练分类器,并报告所有token的平均精度(不包括ViT CLS模型的CLStoken)。右:使用分类token或全局平均池(GAP)预训练的ViT模型的比较,然后使用聚合token表示的不同方法进行评估。

8    规模对迁移学习的影响

由Dosovitskiy等人[14]的结果推动,证明了数据集规模对高性能VIT的重要性,以及我们先前关于局部注意需要大规模数据的结果(图4),我们对数据集规模对迁移学习表征的影响进行了研究。

我们首先研究JFT-300M预训练数据集大小变化时对表示的影响。图12说明了ViT-B/32和ViT-L/16的结果。即使是整个数据集的3%,较低的层表示与完整数据集训练的模型非常相似,但较高的层需要更多的预训练数据来学习与大数据规模下相同的表示,尤其是对于大型号模型。在第G节中,我们研究了fine tune中表示的变化,发现了数据集的异构性。

图12:测量使用不同数据规模学习的表示的相似性显示了大型数据集对于更高层和更大模型表示的重要性。我们计算已在较小数据子集上训练的ViT模型与已在ViT-L/16(左)和ViT-B/32(右)上的完整数据上训练的模型在每个块上表示的相似性。我们观察到,虽然低层表示即使有10%的数据也具有很高的相似性,但更高的层和更大的模型需要更多的数据来学习相似的表示。

接下来,我们将研究数据集大小对更大的ViT-L/16和ViT-H/14模型的影响。具体地说,在图13的左窗格中,我们对JFT-300M上预训练模型和仅在ImageNet上预训练模型进行ImageNet类别线性分类探测器的训练。我们观察到,JFT-300M预训练模型即使使用中间层表示也能获得更高的精度,与仅在ImageNet上预训练的模型相比,绝对精度有30%的差距。这表明,对于较大的模型,较大的数据集尤其有助于学习高质量的中间表示。图13右窗格的结果进一步支持了这一结论,其中显示了不同ResNet和ViT模型上的线性探头,所有这些探头均在JFT-300M上预训练。我们再次看到,较大的ViT模型比ResNet学习到更强的中间表示。第F节中的其他线性探测器实验证明了迁移到CIFAR-10和CIFAR-100的相同结论。

图13:线性探头的实验。我们根据不同模型不同层的聚合表示,在10张照片的ImageNet分类上训练线性分类器。然后,我们绘制探测器精度与(归一化化)层数的关系图。左图:在JFT-300M或ImageNet上预训练并在ImageNet上使用线性探头评估的VIT的比较。右图:使用ImageNet上的线性探头对JFT-300m训练的ViT和ResNet模型进行比较。

9    讨论

鉴于卷积神经网络在计算机视觉突破中的核心作用,Transformer结构(与语言中使用的结构几乎相同)具有相似的性能是值得注意的。这就提出了关于这些网络结构是否与CNN以相同的方式工作的基本问题。利用表征相似性技术,我们发现VIT和CNN的特征和内部结构存在惊人的明显差异。对自注意和跳连强度的分析表明,早期的全局特征和强表征传播在ViTs中对这些差异所起的作用,同时也揭示了一些CNN特性,例如低层的局部信息聚合,对ViTs很重要,可以通过大规模数据训练来从零习得局部信息。我们通过对空间定位的研究,研究了VIT在分类之外的应用潜力,发现带有CLStoken的VIT具有很强的空间信息保存能力,有望在未来的目标检测中得到应用。最后,我们研究了大规模数据对迁移学习的影响,发现更大的ViT模型通过更大的预训练数据集发展出更强的中间表征。这些结果也与理解并行工作[42,43]提出的基于MLP的视觉网络结构非常相关,将在H部分进一步讨论,并共同回答关于VIT和CNN之间差异的中心问题,并为未来研究提出新方向。

附录

以下包括不同部分的其他细节和结果。

A    关于方法和实验设置的附加细节

为了了解ViT和CNN之间的系统差异,我们根据[14]中的性能结果,使用了一组具有代表性的每种类型的不同模型。具体而言,对于ViT,我们研究了ViT-B/32、ViTL/16和ViT-H/14,其中最小的模型(ViT-B/32)在JFT-300M[40]上进行预训练时,与ImageNet大型视觉识别挑战2012数据集[12,37]相比,显示出有限的改进,而最大的ViT-H/14在JFT-300M上进行预训练时,达到了最先进的水平[40]。ViT-L/16的性能接近于ViT-H/14[14]。对于CNN,我们看一下ResNet50x1,它在JFT-300M上预训练时也显示饱和性能,还有ResNet152x2,相比之下,随着预训练数据集大小的增加,它显示了较大的性能增益。正如Dosovitskiy等人[14]所述,这些ResNets 遵循BiT[16]首次提出的一些实现变更。

除了使用分类token(CLS)训练的标准视觉Transformer外,我们还使用全局平均池(GAP)训练VIT。在这些模型中,没有分类token,相反,Transformer最后一层中的token表示被平均并直接用于预测logit。GAP模型使用与CLS模型相同的超参数进行训练,但初始学习率设置为较低值0.0003。

对于模型内表示的分析,我们观察到从ImageNet绘制的图像表示与从JFT-300M绘制的图像表示之间没有显著差异。图1、2、9和10使用了JFT-300M数据集的图像,这些图像在训练期间未被看到,而图6、3、4、5、7、8和12使用了ImageNet 2012验证集的图像。图11和图13涉及在ImageNet 2012训练集上训练的10-shot probes ,在训练集的heldout部分上微调超参数,并在验证集上进行评估。

关于CKA实施的其他详细信息        为了计算CKA相似性分数,我们使用了[29]中介绍的minibatch CKA。具体地说,我们使用1024的batch size,我们无替换地总共抽样了10240个样本。我们重复20次,取平均值。改变确切批量大小(减少到128个)和CKA使用的样本总数(减少到2560个样本总数,重复10次)的实验对结果没有明显影响。

关于线性探头的其他详细信息。    我们按照Dosovitskiy等人[14]的观点,将线性探测训练为正则化最小二乘回归。我们将表示映射训练图像到 {\left\{ -1,1 \right\}}^N个目标向量,其中N是类的数量。可以高效地求得闭式解。

对于视觉Transformer,我们在不同Transformer层(每层表示一个完整的Transformer块,包括自注意和MLP)的输出处,对单个token的表示或所有token的平均表示进行线性探测。对于ResNet,我们在每个残差块(包括3个卷积层)的输出处取得表示。特征映射的分辨率在整个模型中都会发生变化,因此我们执行一个额外的池化步骤,使特征映射的空间大小与最后一个阶段相同。此外,ResNet与VIT的不同之处在于,在整个模型中,通道的数量会发生变化,早期层中的通道较少。早期层中较小的通道数可能导致线性探头的性能较差。为了补偿这一点,在合并之前,我们将特征图拆分为patch并展平每个patch,以便获得接近最终块中通道数量的通道数。文中给出的所有结果包括这一额外的修补步骤;然而,我们发现,在简单池化的基础上,它只带来了非常微小的改进。

原文:however, we have found that it brings only a very minor improvement on top of simple pooling.

B    其他代表性结构结果

在这里,我们包括一些更多的CKA热图,这些热图提供了关于模型表示结构的见解(与正文中的图1、图2相比)。我们观察到类似的结论:ViT表示结构在各层之间具有更均匀的相似结构,将ResNet与ViT表示进行比较,发现早期ResNet层中有很大一部分类似于数量较少的ViT层。

图B.1:其他CKA热图结果。上图显示了ViT-B/32的CKA热图,我们也可以在这里观察到较低层和较高层之间的强烈相似性以及网格状、统一的表示结构。底部显示了(i)与R50相比的ViT-B/32,我们再次看到R50前60层与ViT-B/32前25层相似,其余层彼此最相似(ii)与R152相比的ViT-H/14,我们看到R152前100层与ViT-H/14前30层最相似。

C    其他局部/全局信息结果

在图C.1、C.2和C.3中,我们提供了ViT-B/32、ResNet-50和ViT-L/16所有层的有效感受野的完整图,这些图是在文本中图6所示的残差连接后获得的。在图C.4中,我们显示了在残差连接之前采集的ViT-B/32和ResNet-50的感受野。尽管ViT MLP子层的残差前感受野类似于图C.1中的残留后感受野,但注意子层的残差前感受野相对来自相应输入patch的贡献较小。这些结果支持我们在第5节中关于注意头的全局性质的发现,但表明网络表征仍然与输入patch位置相关,因为第6节研究了跳连的强大贡献。ResNet-50残差前感受野与残差后感受野相似。

原文:Although the pre-residual receptive fifields of ViT MLP sublayers resemble the post-residual receptive fifields in Figure C.1, the pre-residualreceptive fifields of attention sublayers have a smaller relative contribution from the corresponding input patch.

图C.1:所有ViT-B/32子层的残差后感受野
图C.2:所有ResNet-50块的残差后感受野
图C.3:所有ViT-L/16子层的残差后感受野。
图C.4:所有ViT-B/32子层和ResNet-50块的残差前感受野。 在ViT-B中,我们看到,与图C.1所示的残差后感受野相比,后期注意子层的残留前感受野不受中心patch支配。 因此,尽管后期的注意子层将整个输入图像信息集成,但由于强跳连,网络表示仍然是具有定位能力。 ResNet-50残差前感受野通常类似于图C.2所示的残差后感受野。感受野在第4、8和14区出现“收缩”, 这三个块都是各自阶段中的第一个块,我们只绘制较长的分支,而不是shotcut。如图C.2所示,在计算这些分支总和后,感受野不会收缩。 Figure C.4: Pre-residual receptive fifields of all ViT-B/32 sublayers and ResNet-50 blocks. In ViT-B, we see that the pre-residual receptive fifields of later attention sublayers are not dominated by the center patch, in contrast to the post-residual receptive fifields shown in Figure C.1. Thus, although later attention sublayers integrate information across the entire input image, network representations remain localized due to the strong skip connections. ResNet-50 pre-residual receptive fifields generally resemble the post-residual receptive fifields shown in Figure C.2. The receptive fifield appears to “shrink” at blocks 4, 8, and 14, which are each the fifirst in a stage, and for which we plot only the longer branch and not the shortcut. The receptive fifield does not shrink when computed after the summation of these branches, as shown in Figure C.2.
图C.5:ViT-B/32在JFT-300M和仅在ImageNet上接受训练时的注意力-头部距离图显示,即使在较小的数据集上,ViT-B/32也能学会局部关注。与正文中的图3进行比较。与(ii)仅在ImageNet上进行训练相比,当(i)在JFT上对ImageNet进行微调时,ViTL和ViT-H的性能有了很大的提高,而ViT-B/32在这两种设置中的性能相似。我们还观察到,当仅在ImageNet上接受训练时,ViT-H、ViT-L在最底层并没有学习到局部参与(图3),而在这里我们看到ViT-B/32仍然学习到局部关注——这表明性能和学习局部参与的注意力头之间存在联系。 Figure C.5: Plot of attention head distances for ViT-B/32 when trained on JFT-300M and on only ImageNet shows that ViT-B/32 learns to attend locally even on a smaller dataset. Compare to Figure 3 in the main text. While ViT�L and ViT-H show large performance improvements when (i) fifinetuned on ImageNet having been pretrained on JFT compared to (ii) being trained on only ImageNet, ViT-B/32 has similar performance in both settings. We also observe that ViT-H, ViT-L don’t learn to attend locally in the lowest layers when only trained on ImageNet (Figure 3), whereas here we see ViT-B/32 still learns to attend locally — suggesting connections between performance and heads learning to attend locally
图C.6:JFT-300M上ViT-H/14的额外注意头距离图。与正文中的图3进行比较。对于每个注意头,我们计算它关注的像素距离,通过注意权重加权,然后平均5000个数据点,得到平均注意头距离。我们根据ViT中两个最低层和两个最高层的平均注意距离绘制头部,观察到较低层同时关注局部和全局,而较高层完全关注全局

D    定位

下面我们将介绍其他定位结果:在模型更高层中,计算不同输入patch和token之间的CKA。我们展示了ViT-H/14、ViT-L/16、ViT-B/32和ResNet附加层的结果。

图D.1:ViT-H/14的定位热图。我们看到,ViT-H/14在最后一个块和倒数第二个块中也有很好的定位,在图像内部具有相应位置的token与这些位置的图像patch最相似,而边缘上的token与许多边缘位置相似。
图D.2:ViT-L/16和ViT-B/32其他更高层的附加定位热图。我们看到,模型在更高层中(如预期的)仍然很好地定位,除了最后一个块。
图D.3:最终层以外的ResNet各层的定位热图。与正文中的图9相比,我们看到ResNet中低于最终层的层显示出更好的局部化,但仍然不如CLS训练的ViT模型清晰。
图D.4:线性探头空间定位。我们在每个单独的token上训练一个线性探测器,并绘制测试集的平均精度,以百分比为单位。 在这里,我们将每个token的结果绘制为3个模型中的层子集:使用分类token(CLS)或全局平均池(GAP)训练的ViT-B/32,以及ResNet50。 注意不同子图中的不同数值比例。Figure D.4: Linear probes spatial localization. We train a linear probe on each individual token and plot the average accuracy over the test set, in percent. Here we plot the results for each token a subset of layers in 3 models: ViT-B/32 trained with a classifification token (CLS) or global average pooling (GAP), as well as a ResNet50. Note the different scales of values in different sub-plots.

E    其他的表示传播结果

图E.1显示了在MLP和自注意块跳连前后的表示的范数之比。在这两种情况下,我们观察到,CLStoken表示在前几层中基本保持不变,而随后的层则快速地改变它,主要是通过MLP块。相反,表示图像patch的空间token的表示的大部分变化发生在早期层,在后期层中变化不大。查看图E.2中输出之间表示的余弦相似性证实了这些发现:虽然空间token表示在早期层中变化更大,但后期块的输出与跳连上的表示非常相似,而CLStoken的情况正好相反。

图E.1:ViT-B/32上每个块的隐藏表示的MLP或自注意块的跳连之间的表示范数比||z_{i} ||/||f(z_{i}) ||。每个token分别显示(token0为CLS)。
图E.2:ViT中的大多数信息通过跳连传递。在ImageNet上训练的ResNet v1和ViT-B/16的跳连和较长分支之间表示的余弦相似性。 对于ViT,我们分开显示CLStoken和表示的其余部分。

F    线性探头的附加结果

在这里,我们提供了补充主要论文图11和13的线性探测器的额外结果。特别是,我们在CIFAR-10和CIFAR-100数据集上重复线性探测,并在某些情况下添加更多模型进行比较。对于CIFAR-10和CIFAR-100,我们使用训练集的前45000个图像进行训练,最后5000个图像进行验证。其他结果如图F.1、F.2、F.3所示。

图F.1:线性探头的实验。关于在JFT-300M和ImageNet上预训练的模型的其他结果(图13左)-添加了ViT-B模型和CIFAR-10/100数据集
图F.2:线性探头的实验。ViT和ResNet模型比较的附加结果(图13右侧),在CIFAR-10/100数据集上。
图F.3:线性探头的实验。在CIFAR-10/100数据集上比较ViT和ResNet模型(图11右)的附加结果。

此外,我们在本文中对结果进行了更详细的讨论。在图11(左)中,我们对评估ViT-B/32模型的不同方法进行了实验。我们在两个方面有所不同:

1)用于训练模型的分类器使用分类token(CLS)还是全局平均池化(GAP)

2)聚合表示的方式:只取第一个token(对于CLS模型,就是CLStoken)还是平均所有token,还是平均除第一个token之外的所有token。

有三个有趣的观察。首先,使用原始聚合方法的CLS和GAP模型(CLS模型就取第一个token,GAP模型就取GAP后的表示)的性能非常相似。第二,用池化表示评估的CLS模型与取第一个token表示的模型的评估一致,直到最后几个层,此时性能平台。这表明CLStoken对后一层中的信息聚合起着至关重要的作用。第三,在使用GAP分类器训练的模型的第一个token上训练的线性探测器在早期层的性能非常差,但在后一层中性能显著提高,几乎与最后一层中标准GAP评估的性能相匹配。这表明,在GAP模型的后几层中,所有token在很大程度上都是可互换的。

为了更好地理解单个token中包含的信息,我们对三种模型的所有单个token进行了线性探测训练:使用CLS或GAP训练的ViT-B/32,以及ResNet50。图11(右)绘制了这些每token分类器的平均性能。有两个主要的观察结果。首先,在ViT CLS模型中,在单个token上训练的探测性能非常差,这证实了CLStoken在聚合全局类相关信息方面起着至关重要的作用。第二,在ResNet中,探测器在早期层中表现不佳,但在模型结束时表现更好。这种行为在性质上类似于ViT GAP模型,这可能是意料之中的,因为ResNet也使用GAP分类器进行训练。

G    数据规模对迁移学习的影响

最后,我们研究了在JFT-300M上预训练的模型在fine tune过程中表示的变化程度,发现与数据集相关的非常显著的变动。对于像ImageNet或Cifar100这样与JFT300M的自然图像设置非常相似的任务,表示形式不会有太大变化。对于医学数据(糖尿病视网膜病变检测)或卫星数据(RESISC45),变化更为明显。在所有情况下,前四到五层似乎都保存得很好,即使模型大小不同。这表明在那里学到的特性很可能与任务无关,如图G.1和图G.2所示。

图G.1:(顶部)与微调前相比,ViT-B/16模型各块表示的相似性。(底部)不同ViT模型尺寸的每个块表示的相似性。
图G.2:不同ViT模型尺寸表示的相似性


H    MLP Mixer的初步结果

图H.1显示了各种MLP Mixer模型的表示。这些表示似乎也非常清晰地划分为不同的、不相关的块(distinct, uncorrelated blocks),开头是一个较小的块,后面是一个较大的块。这与模型大小无关。如图H.2所示,将这些模型与ViT或ResNet进行比较,可以清楚地看出,总体而言,这些模型的行为与ViT比ResNet更为相似(c.f.图1和图2)

图H1
图H2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容