点击下方卡片,关注 「AI视界引擎」 公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
Transformers 是一种革命性的架构,最初在自然语言处理(NLP)领域提出,也在计算机视觉领域取得了显著的成功。它们成功的核心在于注意力机制,该机制建模了Token之间的关系。
虽然NLP中的分词过程天然地确保了一个Token不会包含多个语义,但Vision Transformer (ViT) 的分词利用的是均匀分割的方形图像块中的Token,这可能导致一个Token中混杂多种视觉概念。
在本研究中,作者 Proposal 用超像素分词替代ViT中的基于网格的分词方式,这种分词方式使用超像素来生成能够封装单一视觉概念的Token。不幸的是,超像素的多样形状、大小和位置使得将其整合到ViT分词中颇具挑战性。
作者的分词Pipeline由预聚合提取和超像素感知聚合组成,克服了超像素分词带来的挑战。大量实验表明,作者的方法与现有框架具有很强的兼容性,并且在各种下游任务中增强了ViT的准确性和鲁棒性。
- Introduction
Transformers [51]最初是在自然语言处理(NLP)领域提出的,已经在机器翻译[5, 19, 55]、自然语言理解[27, 34]和文本生成[31, 41]等多样化的任务中展现了卓越的表现。Transformers 的变革性力量再次得到了大规模语言模型 [7] 的发布所证实,后者继续在作者熟知的NLP领域引发革命。同样地,视觉Transformer(ViT)[14]将Transformer架构扩展到了图像识别领域,彻底改变了计算机视觉研究的格局。随后的研究致力于将ViTs应用于各种视觉任务,包括检测、分割、生成[15, 38, 60]以及多模态应用[42],使得ViT成为了计算机视觉中的主导架构。
在自然语言处理(NLP)领域,Transformer的成功通常归因于其注意力机制,该机制通过建模输入文本之间的关系来捕捉上下文依赖性,而这些文本被表示为Token。NLP中广泛采用的分词方法,如字节对编码(Byte Pair Encoding, BPE)[46]、WordPiece[47]和SentencePiece[29]等,首先将每个句子拆分为单词,然后进一步分解为更细致的Token。
例如,在对“Attention is All You Need”进行分词时,每个单词会被拆分为["Attention", "is", "All", "You", "Need"]。根据定义,这种初始的基于单词的拆分可以防止具有不同意义的多个单词融合成一个Token。
相比之下,在ViT及其变种中,固定尺寸的网格patches是token化的基础[14, 35, 50]。如图1所示,当使用未加处理的正方形图像patches作为tokens时,一个tokens可以同时包含两个或多个视觉概念,例如眼睛和毛皮。因此,这种方法与token化的核心原理相背离,即把原始输入转换为更小且更具结构的子单元以便进一步处理。
在本工作中,作者采用了超像素的概念设计了一种分词过程,该过程生成能够保留单个独立视觉概念的语义保持的分词单元。超像素是一张图像中具有相似属性(如颜色、纹理或位置)的相连像素的聚类,常被用作图像处理的基本单元。图1展示了利用超像素如何改变ViT的分词方式。将像素分组为超像素将图像划分为能够捕捉类似语义信息的连贯区域,从而防止每个分词中混入无关的语义信息。
尽管超像素在分词方面具有优势,但由于每个超像素的形状和大小不同,在将其作为ViT Token使用时存在显著挑战。在ViT中,Token是从预定义位置的固定大小的正方形块通过简单的膨胀和线性投影生成的。由于超像素由不同数量的像素组成,实际上,ViT中的扁平化和线性投影操作与超像素不兼容。
此外,每个超像素的位置会根据图像动态变化。超像素位置的可变性使得直接应用为固定位置设计的ViT位置嵌入变得不可行。原生ViT操作的不足需要开发新的技术来解决不规则几何结构和构成问题,以充分利用超像素的固有优势。
作者因此提出了一种新颖的分词pipeline,该pipeline克服了上述问题,并能够有效地将超像素整合到ViT的分词中。
所提出的pipeline包含两个主要的技术组件:预聚集特征提取和超像素感知特征聚合。第一阶段准备用于后续超像素感知聚合的预聚集特征,其中利用聚合一操作去除超像素的不规则性和变异性。直接在输入图像上应用聚合一操作可能会导致严重的信息损失。通过训练预聚集特征提取器并在作者的特征聚合之前应用它,作者可以有效地避免这种潜在的信息损失。总体而言,这个两阶段的过程使所提出的分词方法能够在利用超像素优势的同时保留图像的重要细节。
作者展示了您的超像素token化视觉Transformer(SuiT)相比于 Baseline 模型的优势。SuiT在多种任务中表现更佳,包括ImageNet-1K分类[12]、分割[56]、迁移学习[66]和自监督学习[9]。作者还通过额外的测试分析了使用作者提出的token化Pipeline所获得的特性。此外,作者可视化表明,与基于网格的token化方法相比,作者的token化方法确实能够更有效地保留图像的语义信息。
作者的贡献可以总结如下:
-
作者提出了一种有效的基于超像素的 Token 方法,克服了使用超像素所面临的挑战。作者实验证明,作者的 Token 方法产生的 Token 比基于网格的 Token 更好地保留了语义信息。
-
作者在图像分类、迁移学习、自我监督学习以及零样本分割实验中展示了该方法的有效性。
-
Related Work
基于超像素的视觉模型 超像素,作为一种具有感知意义的像素聚类,一直是计算机视觉领域的基础概念 [2, 11, 33]。此前的研究尝试在诸如分割[30, 37]和目标检测[18]等多个任务中使用超像素,但这些工作并未展示出超像素在多种视觉任务中的广泛适用性。
另一项近期的研究工作STViT [23],通过超像素样式的聚类在所有层中应用了超像素注意力机制,但在token层面进行操作,导致粒度比超像素更粗糙。CoC [36]借鉴了神经网络中的超像素概念,但没有进一步探索超像素token化。类似地,SPFormer [37] 使用基于超像素的表示方法,但需要专门的设计注意力模块,这使得它难以以即插即用的方式与现有的ViT架构集成。
与这些方法不同,作者的研究探索了一种简单而有效的超像素 Token 方法,该方法可以轻松应用于 Transformer 架构中,以实现多种通用任务。
分词方法 尽管大多数 ViT 变种主要侧重于通过使用简单的方形patches来改进 Backbone 架构和注意力机制,但也有一些研究探索了针对视觉任务的高级分词策略。Quadformer [44] 和 MSViT [16] 均提出了适应性分词策略,可以根据图像内容动态调整token分辨率。
SPiT [1] 和 sViT [28] 的研究与作者的工作最为相似,因为它们仅关注 Token 模块,而保留了 Backbone 网络不变,并且具有相似的研究动机。SPiT [1] 侧重从可解释人工智能(XAI)的角度分析这种 Token 方法,但没有探讨其在各种任务中的普适性。此外,SPiT [1] 在没有梯度特征的情况下表现下降,因为其缺乏丰富的特征,由于其无监督的学习特征提取机制。另外,SPiT [1] 对其他学习范式(如自监督学习 [9])的应用性也没有进行研究。
sViT [28] 在追求语义保留的 Token 化方面也有相似的动机,但它仍然基于简单的边界框对 Token 进行划分,未能创建真正语义保留的 Token 。此外,将这些 Token 调整为方形形状破坏了 Token 内物体的视觉结构。这些设计上的缺陷导致在各种任务中的性能受限。
如上一节所述,作者提出了一种通过超像素进行语义保留的分词方法,并研究了该方法在各种任务中的性能,以及其在自我监督框架中的适应性。
- Preliminaries
在本节中,作者介绍了本工作中至关重要的概念和符号,旨在构建具有语义保留性的ViT Tokens,并采用超像素作为 Tokens。在第3.1节中,作者描述了超像素算法的工作机制;在第3.2节中,作者回顾了传统的ViT分词方法。随后,作者讨论了将超像素作为ViT的 Tokens 时所面临的研究所遇到的挑战。
3.1. Superpixel Algorithms
超像素是基于颜色、位置或其他相似性度量将图像像素聚类在一起的区域。它们通过将像素分组到与其潜在结构对齐的区域中,提供了图像的一种紧凑且有意义的表示。
给定一个输入图像 ,一个超像素算法 产生一个超像素索引图 。
其中, 表示超像素的数量,参数 控制颜色距离和位置距离之间的权衡,即 SLIC 中的紧凑性 [2]。
每个超像素
包含不同数量、形状和大小的像素。
3.2. Tokenization in Vision Transformers
在基于格网的Token化方法中,传统ViT及其变种[35, 42, 50]将输入图像划分为个大小为且互不重叠的Patch,每个Patch表示为,其中对应于每个Patch的索引。
每个Patch被展平成一个向量,并通过嵌入矩阵进行线性投影,其中为Tokens的维度。此外,还会注入其位置的Positional Embedding,形成输入Token。以上从Patch衍生出的Token集合,连同一个可学习的分类Token一起传递给ViT模型用于分类。
ViT的分词过程要求使用正方形且固定大小的片块,并且在统一位置获取。这些对图像片块的约束使得直接将超像素应用于ViT的分词变得具有挑战性。
首先,简单的展平和投影操作与具有多种尺寸和形状的超像素不兼容[25, 59, 62]。不同形状和像素数量的超像素的展平会生成长度不同的向量,这妨碍了简单的线性投影。其次,与具有固定位置的网格片块不同,超像素的位置依赖于具体的图片而不同。因此,依赖于固定位置的标准位置嵌入对于超像素来说不合适。
- Method
为了解决第三部分中提到的问题,作者提出了一种新颖的超像素分词Pipeline,有效地将每个超像素嵌入到单个Token中。图2展示了超像素分词的整体过程。作者提出的Pipeline包含两个组成部分:预聚合特征提取(第4.1节)和超像素感知特征聚合(第4.2节)。作者的聚合基于池化操作以解决超像素大小和形状不一致的问题。
然而,直接在RGB空间应用这种聚合可能会导致关键信息的丢失。为了避免这一潜在的风险,作者训练了一个预聚合特征提取器,并使用其输出作为超像素感知聚合的输入。这两个过程共同利用了基于超像素的分词优势,同时保留了关键的图像信息。
4.1. Pre-aggregate Feature Extraction
局部特征提取 作者首先使用一个简单的卷积块从输入图像中提取局部特征。作者采用了ResNet [17] 初始卷积块的设计,该设计由一个 卷积层、一个批量归一化层 [24] 和一个ReLU激活函数 [3] 组成。作者进行了一点修改,将ReLU替换为GELU [20],以与最近领域内的进展 [14, 35] 保持一致。给定输入图像 和卷积块,作者从中提取局部特征 。
位置特征 位置特征在Transformer中扮演着至关重要的角色,因为它们不了解输入Token的顺序。原始的Transformer Proposal 使用带有预定义频率的正弦位置编码 [51],而ViT则选择为每个预定义的位置使用可学习的位置嵌入 [14, 50]。
超像素具有高粒度的复杂位置信息。使用类似于ViT中的可学习位置嵌入是不够的,因为这需要大量的参数,即每个位置有维且总数为的可学习嵌入。为了保持参数效率,作者采用了带有可学习频率的正弦位置编码,这种编码已被证明能够有效地捕捉高频信息[49]。据作者所知,在Transformer的研究中还没有采用过这种位置编码方案,这也是适应作者设计的一种独特选择,该设计使用了高粒度的超像素。
因此,作者在每个空间坐标处获取维位置特征中的维度的值如下:
其中, 和 分别表示第 维中的水平轴和垂直轴的频率。
投影(C 给定局部特征 和位置特征 ,作者将两者整合以获得预聚合特征。将这两个特征图 和 进行拼接后,通过一个线性投影层 传递。)
其中, 表示在通道维度上的连接。得到的预聚合特征图 在后续的聚合阶段中使用。
4.2. Superpixel-aware Feature Aggregation
为了将每个超像素内的提取预聚合特征聚集为一个代表性的嵌入,作者采用平均池化和最大池化方法,这有效地处理了不同数量的特征。输入图像 的预先计算好的超像素索引图 被用作确定哪些特征归属于哪个超像素的指南。
给定每个超像素簇的 维预聚合特征,作者在每个超像素簇内分别执行平均池化和最大池化。这会产生每个超像素两个特征向量:平均特征 和最大特征 ,每个都为 维。
其中, 和 分别表示超像素 内的像素数和坐标 处的预聚集特征。
平均池化和最大池化从每个超像素中提取互补特征。平均池化捕捉超像素中常见的总体特征,而最大池化识别出那些在单纯平均处理中可能被掩盖的最显著特征。作者将每种池化方法得到的 维向量沿通道维度进行连接,从而得到一个 维的 Token 。
这种Approach有效地结合了通用和突出的信息,从而为每个超像素提供了更加全面的表示。
- Experiments
5.1. Experimental Settings
作者通过将其应用于ViTs(命名为SuiT)来验证作者的分词方法。作者在三种模型规模上进行了实验,分别是Tiny()、Small()和Base()。作者将和都设为。作者采用FastSLIC [4] 作为超像素算法,因为它具有高速度。在局部特征提取的卷积层中使用步长为2,生成的特征图大小仅为输入的二分之一。相应地,位置特征图和超像素索引图被缩放到相同大小。
这一设计选择基于观察到使用步长为1并未带来显著的性能提升,但却显著增加了计算成本。更多细节请参见附录。
5.2. Comparison to Baseline
由于作者的方法专注于不修改 Backbone 网络的Tokenizer,作者主要与 Baseline 模型DeiT [50]在ImageNet-1K分类[12]上的表现进行对比。作者在实验设置上大体上遵循DeiT的设置,并进行了少量调整以确保公平比较。
表1将SuiT的分类性能与DeiT进行了比较。对于每种模型大小,表详细比较了关键方面:分类准确性、通过GMACs衡量的计算成本以及处理的Token数量。这种适应性推理能力源自对超像素Token数量调整的灵活性,使用户能够根据具体需求自定义配置。当达到相当的性能时,SuiT在效率上远高于DeiT。在相同的GMACs下,SuiT的准确性更优。保持相同的Token数量进一步提升了其准确性。
5.3. Comparison to Existing Tokenization Methods
作者在两项现有的分词研究中使用的场景下评估了作者的分词方法,与现有方法进行公平比较。为了确保比较的公正性,作者遵循[16, 44]中的设置,对在ImageNet21K[43]上预训练的ViT进行微调。此外,作者还包含了利用超像素进行分词的并发工作SPiT[1],该方法从头开始在ImageNet-1K上训练其模型。这两项实验均在ImageNet-1K分类任务上进行。
如表2所示,作者的方法在所有模型规模下都一致地优于现有的Token化方法,展示了其有效性。在借鉴[16, 44]的研究进行微调实验时,SuiT在细粒度Token方面优于现有Token化方法,例如Quadformer [44]和MsViT [16]。
在从零开始训练的实验中,SuiT 一贯优于基于超像素的 Token 化工作的 SPiT,表现出了显著的优势。这些结果验证了作者 Token 化 Pipeline 的优越性,相较于先前的工作表现更出色。
5.4. Transfer Learning
作者将验证将SuiT转移应用于各种下游任务时的泛化能力。为了公平比较,作者遵循DeiT [50]的标准微调协议和默认设置,通过针对每个下游任务单独微调预训练于ImageNet-1K的SuiT来进行验证。作者在iNaturalist [22]、Flowers102 [39] 和 StanfordCars [10] 上测试了作者的模型。更多详细信息参见附录。
表3展示了当SuiT和DeiT在各种下游任务上微调时,它们的分类准确性对比情况。无论是在不同的任务还是不同的模型规模中,SuiT都一直保持着更高的准确性。值得注意的是,在iNaturalist2018数据集上,SuiT-Small相较于DeiT-Small提高了,这表明SuiT能够更有效地转移所学到的功能,特别是在数据充足的情况下表现更为突出。
这些结果表明,SuiT 在泛化能力上优于 DeiT。这使 SuiT 成为了在各种领域进行迁移学习的强大选择。无论模型规模或数据集复杂度如何,SuiT 均展现出持续优越的性能,进一步突显了其在实际应用中的适用性。
5.5. Self-supervised Learning
作者进一步研究了SuiT在自监督场景中的适用性。具体而言,作者在ImageNet-1K数据集上使用DINO [9]对该模型进行了训练,DINO是一种广为人知且已被证明非常有效的自监督学习方法。
5.5.1 Transfer Learning
经过使用DINO进行预训练后,作者评估了SuiT在下游任务中的性能,以确认其学习到的特征质量。如表3下半部分所示,无论在哪项下游任务中,DINO-SuiT都持续优于DINO-ViT。这表明SuiT有效地支持自监督场景,进一步证明了它作为适用于广泛视觉任务的多功能Pipeline的优势。
5.5.2 Zero-shot Salient Object Segmentation
已知经过DINO训练的ViTs的注意力图能够有效关注物体区域,无需显式的监督[9]。如图3所示,虽然DINO-ViT的自注意力图仅限于方形 Patch Level 的细节,但DINO-SuiT的自注意力图甚至能够捕获显著物体的更细粒度结构。为了证明这种细粒度特性可以协同增强DINO在显著物体分割方面的性能[9],作者按照Aasan等人[1]和Wang等人[56]的研究,在三个基准数据集ECSSD[57]、DUTS[54]和DUT-OMRON[58]上测量分割性能。作者的实验是在TokenCut框架[56]上进行的,这是一种归一化的图割算法,可以从注意力图中提取显著性 Mask 。
超像素分token化在大多数指标上显著提高了DINOViT [9]的表现,并且无需后处理即可达到与具有后处理的DINO-ViT相当的结果。
值得一提的是,如表4所示,作者的模型在经过处理和未经过处理的情况下表现出几乎相同的性能差异,这与DINO-ViT不同。与SPiT[1]相比,SuiT在三个数据集上均展现出竞争力。然而,SPiT[1]并未展示其适用于类似于DINO的自监督方法,且它是使用更高分辨率的图像进行训练的。图4中的定性比较表明,DINO-SuiT能够检测到所有显著物体,即使在多目标场景中也是如此,而DINO-ViT则存在一些限制,例如未经处理时出现矩形 Mask 以及不完整的目标检测。
- Analysis
6.1. Semantic Integrity of Superpixel Tokens
为了验证作者超像素Token改进后的语义保留能力,作者在Token嵌入空间上进行K-means聚类[26]。作者将超像素Token的聚类结果与基于网格的Token进行对比。
如图5所示,作者的超像素Token是基于语义相似性分组的,而不是基于空间邻近性,这与DeiT中的Patch Token不同,后者在簇内部缺乏一致性。例如,在第一行中,对应小鸭子区域的Token被分在一起,而DeiT Patch Token的簇则未能传达明确的意义。这一分析表明,超像素Token在保留语义方面表现更好。更多实验结果详见附录。
6.2. Class Identifiability Analysis
Vilas等人[52]通过将中间表示通过训练好的分类器头投影到特定类别的嵌入空间中,研究了监督ViT中的类特定编码,类似于NLP领域的logit透镜方法[6, 40]。在此基础上,作者通过分类器头将Token表示进行投影,并测量预测目标类别的Token的比例,以此评估SuiT各层中的类特定编码。
图6展示了与DeiT相比,SuiT的分类Token在早期层中展现出更高的类别可识别性。这归因于超像素分词的语义保持性质,有助于在早期层中聚合类别特定的编码。在较深层中,DeiT的Patch Token的类别可识别性水平略低于其分类Token,两者之间存在微小差距。这一观察结果与之前的研究一致,这些研究指出,在监督ViT中,随着层数加深,Patch Token倾向于编码越来越多的全局信息。相比之下,SuiT的Patch Token在较深层中维持较低比例的类别可识别特性,表明其对全局特征编码的关注度较低。这种差异暗示SuiT和DeiT在不同网络深度下聚合类别特定特征时采用了不同的策略。
6.3.Enhanced Robustness
作者在ImageNet变种、ImageNet-A [13] 和 ImageNet-O [21] 上考察了SuiT的鲁棒性和离分布泛化能力。ImageNet-A 是从ImageNet-1K中挑选出的一个子集,旨在误导分类器并测试模型的鲁棒性;而 ImageNet-O 则由不在ImageNet-1K中的离分布样本组成,用于评估模型的离分布检测能力。
在表5中,SuiT在不同模型变种上的一系列数据集上均一致地优于DeiT。
这些发现表明,作者的超像素分块技术通过减轻模型对易于学习但缺乏泛化能力的特征的依赖,从而在具有挑战性的场景中提高了模型的稳健性。
6.4.Ablation Studies
预聚合特征 在作者提出的组件上进行了消融实验,使用了SuiTTiny。表6突出了预聚合特征提取中各个组件的重要性。首先,直接使用原始的3通道RGB特征会导致性能显著下降,证明了需要更高维度的局部特征。其次,移除位置信息会降低性能,但可以通过局部线索保留部分类别的预测。实验还表明,预定义的位置频率在性能上不如学习得到的频率,强调了视觉特定定制的必要性。最后,作者的结果显示,连接和投影的结合比之前研究中使用的简单连接或相加更有效地整合了局部和位置特征 [14, 50, 51]。
聚合表7展示了作者所采用的聚合方法的分析,该方法使用了与基数无关的操作。移除最大池化会导致显著性能下降,而移除平均池化则会导致轻微下降。
作者还测试了使用标准差作为最大池化的替代方法,但发现其数值上不稳定且不适合用于训练。Softmax池化计算每个超像素内值的加权和,显示出有潜力的结果,但在性能上略低于最大池化。
这可能是因为Softmax操作抑制了对于识别至关重要的显著特征,导致生成的表示更为不具区分性。
参考
[0]. Superpixel Tokenization for Vision Transformers: Preserving Semantic Integrity in Visual Tokens .
点击上方卡片,关注 「AI视界引擎」 公众号