SiT : Self-supervised vision Transformer

从NLP Transformer中借鉴而来的视觉 Transformer 在使用大规模监督数据或某种形式的协同监督(例如教师网络)进行预训练时已被证明是有效的。这些经过监督预训练的视觉Transformer在下游任务中通过最小的改动就能取得出色的结果。

随着监督预训练(SP)和自监督预训练(SSP)在下游应用(如分类、定位、分割等)之间的性能差距逐渐缩小,自监督学习(SSL)在计算机视觉领域正逐渐受到更多关注。自监督视觉Transformer(SiT)是第一个确立SSP可以在下游应用中超越SP的工作,从而确立了SSP作为预训练视觉Transformer更合适的选择。

SiT是第一个为视觉Transformer设计的掩码图像建模工作。其核心在于构建Group Masked Model Learning(GMML)的思想,一个简单的掩码自编码器框架,用于获取一个前置模型。视觉Transformer 的架构灵活性允许我们将 SiT 用作自编码器,并与多个自监督任务无缝协作。

所提出的方法在标准数据集上使用通用协议进行了评估。结果表明,GMML框架对于SSL和视觉Transformer是合适的。SiT在性能上始终优于监督预训练以及先前的技术,且优势显著。与其他基于视觉Transformer的预训练方法不同,SiT在小规模和中规模数据集上也表现出非常强大的性能。得益于SiT,视觉Transformer能够超越(或至少与)卷积神经网络相媲美。


在 SiT 中提出了 GMML(Group Masked Model Learning)框架,用于使用带重建损失的掩码自动编码器进行 Vision Transformer 的自监督学习,但这个想法通常适用于其他损失。

在 SiT 构思之时,由于计算资源极其有限,使用小模型和中小规模数据集展示了 GMML 的优点。到 2021 年底,SIMMIM [9] 和 MAE [10] 使用大型 Vision Transformer 在 ImageNet-1K [11] 等大规模数据集上扩展了带重建损失的 GMML。

GMML 现在是多个应用领域领先的 SSL 框架,为图像分类 [7]、分割 [9]、音频分析 [12]、医学图像分析 [13]、[14]、视频表示 [15] 等提供了最先进的结果。简而言之,MIM/GMML 使计算机视觉社区能够在 SSL 中享受到与 NLP 社区在 BERT 上享受到的同样的成功。

当使用中小型数据集进行训练而无需任何外部数据时,SiT 的表现远远优于现有技术和后期技术,而当在大规模数据集上进行预训练时,其表现优于现有技术并与采用 GMML 框架的后期技术相当。

1. 介绍

自监督预训练可以显著提高下游任务的性能 [1],[16]。在语音识别 [17] 和计算机视觉应用 [18]、[19]、[20]、[21] 中也观察到了类似的趋势。自监督预训练,特别是与 Transformer [22] 结合使用,是 NLP [1]、[16] 的首选模型。SSL 的成功是以海量数据集和大容量模型为代价的。视觉 Transformer 的预训练主要使用监督学习的超大规模数据集,例如由数亿个标记样本组成的数据集 [3]。

Vision Transformer 已被证明在没有外部数据的情况下在 ImageNet-1K 上表现良好 [4]。 简而言之,使用大规模监督数据集对神经网络进行预训练是计算机视觉中的一种常态,以获得更好的性能。 

自监督方法大致可分为生成式方法和判别式方法。生成式方法 学习对数据分布进行建模。然而,数据建模通常计算量很大,而且可能不是所有场景中表征学习所必需的。另一方面,通常在对比学习框架中实现的判别式方法或使用前置任务展示了以适度计算要求获得更好的泛化表征的能力。

1.1 对比学习

对比学习的目标是学习图像嵌入,这些嵌入对于同一图像的不同增强视图是不变的,同时对于不同的图像是具有区分度的。然而,这种方法通常只关注整个图像的全局变换不变表示,而忽略了学习图像的上下文表示。而图像中的每个概念、概念内的上下文以及概念周围的上下文对于深入理解图像都是非常重要的。

为了获得更详细和上下文感知的表示,研究者们提出了一些替代的预训练任务。这些任务包括基于重建或恢复缺失信息的方法,如修复图像中的斑块、上色、预测噪声、预测图像旋转等。这些任务旨在让模型通过理解图像的局部和全局结构来学习有用的表示。

与基于CNN的SSL方法不同,作者提出了一种针对 ViT 的预训练框架。由于ViT不依赖于任何关于局部归纳偏置的假设(即邻域内的统计相关性),因此为了建模有用的归纳偏置,ViT 需要大量的数据才能与CNN的性能相媲美。而提出的GMML框架使ViT能够从少量数据中学习有用的局部归纳偏置,从而在性能上与CNN相媲美。


SiT 的核心建立在 GMML 的简单思想之上。 与现有的 SSL 方法不同,GMML 利用 vision Transformer 中的信息冗余和互补性,通过学习将本地内容链接到上下文来恢复/重建本地内容。从本质上讲,这一原则类似于 BERT 中使用的掩码语言建模 (MLM),它从上下文中恢复掩码单词。该原则也受到 word2vec 的启发,根据上下文预测单词。 

在计算机视觉中,我们从去噪自动编码器的原理和上下文编码器 的思想中汲取灵感,后者已被用于使用 CNN 进行无监督学习。GMML 将 MLM、去噪自动编码器和上下文编码器的原理扩展到 vision Transformer ,用于自监督学习。 这是通过三个原则实现的:

i)学习通过类似于自动编码的机制恢复输入刺激,通过使用连接标记组的掩码等随机数据标记扰动来实现。

ii)感知-动作机制,学习从动作对感知的影响中识别动作,

iii)从数据中内容身份的保存中学习内容相似性的概念。 所提出的 SSL 方法有助于提取内在数据模型,并且能够通过微调很好地适应下游任务。GMML 确立了自己作为一个强大的独立 SSL 框架的地位,超越了所有现有的 SSL 方法,并且首次超越了监督预训练。

1.2 研究的主要贡献

提出了Group Masked Model Learning(GMML)这一新型框架,它利用视觉变换器进行自监督的视觉表征学习。GMML通过恢复大量(高达70%)的缺失视觉信息来训练深度神经网络(DNNs)并学习丰富的表征。这是通过使用可见令牌(tokens)中的上下文信息来恢复被屏蔽(masked)令牌组实现的。

为GMML架构配备了一个解码器,并证明它可以通过一个两层感知机(perceptron)来实现,这得益于变换器的内在特性。这种基于变换器的自编码器避免了对整个解码器块的需求。

利用自编码变换器自然支持多任务学习的能力,开发了一个强大的自监督框架,该框架联合优化了重建(GMML)和对比损失。这意味着GMML不仅可以恢复缺失的视觉信息,还可以从数据中学习其他有用的特征或模式,从而提高其泛化能力。

当在大型数据集上进行预训练时,GMML的性能与当前最先进的方法相当。

1.3 主要观察结果

1)SiT 能够在没有任何形式监督的情况下对数据进行聚类。

2) 使用 Sit,只需几千个样本(如 Flowers、Pets、CIFAR10 等)即可在微型数据集上训练数据密集型转换器,而无需蒸馏。

 3) SiT 成为第一项表明自监督预训练在使用 Transformer 的视觉分类下游任务中可以始终优于监督预训练的研究。

2. 相关工作

2.1 与现有技术的比较

自监督学习的判别方法通常通过预训练或对比学习框架来实现。预训练任务的手工设计通常基于自动编码(autoencoding),它强制网络找到一个表示,使得即使输入图像受到扰动或噪声的影响,也能够重建输入图像。

2.1.1 自监督预训练任务示例

  • 训练卷积网络以预测图像中任意缺失区域的内容,基于图像的其余部分。这背后的动机是,为了对缺失部分产生合理的假设,编码器需要理解整个图像的内容。
  • 提出图像着色任务,通过预测给定灰度输入图像的彩色版本来实现,并使用类别再平衡来增加预测颜色的多样性。
  • 使用空间上下文信息进行特征学习,训练卷积网络来识别随机图像块对之间的相对位置。这一想法启发了后续的研究,提出了通过解决更复杂的空间上下文任务(如拼图游戏)来学习图像特征的方法。

使用图像内上下文以这样的目标训练网络鼓励网络学习局部特征表示而忽略全局上下文。

  • RotNet,一个卷积网络,通过训练网络识别应用于输入图像的预定义二维旋转来学习图像特征。这种简单的任务可以使深度神经网络学习图像特征。

2.1.2 对比学习方法和深度聚类方法

对比学习方法的核心思想是通过拉近相同图像不同增强视图之间的表示,同时推远不同图像视图之间的表示来训练网络。这种方法通常比基于预训练任务的方法表现更好。SimCLR基于重数据增强来学习无标签图像的表示,通过最大化来自同一张图像的两个增强视图之间的相似性来实现。用这样的目标训练网络可以显著提高所学表示在区分样本方面的质量。

对比学习方法通常使用大批量大小或记忆库来确保批次中有信息丰富的负样本。这些方法通常使用各种技巧来避免表示崩溃(即所有样本的表示都趋于相同)。

基于深度聚类的方法通过学习在嵌入空间中聚类图像来学习表示。DeepCluster使用当前的表示来聚类数据点,并为下一个表示生成标签。每个样本的聚类索引然后被用作新表示的分类目标。它需要一个聚类阶段,并且需要采取预防措施来避免陷入平凡的解决方案(例如,所有样本都聚集到一个单一的簇中)。

综上所述,对比学习方法和基于深度聚类的方法都是无监督或自监督学习中用于学习图像表示的有效方法,但它们有着不同的实现方式和计算要求。

2.1.3 自监督学习

Hjelm等人研究了如何使用互信息(Mutual Information)来进行无监督的表示学习。提出了Deep InfoMax方法,通过最大化图像中结构块的全局和局部尺度上的互信息,遵循了InfoMax原则。互信息是衡量两个随机变量之间共享信息的量度,通过最大化互信息,Deep InfoMax能够帮助网络学习到更好的图像表示。

自监督的关系推理(Relational Reasoning)公式,允许学习者从未标记数据中隐含的信息中引导出一个信号。具体来说,他们使用了一个关系网络作为未标记数据集上的可学习函数,以量化同一对象的增强视图之间的关系(即内部推理)以及不同场景中不同对象之间的关系(即外部推理)。

3. 方法

监督学习允许Transformer(一种深度学习模型)学习一个瓶颈表示(bottleneck representation),其中内容和上下文的混合主要围绕类别标记(class token)进行。

无监督学习通过学习与上下文整合来重建局部内容,从而利用图像数据中的信息冗余和互补性。这种方法有助于提取一个固有的数据模型,这个模型对扰动具有鲁棒性,并且可以通过微调(finetuning)很好地适应下游任务。

通常,无监督学习方法的优势可能包括减少对数据标签的依赖、增强模型的泛化能力、从大量无标签数据中学习有用的表示等。 

3.1 自监督Transformer

自监督 Transformer 可以使用未标记的数据进行训练。

• 微调学习下游任务所需的标记训练数据量比直接训练所需的数据量低两个数量级。

• 训练数据总量(标记和未标记)也低几个数量级。

• 所实现的性能明显优于最先进的自监督方法。

主要目标是以无监督的方式学习数据的表示。这是通过恢复 vision Transformer 输入端的数据标记所表示的图像的部分屏蔽或转换的局部部分来实现的。潜在的假设是,通过基于整个视野的上下文从未损坏的标记/部分中恢复图像的损坏标记/部分,网络隐式地学习视觉完整性的概念。

通过使用可以根据数据的某些属性自动生成的伪标签,可以进一步增强视觉完整性的概念。从转换部分的恢复中学习和从伪标签中学习似乎不同,但这两种自监督学习机制背后的潜在动机是学习视觉完整性。

直观地说,模型需要理解图像的哪些特征是重要的,才能正确地恢复伪标签。然后,一旦模型通过无监督学习得到了训练,它的权重就可以作为其他计算机视觉任务的起点,如图像分类、目标检测或图像分割等。为了实现这一目标,我们提出了一种自监督视觉变换器(SiT),其中模型通过组掩蔽模型学习进行训练,并估计应用于输入图像的不同几何变换,从而获得更好的图像表示。

3.1 自监督Vision Transformer

Vision Transformer 接收一系列块作为输入,这些块是通过将输入图像 x \in R^{H\times W\times C}标记为 n 个大小为 p_1\times p_2\times C 像素的扁平二维块而获得的,其中 H、W 和 C 是输入图像的高度、宽度和通道数,p_1\times p_2 是块大小,n 是块数,即 n=\frac{H}{p_{1}}\times\frac{W}{p_{2}}。 然后使用线性层将每个块投影到 D 个隐藏维度。整个操作也可以通过卷积层简单地实现,卷积层具有内核大小 p_1\times p_2,输入和输出通道数分别为 C 和 D。 为了保留块之间的相对空间关系,将固定或可学习的位置嵌入添加到块嵌入中作为 Transformer 编码器的输入。

为了完成分类任务,一个可训练向量(即类标记)被附加到补丁标记的输入序列中,并经过 Transformer 编码器。最后,一个分类头被添加到与类标记相对应的 Transformer 编码器的输出中。分类头由单个线性层实现,该线性层将类嵌入投影到类的数量。

与 ViT [3] 不同,我们的工作基于无监督学习/预训练,因此不需要分类标记。 相反,除了用于图像重建的数据标记(图像补丁标记)之外,我们还有一个对比标记,用于服务于所提出的自监督预训练任务。采用 SimCLR [19] 中的对比标记用于服务于对比预测任务。

3.2 自监督任务

Transformer 架构允许同时无缝集成多个任务学习。 我们利用 Transformer 的这一优势来训练 SiT,其目标有两个:(1) 基于 GMML 的图像重建和 (2) 对比学习。

3.2.1 图像重建

建议将 Transformer 用作自动编码器,即视觉 Transformer 自动编码器。与需要编码器和由卷积层和转置卷积层组成的昂贵解码器的基于 CNN 的自动编码器不同,Transformer 自动编码器中的解码器可以使用轻量级解码器来实现。

基于 CNN 的编码器的一个限制是信息汇总步骤,其中信息基本上是使用步幅卷积或最大池操作丢弃的。 然后通过一系列上采样和卷积操作(或转置卷积)恢复该信息,编码器和解码器之间有跳过连接。与自动编码器类似,我们的网络经过训练,可以通过 Transformer 的输出标记重建输入图像。

为了学习输入图像的更好的语义表示,我们应用组掩蔽模型学习 (GMML),通过对图像的局部块应用多种变换。与 BERT 中的标准掩蔽标记不同,我们将这些局部变换应用于空间排列的相邻标记块(在 2D 中而不是仅按序列排列)。在 BERT 和其他基于 NLP 的 Transformer 中,只屏蔽一个 token 是有意义的,因为单个 token 可以表示语义。然而,对于视觉信号,转换由一个或多个语义概念组成的相邻 token 至关重要。目的是在 SiT 的输出中恢复这些转换后的局部部分。

SiT 隐式地学习了图像中的语义概念。应该注意的是,这些转换后的 token 可以位于前景对象上,也可以位于背景上,并且恢复这些 token 对这两种情况同样有效。事实上,在以这种方式对视觉信号进行建模时,我们正在摆脱前景和背景的概念,内容的每一部分都被视为语义概念,无论是草地上吃草的马,还是草地本身。

图像修复是一种简单但有效的自监督前置任务,通过训练网络根据上下文预测任意变换区域来进行。对于 CNN,此上下文由所谓的接受场定义,而对于 Transformer,上下文由整个图像组成。图像修复背后的动机是网络需要学习包括对象/概念的颜色、纹理和结构在内的知识来推断缺失区域。在这项工作中,我们采用了两种类型的图像修复,随机丢弃,通过用随机噪声随机替换图像中的相邻块,以及随机替换,通过用另一个图像中的块随机替换图像中的块

图像重建的目的是从损坏的图像中恢复原始图像。对于此任务,我们在原始图像和重建图像之间使用 l1-loss,如下面公式所示。虽然 l2-loss 通常比 l1-loss 收敛得更快,但 l2-loss 容易使图像恢复的边缘过于平滑。因此,在图像到图像处理中,l1-lossl2-loss 更常用。

\mathcal{L}_{\mathrm{rocons}}(\mathbf{W})=\frac{1}{N}\sum_{i}^{N}\|\mathbf{x_{i}}-\mathrm{SiT}_{\mathrm{rocons}}(\mathbf{\bar{x_{i}}})\|

其中\|\cdot\|l1 范数,xi 是输入图像,\bar{x_{i}} 是损坏的图像,N 是批处理大小,W 表示训练期间要学习的转换器的参数。最后,SiTrecons(:) 通过将 Vision Transformer 的数据标记输出馈送到轻量解码器 D(:) 来返回重建的图像。

3.2.2 对比学习

在自监督学习中,没有为训练数据设置任何概念标签。但是,通过对训练样本应用几何和扰动变换(添加噪声),不会改变内容的感知身份,并且 Transformer 应该为所有此类合成生成的内容匹配对产生相似的输出。

采用余弦相似度作为表征相似度的底层度量。受到近期对比学习算法的启发,我们将对比损失纳入目标函数,其中网络经过训练以最小化正对(即来自同一输入图像的增强图像)之间的距离,并最大化负对(即来自不同输入图像的样本)之间的距离。具体而言,我们采用了样本 x_i 与任何其他点 x_j 之间的归一化温度缩放 softmax 相似度,定义如下:

 \ell_{\mathrm{contr}}^{\mathbf{x_i},\mathbf{x_j}}(\mathbf{W})=\frac{\mathrm{e}^{\mathrm{sim}(\mathrm{SiT}_{\mathrm{contr}}(\mathbf{x_i}), \mathrm{SiT}_{\mathrm{contr}}(\mathbf{x_j}))/\tau}}{\sum_{k=1,k\neq i}^{2N}\mathrm{e}^{\mathrm{sim}(\mathrm{SiT}_{\mathrm{contr}}(\mathbf{x_i}), \mathrm{SiT}_{\mathrm{contr}}(\mathbf{x_k}))/\tau}}

\mathcal{L}_{\mathrm{contr}}(\mathbf{W})=-\frac{1}{N}\sum_{j=1}^{N}\log\ell_{\mathrm{contr}}^{\mathbf{x_{j}},\mathbf{x_{j}}}(\mathbf{W}) 

3.2.3 对比学习的执行

对比学习需要两个输入:一个干净的视图和一个损坏的视图,它们都来自于同一个样本。这种增强视图的方法可以帮助模型学习到数据的鲁棒性表示。

损失是通过匹配这两个视图之间的交叉表示来计算的。这意味着模型需要学习将干净的第一个视图与损坏的第二个视图匹配,同时将干净的第二个视图与损坏的第一个视图匹配。这种匹配过程有助于模型理解即使数据有所损坏或变换,其底层含义或内容仍然是相同的。

与第一种方法相比,使用动量编码器可以稍微提高性能。这可能是因为动量编码器提供了更多的灵活性,允许干净和损坏的视图在编码过程中有所不同,但仍然保持相似的表示。

3.3 端到端自监督训练

对于由 N 个样本组成的给定小批量,对每个样本应用两种不同的随机增强。 由相同样本创建的增强图像被视为构成正对,来自不同样本的图像被视为负对。 接下来,对两个图像应用基于 GMML 图像的操作。然后训练网络在应用损坏后重建原始图像,并最大化批次内正对之间的余弦相似度。

 \mathcal{L}_{\mathrm{total}}(\mathbf{W})=\alpha\times\mathcal{L}_{\mathrm{recons}}(\mathbf{W})+\mathcal{L}_{\mathrm{contr}}(\mathbf{W})

α 是我们多任务目标函数的缩放因子。当模型在小规模数据集上进行预训练时,我们将 α 设置为一个高值,即 α = 5,以使 ViT 能够学习有用的局部归纳偏差。对于大规模数据集,例如 ImageNet-1K,我们设置 α = 1。 在自监督训练之后,我们通过将对比头替换为与下游任务中的类数相对应的输出 c 个节点来应用迁移学习。


从我们训练过的 SiT 模型中重建的图像。图像是从 (a) 训练数据、(b) 测试数据和 (c) 互联网随机获取的。每行分别指原始图像、损坏图像和重建图像。

4. 实验结果

为了证明自监督方法所学习特征的泛化能力,常见的评估方法是以无监督的方式对模型进行预训练,然后在下游任务(如图像分类、对象检测、分割等)上对模型进行微调。

4.1 实现细节

使用 Vision Transformer 实现了自监督架构,主要采用 Vision Transformer 的小型变体 (ViT-S),其输入图像大小为 224 × 224,块大小为 16 × 16,隐藏维度为 384,有 12 个连续的 MSA 和 MLP 块,每个多头自注意力层上有 6 个头。该架构共有 2100 万个参数。

对于图像损坏,我们要么用噪声替换图像中的随机块,要么用其他图像中的块替换。损坏块的宽度和高度从输入图像大小的 5% 到 25% 不等,在噪声替换的情况下,总体替换率高达 70%,在从其他图像替换的情况下,总体替换率高达 30%。图像重建头由 2 个全连接层组成,每个层有 2048 个神经元和 GeLU非线性,然后是反卷积以返回图像空间。

4.1.1 优化器与参数设置

使用Adam优化器进行模型训练。

超参数设置:批量大小为64,动量为0.9,权重衰减为0.05,学习率为 5e-4。

训练周期:对于ImageNet-1K的预训练,总共训练800个周期;对于小数据集的预训练,训练3000个周期。

4.1.2 数据增强

在自监督训练过程中,应用了一些简单的数据增强技术。避免过度增强:一些激进的数据增强方法(如MixUp和AutoAugment)会损害当前目标函数的训练效果,尤其是在学习低级特征和高级语义信息时。因此,仅使用了裁剪、水平翻转、颜色抖动、太阳化和高斯模糊等数据增强方法。

4.1.3 对比学习头

采用SimCLR作为对比学习的方法,其中温度参数设置为0.2。

对比学习头结构:该头包含两个全连接层,每层有4096个神经元,并跟随批归一化层和GeLU非线性激活函数。之后是一个线性层,输出256个节点的嵌入向量,代表图像的嵌入表示。

动量编码器更新:动量编码器使用编码器权重的指数移动平均进行更新。权重 λ 遵循一个余弦调度,从0.996逐渐增加到1。

4.2 多类别分类

4.2.1 小型数据集上的多类分类

Transformer 需要大量数据,这使其难以训练,主要是因为缺乏典型的卷积归纳偏差。因此,使用 Transformer 进行自监督学习的常用协议是在大规模数据集(例如 ImageNet-1K 或更大的数据集)上预训练模型。

视觉 Transformer 的计算和数据需求限制了它们的采用,尤其是资源预算较少的人工智能研究人员。 因此,在第一组实验中,研究了使用有限数据从头开始训练 Transformer 的适用性。特别是,当仅在目标数据集上执行预训练和微调时,将我们提出的 SiT 方法与最先进的 SSL 方法进行了比较。特别地,我们与 MoCo-V3 [72]、Dino [73]、MAE [57] 和 SimMIM [56] 进行了比较。对于微调步骤,我们依赖于视觉变换器开发人员的默认超参数 [4]。

与从头开始训练相比,SiT 的自监督预训练在所有数据集上的性能均有较大幅度的提高。

4.2.2 大规模数据集上的多类分类

SiT 在大规模数据集(即 ImageNet-1K)上进行预训练并在多个多类分类数据集上进行微调时的有效性。

4.3 多标签分类

随机初始化训练的准确率较低,因为可用的数据量不足以训练 Transformer。当使用 SiT 预训练模型而无需任何外部数据时,结果显著改善。

4.4 实例分割

SiT 的表现远超最先进的监督和自监督方法。 

4.5 消融实验

研究了训练 Transformer 作为自动编码器重建输入图像的有效性,即 D(E(x)) = x,其中 x 是输入图像,E 是编码器,D 是轻量级重建解码器。

事实上,因为没有适当选择约束,自动编码器能够学习恒等映射,即记住输入而不学习任何有用的判别特征。 为了规范基于 Transformer 的自动编码器,我们结合了 GMML 版本的 Transformer 与重建误差损失函数。性能跃升至 57.5%,甚至比使用动量对比学习还要好。


总之,单独使用重建损失作为自监督的手段为有效的下游任务微调提供了有效的起点。通过扩展自监督预训练机制的范围,可以实现进一步的边际改进。

性能随着时期数的增加而稳步提高,即使在对模型进行 800 个时期的预训练后也不会饱和。

4.5.1 损坏类型的影响

不同类型的图像损坏对修复任务的影响。实验使用了五种不同的损坏方式:

  1. 用零值损坏图像,即某些部分被替换为零像素。
  2. 用噪声损坏图像,即某些部分被随机噪声覆盖。
  3. 用另一张图像的块替换图像的部分块。
  4. 结合使用零值和从另一张图像替换的方式损坏图像。
  5. 结合使用噪声和从另一张图像替换的方式损坏图像。

实验结果显示,使用另一张图像的块替换损坏部分(即“replace”)的方法在单个修复任务中表现最好。当这种替换方式与添加噪声相结合时,性能得到了进一步提升。然而,当使用零值替换与从另一张图像替换相结合的方式时,模型的准确性略有下降。

4.5.2 图像损坏程度对模型性能的影响 

最佳的损坏比例在50%到70%之间。这种表现符合预期,因为遮盖部分图像可以鼓励网络从未损坏的部分学习语义信息,以便恢复丢失的信息。

4.5.3 损坏与补丁大小对齐的效果

在使用小数据集进行预训练时,如果掩码不与补丁边界对齐,预训练的收敛速度和泛化能力会略有提升。这意味着,随机或不规则的掩码方式可能比规则或对齐的掩码方式在预训练过程中更为有效,尤其是在数据有限的情况下。

使用了 t-SNE 投影技术来可视化学习到的表示(即嵌入向量)。首先,展示了STL-10测试集在训练前的嵌入向量投影(模型是随机初始化的)。然后,展示了当仅使用STL-10带标签的训练集(包含5000张图片)进行3000个epoch的无监督预训练后,嵌入向量的投影。

t-SNE投影技术 是一种用于数据降维和可视化的方法。这种方法的主要目的是将高维空间中的数据映射到低维空间(通常为2维或3维),同时尽可能地保留数据集的局部特性。通过t-SNE投影,我们可以更直观地观察和理解数据的分布和结构。

即使没有标签信息,模型也能够区分不同的类别。接着,展示了当使用STL-10数据集的带标签和不带标签的集合(总共包含105000张图片)进行1000个epoch的预训练后,嵌入向量的投影。显然,在预训练阶段使用更多的无标签数据,模型对不同类别的区分能力更好。最后,展示了微调阶段后的 t-SNE 可视化结果,并给出了相应的验证准确率。 

5. 总结

提出了一个自监督 Vision Transformer,用未标记的数据进行训练以执行前置任务,并使用预训练模型作为下游分类任务微调的初始化。我们建议将变换器用作自动编码器,这可以通过在输出端使用 两层感知器来实现(这要归功于变换器架构)。我们利用变换器架构的吸引人的特性,即特别适合结合不同的损失函数以及重建损失。在重建损失之外添加了一个用于对比学习的额外标记。所提出的 SiT 以较大的优势胜过最先进的自监督方法。 这项工作专注于图像分类作为下游任务。 SiT 非常适合许多其他下游任务,如分割和检测。


自编码器是一种无监督的神经网络,旨在学习输入数据的压缩表示,并尝试从该表示中重构原始数据。研究者提出将 Trannsformer 用作自编码器,由于 Trannsformer 的架构特性,通过在输出端使用一个两层感知机(perceptron,可能是一个小型的全连接网络),将这种实现变得可行。

Trannsformer 架构的一个优势是它可以很容易地结合不同的损失函数。除了使用重构损失(reconstruction loss)外,还添加了一个额外的标记(token)用于对比学习。对比学习是一种无监督学习方法,它学习表示使得相似的样本在表示空间中靠近,而不相似的样本远离。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675483.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot + Vue前后端项目(第十四记)

项目实战第十三记 写在前面1. 建立字典表2. 后端DictController3. Menu.vue4. 建立sys_role_menu中间表5.分配菜单接口6. 前端Role.vue改动总结写在最后 写在前面 本篇主要讲解动态分配菜单第二章节 菜单页面优化 引入图标 角色界面优化 角色自主分配菜单,并保存至…

PTA字符串str1在第i个位置插入字符串str2

字符串str1在第i个位置插入字符串str2&#xff0c;如在字符串1234567890第2位插入ABC。 输入格式: 1234567890 ABC 2 输出格式: 12ABC34567890 #include<stdio.h> #include<string.h> int main() {char s1[100],s2[100];int w;scanf("%s%s%d",s1,s2,…

Docker 基础使用(2) 镜像与容器

文章目录 镜像的含义镜像的构成镜像的作用镜像的指令容器的含义容器的状态容器的指令 Docker 基础使用&#xff08;0&#xff09;基础认识 Docker 基础使用 (1) 使用流程概览 Docker 基础使用&#xff08;2&#xff09; 镜像与容器 Docker 基础使用&#xff08;3&#xff09; 存…

关于stm32的复用和重映射问题

目录 需求IO口的复用和重映射使用复用复用加重映射 总结参考资料 需求 一开始使用stm32c8t6&#xff0c;想实现pwm输出&#xff0c;但是原电路固定在芯片的引脚PB10和PB11上&#xff0c;查看了下引脚的功能&#xff0c;需要使用到复用功能。让改引脚作为定时器PWM的输出IO口。…

tinyrenderer-切线空间法线贴图

法线贴图 法线贴图分两种&#xff0c;一种是模型空间中的&#xff0c;一种是切线空间中的 模型空间中的法线贴图的rgb代表着每个渲染像素法线的xyz&#xff0c;与顶点坐标处于一个空间&#xff0c;图片是五颜六色的。 切线空间中的法线贴图的rgb同样对应xyz&#xff0c;是切线…

排序算法(C++)

参考C算法&#xff0c;这里面有些写法也值得商榷。 1. 冒泡排序算法 冒泡排序算法代码和思路比较简单&#xff0c;大家如果在面试时被要求实现排序时&#xff0c;可以用这种方法来实现。 该算法里&#xff0c;会统一地遍历待排序的数据&#xff0c;每次比较两个相邻的数据&a…

零基础也能学!在RK平台下的OpenHarmony分区镜像烧录

开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在Purple Pi OH开发板进行分区镜像烧录。触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党&#xff0c;极客&#xff0c;工程师&#xff0c;极大降低了开源鸿蒙开…

【Java】设计一个支持敏感数据存储和传输安全的加解密平台

一、问题解析 在一个应用系统运行过程中&#xff0c;需要记录、传输很多数据&#xff0c;这些数据有的是非常敏感的&#xff0c;比如用户姓名、手机号码、密码、甚至信用卡号等等。这些数据如果直接存储在数据库&#xff0c;记录在日志中&#xff0c;或者在公网上传输的话&…

极海APM32F072用Keil5烧录失败Error: Flash Download failed -“Cortex-MO+“

在用Keil5烧录时&#xff0c;出现错误弹窗&#xff0c;大概长这样&#xff1a; 检查了一圈设置&#xff0c;都搞不好。 先用J-Flash&#xff0c;显示读写保护&#xff08;未截图&#xff09;&#xff0c;会跳出界面让选择是否解除读写保护&#xff1a; 1.点击允许读操作YES&am…

循环购模式!增加用户复购的不二之选!

大家好&#xff0c;我是吴军&#xff0c;来自一家专注于软件开发与商业模式设计的公司。我们主要业务是构建商城系统&#xff0c;并为各类企业提供全面的商业模式解决方案。目前&#xff0c;我们已经成功开发了超过200种独特的商业模式&#xff0c;帮助许多企业实现了他们的商业…

C++_deque:deque的数据结构特点

文章目录 &#x1f680;1. deque介绍&#x1f680;2. deque数据结构&#x1f680;3. deque的缺陷&#x1f680;4.为什么选择deque作为stack和queue的底层默认容器&#x1f680;5.deque头插逻辑&#xff08;了解&#xff09; 大家好&#xff01;本文会简单讲讲deque的使用与数据…

实现流程化办公,可以相信拖拽表单设计器!

当前&#xff0c;竞争压力越来越大&#xff0c;利用什么样优良的办公软件实现流程化办公&#xff1f;可以一起来了解低代码技术平台、拖拽表单设计器的优势特点&#xff0c;看看它们是如何助力企业降本、增效、提质的。低代码技术平台的优势特点多&#xff0c;可以助力企业用拖…

第99天:权限提升-数据库提权口令获取MYSQLMSSQLOracleMSF

案例一&#xff1a;提权条件-数据库帐号密码获取方式 提权条件 - 数据库帐号密码获取方式 0 、网站存在高权限 SQL 注入点 1 、数据库的存储文件或备份文件 2 、网站应用源码中的数据库配置文件 3 、采用工具或脚本爆破 ( 需解决外联问题 ) sql注入点 xhcms后台管理系统…

刷新页面控制台莫名奇妙报错显示/files/test_files/file_txt.txt

今天突然发现每次刷新页面都有几个报错&#xff0c;不刷新页面就没有。 这个报错应该不是我们系统的问题&#xff0c;是因为装了浏览器插件的原因。比如我安装了 大家有没有遇到类似的问题。

MyBatis快速入门教程

文章目录 一、介绍什么是持久层为什么要学MyBatis&#xff1f; 二、如何获得MyBatis&#xff1f;三、第一个Mybatis程序数据库导入maven依赖bean 实体类dao持久层resources编写对应的映射文件 mybatis主配置文件测试类运行遇到报错Could not find resource com/qibu/dao/IUserD…

Park Here:城市停车新神器,让停车不再难

在现代城市的快节奏生活中&#xff0c;停车问题往往成为驾驶者的一大困扰。无论是寻找停车位时的焦虑&#xff0c;还是对停车规则的不了解&#xff0c;都让停车变得不那么简单。然而&#xff0c;随着科技的发展&#xff0c;一款名为“Park Here”的移动应用程序正逐渐改变这一现…

论文精读--Swin Transformer

想让ViT像CNN一样分成几个block&#xff0c;做层级式的特征提取&#xff0c;从而使提取出的特征有多尺度的概念 Abstract This paper presents a new vision Transformer, called Swin Transformer, that capably serves as a general-purpose backbone for computer vision. …

做了几年的广告设计,发现一些东西

我换了多个行业&#xff0c;发现了一些广告设计的一些行业规律&#xff0c;先从面试说起。 他们面试比较倾向是本行业的&#xff0c;找到他们去当前公司来当设计&#xff0c;但是重点&#xff1b;还是不喜欢我这种经常被试用期不合格的情况。 还有甲方公司&#xff0c;经常需要…

【机器学习】【遗传算法】【项目实战】药品分拣的优化策略【附Python源码】

仅供学习、参考使用 一、遗传算法简介 遗传算法&#xff08;Genetic Algorithm, GA&#xff09;是机器学习领域中常见的一类算法&#xff0c;其基本思想可以用下述流程图简要表示&#xff1a; &#xff08;图参考论文&#xff1a;Optimization of Worker Scheduling at Logi…

EMQX Enterprise 5.7 发布:新增会话持久化、消息 Schema 验证、规则引擎调试与追踪功能

EMQX Enterprise 5.7.0 版本现已正式发布&#xff01; 在这个版本中&#xff0c;我们引入了一系列新的功能和改进&#xff0c;包括会话持久化、消息 Schema 验证、规则引擎调试与追踪测试等功能。此外&#xff0c;新版本还进行了多项改进以及 BUG 修复&#xff0c;进一步提升了…