没有合适的资源?快使用搜索试试~ 我知道了~
学鲁棒表示学习的BatchFormer方法及其在数据稀缺应用中的显著改进
72560BatchFormer:学习探索样本关系以实现鲁棒的表示学习0侯志1,于宝生1,陶大成2,101 悉尼大学工程学院计算机科学学院,澳大利亚 2 京东探索学院,中国0zhou9878@uni.sydney.edu.au,baosheng.yu@sydney.edu.au,dacheng.tao@gmail.com0摘要0尽管深度神经网络取得了成功,但由于数据稀缺问题(如数据不平衡、未知分布和领域转移)仍然存在许多深度表示学习方面的挑战。为了解决上述问题,已经提出了各种方法来以传统方式探索样本关系(即从输入或损失函数的角度),但未能探索深度神经网络的内部结构以实现基于样本关系的学习。受此启发,我们提出了使深度神经网络本身具备从每个小批量中学习样本关系的能力的方法。具体而言,我们引入了一个批次变换器模块或BatchFormer,然后将其应用于每个小批量的批次维度,以在训练过程中隐式地探索样本关系。通过这样做,所提出的方法使不同样本之间能够协作,例如,头类样本也可以对尾类的学习做出贡献,以实现长尾识别。此外,为了减小训练和测试之间的差距,我们在训练过程中共享具有或不具有BatchFormer的分类器,在测试过程中可以将其移除。我们在十多个数据集上进行了大量实验证明,所提出的方法在不使用任何花哨的技巧的情况下,在不同的数据稀缺应用中取得了显著的改进,包括长尾识别、组合零样本学习、领域泛化和对比学习等任务。代码公开可用于https://github.com/zhihou7/BatchFormer。01. 引言0尽管深度神经网络在表示学习方面取得了巨大成功[23,24],但它严重依赖于收集大规模的训练数据样本,在实际应用中这往往是非常困难的。因此,如何在数据稀缺的情况下形成鲁棒的深度表示学习0不同类别共享知识传递0相同类别的不变特征学习0BatchFormer0长尾识别0零样本学习0领域泛化0对比学习0图1.不同图像之间的关系示意图。具体而言,相似的类别往往共享相似的部分(例如,公鸡、知更鸟、秃鹰共享身体形状和爪子形状)和可传递的增强(例如,角度)。因此,从头/已见类别向尾/未见类别传递共享知识可以促进长尾/零样本学习。此外,探索属于同一类别的图像之间的不变特征对于具有少量样本的鲁棒表示学习也是有帮助的。0通过探索样本关系来解决稀缺性问题已经引起了社区的广泛关注,特别是对于没有足够训练数据来保证泛化性能的任务,如长尾识别[65]、零样本学习[46]和领域泛化[8]。然而,如何找到一种统一、灵活且强大的方法来探索样本关系以实现鲁棒的表示学习仍然是一个巨大的挑战。图1展示了样本关系的有效性的一个直观例子。0在最近的数据稀缺学习方法中,样本关系已经被广泛地使用显式方案进行了探索,包括正则化[18, 40, 54,70]和知识传递[63, 66,78]。具体而言,一种简单但非常有效的方法是直接生成新的数据72570从现有的训练数据中提取样本/领域的知识[40],例如mixup[70],copy-paste [18],crossgrad [54]和compositionallearning [2, 28, 37,46]。另一种方法是在数据样本之间传递知识,例如:1)在长尾识别中在头部和尾部类别之间传递元知识[43,66];2)在零样本学习中将已知类别的知识传递给未知类别[46, 67];3)为域泛化传递不变的知识[1, 31,49]。然而,上述方法从深度神经网络的输入或输出探索样本关系,未能使深度神经网络本身具备探索样本关系的能力,即从批次维度的视角没有交互作用。0由于训练和推断之间存在差距,使得深度神经网络在批次维度上进行学习并不容易,即在测试期间我们并不总是有一批数据样本。例如,批量归一化要求始终保持小批量训练统计信息,其中运行的均值和方差用于归一化测试样本[32]。另一个例子是使用特征记忆在训练期间保持类别中心,然后在测试期间用于增强尾部/未知类别[43,78]。因此,为了探索样本关系以进行鲁棒的表示学习,我们提出利用结构性进展来学习样本关系的深度神经网络。具体而言,我们尝试通过在批次维度引入一个变换器来捕捉和建模每个训练数据样本小批量中的样本关系,我们将其称为BatchTransformer或BatchFormer。此外,为了减小训练和测试之间的差距,我们在BatchFormer模块之前和之后使用共享分类器来强制进行批次不变的学习。通过这样做,BatchFormer模块仅在训练期间需要使用,即我们不需要改变深度神经网络的推断结构。0从优化的角度来看,BatchFormer使得小批量样本的所有特征都能进行信息传播。因此,所有样本都可以对任何对象类别的学习做出贡献,这可能的见解是,这从整个小批量样本中隐含地丰富了当前训练样本的特征(例如,两个类别之间的共享部分)。例如,在长尾识别中,虚构的特征可以改善尾部类别的特征空间。同时,损失函数还通过在小批量中传播罕见类别的较大梯度来强调罕见类别。特别是,我们还发现BatchFormer对学习到的表示带来了两个明显的变化,即,它通过关注对象的几乎所有不同部分有效地促进了深度模型的学习1)全面的表示;2)通过关注对象本身而不是复杂的背景来学习不变表示。0基于内部结构的样本关系。不同样本之间存在多样且牢固的关系,这已经被广泛地通过各种策略使用[27, 42, 45,70]。张等人[70]提出通过mixup来规范化网络,以偏好训练样本之间的简单线性行为。Mixup[70]仅考虑示例之间的线性变换,而我们以非线性的方式研究示例之间的关系。样本的组合性启发了大量的方法来改善少样本和零样本学习的泛化能力[22, 28, 46,57],其中通过先验标签关系知识探索不同样本之间的共享部分/属性。还有一些方法通过研究样本/类别关系来进行传导推理[27, 42, 43, 45],例如,传导式少样本分类[42],元嵌入[43,78]。然而,这些方法需要使用多个样本(例如,查询集或特征库)进行推理。同时,大量的域泛化方法[1, 31,49]旨在找到跨域的因果/不变表示,我们认为这些方法内部利用了相同类别但不同域的样本之间的关系。然而,这些技术是多样且复杂的。相比之下,我们提出以一种简单而有效的方式来探索关系以进行鲁棒的表示学习,并因此同时受益于这些具有挑战性的任务。数据稀缺学习。使用不完美的训练数据进行学习被证明是非常具有挑战性的,这在各种数据稀缺任务中得到了探索。一个非常重要的问题是长尾识别,其中来自不同类别的数据通常呈现长尾分布:大部分类别只有很少的实例。当前的长尾方法可以大致分为分布再平衡方法(例如重新采样[10, 20, 21],重新加权[6, 15, 34,56, 72]),多个分支/专家的集成[7, 65, 73]和知识转移[25, 43, 63, 66,78]。许多知识转移方法已经通过元学习[66]、记忆特征[43, 78]等方式用于长尾识别。02. 相关工作0样本关系。不同样本之间存在多样且牢固的关系,这已经被广泛地通过各种策略使用[27, 42, 45,70]。张等人[70]提出通过mixup来规范化网络,以偏好训练样本之间的简单线性行为。Mixup[70]仅考虑示例之间的线性变换,而我们以非线性的方式研究示例之间的关系。样本的组合性启发了大量的方法来改善少样本和零样本学习的泛化能力[22, 28, 46,57],其中通过先验标签关系知识探索不同样本之间的共享部分/属性。还有一些方法通过研究样本/类别关系来进行传导推理[27, 42, 43,45],例如,传导式少样本分类[42],元嵌入[43,78]。然而,这些方法需要使用多个样本(例如,查询集或特征库)进行推理。同时,大量的域泛化方法[1, 31,49]旨在找到跨域的因果/不变表示,我们认为这些方法内部利用了相同类别但不同域的样本之间的关系。然而,这些技术是多样且复杂的。相比之下,我们提出以一种简单而有效的方式来探索关系以进行鲁棒的表示学习,并因此同时受益于这些具有挑战性的任务。数据稀缺学习。使用不完美的训练数据进行学习被证明是非常具有挑战性的,这在各种数据稀缺任务中得到了探索。一个非常重要的问题是长尾识别,其中来自不同类别的数据通常呈现长尾分布:大部分类别只有很少的实例。当前的长尾方法可以大致分为分布再平衡方法(例如重新采样[10, 20, 21],重新加权[6, 15, 34, 56,72]),多个分支/专家的集成[7, 65, 73]和知识转移[25, 43,63, 66,78]。许多知识转移方法已经通过元学习[66]、记忆特征[43,78]等方式用于长尾识别。…………72580Tr0编码器...分类器0训练分类器0BatchFormer0骨干网络0图2.使用提出的BatchFormer进行表示学习的主要框架。具体而言,我们在特征提取器(例如ResNet)和分类器层之间应用了一个BatchFormer模块来探索样本之间的关系。此外,在训练期间,在BatchFormer之前和之后使用共享分类器进行批次不变性学习,然后在测试期间可以去除BatchFormer。0和虚拟数据生成[25, 29,63]。然而,这些方法通常依赖于复杂的存储器库[43,78],或复杂的学习策略[66]或额外的蒸馏步骤[25]。其他数据稀缺任务包括零样本学习和领域泛化[5, 62,75],这需要使用未见过的训练数据来识别新的类别。具体而言,零样本学习旨在识别没有训练样本的未见类别,而领域泛化旨在将已见域的类别推广到未见域。当前的零样本学习方法[38, 48, 64,67]通常通过现代技术(例如图网络[46]、数据泛化[79]和组合学习[28,46])将已见类别的知识转移到未见类别的识别中。最近,组合零样本学习[2, 28, 37,46]在不同任务中得到了广泛的探索,因此我们主要在组合零样本学习[46]上评估了提出的BatchFormer。领域泛化技术通常包括数据增强[75, 76]、元学习[3,71]和解缠/不变表示学习[1, 9, 49,50]。BatchFormer有助于不变表示学习,因此在多个数据集上展示了其有效性。对比自监督学习。对比学习[19]在计算机视觉的自监督学习中取得了越来越大的成功,例如[47]、[26]、[12, 13,23]和[11]。对比学习旨在学习吸引相似样本和排斥不同样本的表示,其中相似样本和不同样本根据一些先验知识已知。然而,我们使用Transformer编码器网络隐式挖掘关系。具体而言,我们还展示了BatchFormer在对比学习中的有效性,例如MoCo-v2 [12]和MoCo-v3 [13]。03. 方法0在本节中,我们首先概述了使用提出的BatchFormer模块的主要深度表示学习框架。然后我们介绍了提出的0详细介绍了BatchFormer模块,包括编码器和共享分类器。最后,我们从梯度流的角度讨论了提出的BatchFormer背后的见解。03.1. 概述0不同样本之间的关系是多样且复杂的,而先前的方法使用了一种直接的方式来探索样本之间的关系,例如通过不同输入图像的联合操作和使用元嵌入或损失函数进行知识转移。在现有方法中,通常需要明确定义样本关系的显式方案,然后才能用于学习,因此无法自动学习表示学习的样本关系。0我们从学习的角度考虑样本之间的关系,即我们的目标是使深度神经网络能够从每个小批量样本中学习样本之间的关系,从而进行端到端的深度表示学习。使用提出的新模块的主要深度表示学习框架如图2所示。具体而言,首先使用骨干网络为每个数据样本学习表示,即每个小批量中的不同样本之间没有交互。然后,引入一个新的模块来使用Transformer中的交叉注意机制建模不同样本之间的关系,因此我们将其称为Batch Transformer或BatchFormer模块。BatchFormer的输出然后用作最终分类器的输入。为了填补训练和测试之间的差距,我们还在BatchFormer模块之前使用了一个辅助分类器,即通过在最终分类器和辅助分类器之间共享权重,我们能够将从样本关系中学到的知识转移到骨干网络和辅助分类器中。因此,在测试期间,我们可以去除BatchFormer,直接使用辅助分类器进行分类。def BatchFormer(x, y, encoder, is training):if not is training:return x, ypre x = xx = encoder(x.unsqueeze(1)).squeeze(1)x = torch.cat([pre x, x], dim=0)y = torch.cat([y, y], dim=0)return x, y3.2. BatchFormerˆXl = LN(MSA(Xl−1) + Xl−1),(1)Xl = LN(MLP( ˆXl) + ˆXl),(2)!"!#!$%&'"'&'$%&(!"('"(!#('#(!#('"(!)('"(!"('#(!"('$%&(!$%&('#(!#('$%& (!$%&('$%&The proposed BatchFormer is a plug-and-play modulefor robust deep representation learning. During optimiza-tion, the proposed BatchFormer modules can be jointly opti-mized with other deep learning backbone networks (includ-ing both CNNs and Vision Transformers) in an end-to-endway. The proposed BatchFormer is also very easy to imple-ment using typical deep learning softwares,. For example,we show how to implement BatchFormer with several linesof PyTorch code in Algorithm 1.̸̸̸̸72590算法1: BatchFormer的Pytorch代码。0# x: 形状为[N, C]的输入特征0# 编码器: TransformerEncoderLayer(C,4,C,0.5)0在本小节中,我们介绍了提出的BatchFormer的详细结构。具体而言,提出的BatchFormer模块利用多个变压器编码器层的堆叠来建模不同样本之间的关系。变压器编码器包括多头自注意力(MSA)和MLP块。每个块后面使用了层归一化(LN)。设 X ∈ R N × C0表示输入特征序列,其中 N 是序列的长度,C表示输入特征的维度。然后我们有变压器编码器的输出如下所示,0其中 l表示变压器编码器中的层索引。多头注意力层已被广泛用于建模通道和空间维度的关系[16, 30,60]。因此,我们认为它也可以扩展到探索批次维度的关系。因此,与典型的变压器层的使用方式不同,BatchFormer的输入将首先被重新形状以使变压器层在输入数据的批次维度上工作。通过这样做,变压器层中的自注意机制就变成了BatchFormer中不同样本之间的交叉注意力。共享分类器。由于我们不能假设测试时的批次统计信息,例如样本关系,因此在BatchFormer之前和之后的特征之间可能存在差距。也就是说,我们不能通过直接去除BatchFormer来对新样本进行推理。因此,除了最终的分类器之外,我们还引入了一个新的辅助分类器,不仅可以从最终的分类器中学习,还可以与BatchFormer之前的特征保持一致。为了实现这一点,我们简单地共享了辅助分类器和最终分类器之间的参数/权重。我们将这种简单而有效的策略称为“共享分类器”。通过提出的“共享分类器”,我们可以在测试过程中移除BatchFormer模块,同时仍然从使用BatchFormer进行样本关系学习中受益。0图3.在小批量中使用BatchFormer进行梯度传播。虚线表示样本之间的新梯度传播。03.3. BatchFormer: 一个梯度视角0为了更好地理解提出的BatchFormer如何通过探索样本关系来帮助表示学习,我们还从优化的梯度传播的角度提供了直观的解释。直观地说,没有BatchFormer,所有的损失只在相应的样本和类别上传播梯度,即一对一,而有了BatchFormer,就会有其他样本上的梯度(虚线)如图3所示。具体而言,给定小批量中的样本X(X =X0,X1,Xi,...,XN-1)和相应的损失L0,L1,Li,...,LN-1,有了BatchFormer,我们有0∂Li∂X = ∂Li0∂Xi +0N −1 �0j ≠ i0∂Li∂Xj. (3)0∂Xj,其中i ≠ j。从梯度优化的角度来看,Li还根据样本Xj(j≠i)优化网络,这与没有BatchFormer的模型有显著区别。换句话说,Xj(j ≠ i)可以被视为y i 的虚拟样本[25,70],其中y i 是X i的标签。我们认为BatchFormer和Mixup[70]都可以被视为数据相关的增强。BatchFormer通过交叉注意力模块从样本的邻近分布中隐式绘制虚拟样本。从这个角度来看,BatchFormer通过在小批量中的样本之间建立关系模型,隐式地为每个标签y i 增加了N -1个虚拟样本。之前的方法[3,79]已经证明数据增强对于长尾识别[25, 63]、零样本RIDE* [65]48.068.149.2 23.9----Balanced∗ [52] 50.768.049.7 31.9 46.470.051.5 24.3+ BatchFormer51.768.449.3 34.3 47.570.253.3 25.5Paco [14]51.963.953.0 36.5 47.168.151.5 27.5+ BatchFormer52.468.452.1 34.0 47.868.153.0 28.2OLTR [43]35.643.235.1 18.5---LFME [68]38.847.037.9 19.2----Balanced∗ [52] 41.052.638.3 18.0 50.161.147.5 27.6+ BatchFormer† 43.252.840.7 24.9 51.161.447.8 33.6RIDE-3e ∗ [65] 44.757.040.3 25.5 53.664.950.4 33.2+ BatchFormer45.756.342.1 28.3 54.164.351.4 35.1PaCo [14]----57.064.855.9 39.1+ BatchFormer----57.462.756.7 42.172600学习[79]和领域泛化[75,76]。虚拟样本对于尾部类别非常有帮助,因为这些类别缺乏样本。我们在第5节的梯度分析中还证明了尾部类别在其他样本上具有更大的梯度,相比之下,头部类别的梯度较小。04. 实验0在本节中,我们进行了广泛的实验,以证明BatchFormer在各种数据稀缺学习任务中的有效性,包括长尾识别、零样本学习、领域泛化和对比学习。附录提供了其他任务的更多结果,例如图像分类(包括Visual Transformer [16,58])以及更多的消融研究。04.1. 长尾识别0数据集。我们使用以下四个流行的长尾识别数据集:1)CIFAR-100-LT有50,000个训练图像和10,000个验证图像,包含100个类别。2)ImageNet-LT [43]包含来自ImageNet2012的1000个类别的115.8K图像。每个类别中的图像数量范围从5到1,280;3)iNaturalist 2018[59]是一个包含8,142个类别的大规模细粒度数据集,共有437.5K图像;4)Places-LT [43]是从Places数据集[74]派生出的长尾场景分类数据集,包含来自365个类别的184.5K图像,类别实例数量范围从5到4,980。基线方法。我们使用以下三种基线方法:平衡Softmax [52],RIDE[65]和PaCo[14]。除非另有说明,我们遵循先前方法使用的相同设置,并在测试期间移除了提议的BatchFormer。特别地,与RIDE [65]相比,有一个小的差异。我们在4个V100GPU上使用400个批次大小对ImageNet-LT进行100个epoch的训练,初始学习率为0.1,对iNaturalist2018进行0.2的训练。iNaturalist2018上的学习率按照余弦计划进行衰减。我们基于3个RIDE专家报告了BatchFormer的性能。所有实验都在V100GPU上使用PyTorch进行。有关其他详细信息,请参见附录A。CIFAR-100-LT的结果。表1展示了提议的BatchFormer模块与最先进的方法(例如平衡Softmax和Paco)是正交的。我们注意到,当不平衡比例为100时,BatchFormer在少数类别上大幅提高了平衡Softmax的性能,提高了2.4%;当不平衡比例为200时,平衡Softmax在中等类别上提高了1.8%,在少数类别上提高了1.2%。此外,对于不平衡比例为200的情况,BatchFormer还使Paco在中等类别上的结果提高了1.5%,在少数类别上提高了0.7%。对于比例为100的情况,BatchFormer主要改善了许多类别,因为Paco在少数类别上已经取得了良好的性能。更多解释请参见附录(即没有PaCo损失的比较,但有强大的数据)0表1.CIFAR-100-LT上不平衡比例为100和200的说明。�表示我们在一个阶段使用发布的代码进行训练(例如平衡softmax[52])。Med表示中等类别。RIDE*表示我们使用了3个专家。0方法 100 200 全部 多个 中等 几个 全部 多个 中等 几个0表2.在ImageNet-LT上的ResNet-10和ResNet-50示例。�表示我们使用发布的代码进行单阶段训练。RIDE-3e表示RIDE使用3个专家。0方法 ResNet-10 ResNet-50 全部 多个 中等 几个 全部 多个 中等几个0两阶段RIDE-3e [ 65 ] 45.9 57.6 41.7 28.0 54.9 66.2 51.7 34.9 +BatchFormer 47.6 55.3 45.5 33.3 55.7 64.6 53.4 39.00数据增强)。总体而言,BatchFormer在保持头部类别性能的同时,提高了尾部类别的识别。同时,BatchFormer可以与CIFAR-100-LT上的当前流行方法相结合。ImageNet-LT上的结果。如表2所示,BatchFormer在ResNet-10骨干网络下,大幅提高了BalancedSoftmax在中等类别上的性能,提高了少数类别上的性能。在ResNet-50骨干网络下,BatchFormer在Few类别上大幅提高了BalancedSoftmax的性能。当BatchFormer应用于RIDE [ 65]时,ResNet-10骨干网络下中等类别和少数类别的结果分别提高了1.8%和2.8%。在ResNet-50下,中等类别和少数类别分别提高了1%和1.9%。BatchFormer在整体上取得了明显的改进,但在许多类别上的性能略有下降。此外,BatchFormer还有效地改进了RIDE在两阶段训练策略下的性能(RIDE使用较大的模型来教小模型进行蒸馏)。在这里,与RIDE不同,我们使用预训练模型(相同的模型)初始化模型,并使用BatchFormer重新训练模型(详见附录)。PaCo [14 ]是最近用于长尾识别的方法。BBN [73]66.349.470.865.3cRT [36]65.269.066.063.2RIDE-3e [65]72.270.272.272.7PaCo [14]73.2---RIDE-3e∗ [65]72.568.172.773.2+ Batchformer74.165.574.575.8OLTR [43]35.944.737.025.3τ-normalized [36]37.937.840.731.8BALMS* [52]37.841.438.829.1+ Batchformer38.239.538.335.7PaCo [14]41.237.547.233.9+ Batchformer41.644.043.133.772610表3. iNaturalist2018示例。�表示我们使用发布的代码进行一阶段训练。RIDE-3e表示RIDE使用3个专家。0方法 全部 多个 中等 几个0表4. Places-LT示例(骨干网络为ResNet-152)。�表示我们使用发布的代码训练的结果。0方法 全部 多个 中等 几个0使用监督对比学习的Paco进行识别。我们还发现BatchFormer能够在中等类别和少数类别上促进ImageNet-LT的性能。值得注意的是,PaCo使用了来自监督对比学习的强数据增强策略,训练了400个训练时期。我们认为数据增强限制了BatchFormer在ImageNet-LT上的改进。特别是,附录还显示BatchFormer在平衡的完整ImageNet上取得了可比的结果。iNaturalist2018上的结果。我们主要评估RIDE上的BatchFormer,因为平衡的Softmax在iNaturalist2018上的性能有限,而PaCo需要超过36个GPU天才能收敛(详见附录)。我们使用余弦衰减学习率调度器对RIDE进行单阶段训练,并在表3中展示了强基线为72.5%(优于报告结果)。特别是,BatchFormer进一步提高了中等类别和少数类别分别1.8%和2.6%。在这里,为了与以前的工作进行公平比较,我们主要评估具有类似GFlops的BatchFormerRIDE3个专家。Places-LT上的结果。表4说明BatchFormer改善了BALMS在少数类别上的性能。此外,BatchFormer还有效地改进了Places-LT上的最新技术PaCo [ 14]。这里,与CIFAR-100-LT和ImageNet-LT不同,BatchFormer主要改进了Many类别。这可能是因为PaCo在Many类别上的结果非常糟糕,而BatchFormer可以重新平衡不平衡的数据集。04.2. 零样本学习0我们在组合式零样本学习[46]上评估BatchFormer。所有实验都使用一台V100进行评估。0GPU。学习率、epoch、优化器与[46]完全相同。详见附录A。数据集。实验在三个数据集上进行:1)MIT-States[33]包含30,000个自然物体的训练图像,其中有1,262个已见组合(每个组合23.8张图像,115个状态和245个物体),以及13,000个测试图像,其中包含400个已见组合和400个未见组合;2)UT-Zappos[69]包括23,000个鞋类目录的训练图像,我们使用[51]的划分。UT-Zappos有83个已见组合用于训练(每个组合277.1张图像,16个状态,12个物体),以及18个已见组合和未见组合的测试集;3)C-GQA[46]提供了26,000个训练图像,其中包含6,963个已见组合(每个组合3.7张图像,453个状态,870个物体),以及3,000个测试图像,其中包含18个已见组合和未见组合。度量。我们采用[51]的评估协议,报告已见组合和未见组合之间的曲线下面积(AUC)(以%表示)。与[46]类似,我们还报告未见组合和已见组合的准确率,以及最佳调和平均值。表5展示了BatchFormer相对于基线在所有数据集上改进的AUC和HM。特别是,为了公平比较,我们使用相同的设置使用发布的代码来复现[46]作为基线。我们注意到BatchFormer主要改进了MIT-States和C-GQA上的已见类别,而BatchFormer在未见类别上的改进幅度较大,接近5%。这可能是因为MIT-States和C-GQA上的已见组合实例数量较少,例如MIT-States上每个已见组合的图像数量为23.8张,C-GQA上每个已见组合的图像数量为3.7张。换句话说,MIT-States和C-GQA上的已见组合识别是少样本学习。我们认为BatchFormer在这两个数据集上主要是在同一类别的图像中找到不变特征。04.3. 领域泛化0通过探索同一类别样本之间的关系,更容易找到不变特征,从而提高领域泛化能力。我们首先在ResNet-18下展示BatchFormer在PACS[39]上有效地改进了基线(不使用领域泛化技术)。然后,我们将BatchFormer应用于最近的领域泛化,例如SWAD[8],并展示了BatchFormer的有效性。数据集。我们在几个领域泛化数据集上展示了BatchFormer的应用:1)PACS[39]涵盖了7个物体类别和4个领域(照片、艺术绘画、卡通和素描),2)VLCS[17](4个领域,5个类别,10,729张图像),OfficeHome[61](4个领域,65个类别和15,588张图像),以及TerraIncognita[4](4个领域,10个类别和24,788张图像)。详情。对于基线,我们使用SGD(30个epoch,初始学习率为02040608010052.555.057.560.062.565.067.570.072620表5. BatchFormer在组合式零样本学习上的说明。*表示我们使用发布的代码复现结果。S表示已见,U表示未见,s表示状态,o表示物体。[41]的结果来自[46]。0方法MIT-States UT-Zap50K C-GQA AUC HM S U s o AUC HM S U s o0CompCos [44] 4.5 16.4 25.3 24.6 27.9 31.8 28.7 43.1 59.8 62.5 44.7 73.5 - - - - - - CGE [46] 6.5 21.4 32.8 28.0 30.1 34.7 33.5 60.564.5 71.5 48.7 76.2 3.6 14.5 31.4 14.0 15.2 30.40CGE* 6.3 20.0 31.6 27.3 30.3 34.5 31.5 46.5 60.3 64.5 46.3 74.4 3.7 14.9 30.8 14.7 15.8 29.0 +BatchFormer 6.7 20.6 33.2 27.7 30.834.7 34.6 49.0 62.5 69.2 49.7 75.6 3.8 15.5 31.3 14.7 15.3 30.00表6. BatchFormer在PACS[39]上的领域泛化中的不同工作的说明。0方法艺术绘画卡通素描照片平均值0基线 79.9 ± 1.0 73.0 ± 1.5 67.7 ± 3.0 95.7 ± 0.4 79.1+BatchFormer 80.4 ± 0.2 73.8 ± 2.0 68.6 ± 1.8 96.3 ± 0.2 79.80CORAL [55] 79.2 ± 1.7 75.5 ± 1.1 71.4 ± 3.1 94.7 ± 0.3 80.2+BatchFormer 80.6 ± 0.9 74.7 ± 1.9 73.1 ± 0.3 95.1 ± 0.3 80.90MixStyle [77] 81.7 ± 0.1 76.8 ± 0.0 80.8 ± 0.0 93.1 ± 0.0 83.1+BatchFormer 84.8 ± 0.4 75.3 ± 0.0 81.1 ± 0.4 93.6 ± 0.0 83.70表7.基于最近工作[8](ResNet-18)的BatchFormer领域泛化示例。我们展示了不同领域的平均结果。Terra是TerraIncognita。附录中有更多结果。0方法 PACS VLCS OfficeHome Terra0SWAD* [8] 82.9 76.3 62.1 42.1 + BatchFormer 83.776.9 64.3 44.80表8. BatchFormer在对比学习(MoCo [12, 13,23]下的ResNet50)的线性分类上的示例。0方法 时代 Top-1 Top-50MoCo-v2 [12] 200 67.5 - MoCo-v2 [12]+BatchFormer200 68.4 88.50MoCo-v3 [13] 100 68.9 - MoCo-v3 [13]+BatchFormer100 69.8 89.500.001),并在24个时期降低学习率。我们还使用了常见的数据增强方法,例如翻转、颜色抖动和缩放。我们训练网络5次并报告平均值。其他方法是基于[35]进行比较的。为了与SWAD[8]进行公平比较,我们遵循[8]的优化方法,并使用[8]的发布代码在ResNet-18上评估BatchFormer。更多细节请参见附录。0表6说明BatchFormer在基线、CORAL [55]和MixStyle[77]上持续改进。BatchFormer还明显改进了最近的工作[8]在表7中的四个数据集上。特别是,在OfficeHome和TerraIncognita上,BatchFormer将[8]的改进超过了2%。这说明BatchFormer能够促进不变表示学习,并提高跨域泛化能力。0moco-v3+BatchFormermoco-v3moco-v2+BatchFormermoco-v20图4.BatchFormer在线性分类下的收敛性。批量大小和优化器与[13]相同。04.4. 自监督学习0对比学习旨在学习吸引相似样本和排斥不同样本的表示,而BatchFormer在样本之间构建了一个Transformer网络,以隐式地探索表示学习的样本关系。BatchFormer也可以应用于对比学习。我们主要在线性分类协议下评估BatchFormer与MoCo-v2 [12]和MoCo-v3[13]。附录中提供了目标检测结果。表8显示,BatchFormer也能够改善自监督学习的表示学习,例如,BatchFormer在ImageNet上持续提高MoCo-v2和MoCo-v3约1%。图4显示了BatchFormer预训练模型的线性分类收敛速度更快,例如,BatchFormer预训练模型仅用38个时期就达到了moco-v3的性能。04.5. 消融研究0批量大小。批量大小表示Transformer的大小。表9显示,当批量大小小于128时,BatchFormer对批量大小不太敏感。我们发现批量大小为512时,在Few类别上能够获得更好的性能。共享分类器。有趣的是,表10展示了没有共享分类器的BatchFormer在三个类别上达到了类似的性能,而有共享分类器的BatchFormer在Many类别上保持了性能。这证明了共享分类器的有效性和BatchFormer的再平衡能力。020406080100CIFAR-100-LT Classes0.51.01.52.02.5Gradient Normalization1e402004006008001000ImageNet-LT Classes0.60.81.01.21.41.61.81e472630图5.基于[52]的Grad-Cam演示BatchFormer在低样本测试图像上的效果。第一行是基线,第二行是BatchFormer。左侧的图像显示BatchFormer使模型在场景简单清晰时注意到更多细节,而右侧的图像显示BatchFormer使模型忽略图像中的虚假相关性。附录中有更多图示。0图6.CIFAR-100-LT和ImageNet-LT上每个类别对其他图像的梯度(基于[52])。对于每个类别,我们获得每个标签对其他图像的损失的梯度归一化,然后平均测试集中每个类别的梯度。根据训练集中实例数量的降序对类别进行排序。0表9. 基于平衡Softmax
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功