没有合适的资源?快使用搜索试试~ 我知道了~
69590检索增强分类用于长尾视觉识别 *0Alexander Long 1, 3, Wei Yin 2, Thalaiyasingam Ajanthan 1, Vu Nguyen 1, Pulak Purkait 1, Ravi Garg 1, Alan Blair 3, Chunhua Shen 4,Anton van den Hengel 1, 201 亚马逊 2 阿德莱德大学,澳大利亚 3 新南威尔士大学 4 浙江大学,中国0摘要0我们引入了检索增强分类(RAC),这是一种通用方法,可以将标准图像分类流程与显式检索模块相结合。RAC由一个标准的基础图像编码器和一个并行的检索分支组成,该分支查询一个非参数化的预编码图像和相关文本片段的外部存储器。我们将RAC应用于长尾分类问题,并在Places365-LT和iNaturalist-2018上取得了显著的改进(分别为14.5%和6.7%),尽管只使用训练数据集本身作为外部信息源。我们证明了RAC的检索模块在没有提示的情况下,学习到了尾部类别的高准确性。这反过来使基础编码器能够专注于常见类别,并提高其性能。RAC代表了一种利用大型预训练模型的替代方法,而无需进行微调,同时也是更有效地利用常见计算机视觉架构中的外部存储器的第一步。01. 引言0大型Transformer[48]模型已经在计算机视觉领域取得了突破,参数数量和预训练数据集的大小迅速增加[11, 26, 34, 42, 44,53]。这些模型学习到的分布式表示在各种任务上都取得了显著的性能提升,但隐式地将世界知识存储在其参数中,使得事后修改[8]和解释性[4]变得具有挑战性。此外,现实世界的数据天生就是长尾分布的,而在当前的硬件约束下,隐式存储世界中的每个视觉线索似乎是徒劳的。作为这种完全参数化方法的替代方案,我们提出了使用显式外部存储器来增强标准分类流程的方法,从而将模型性能与参数数量分离,并促进。0*WY在亚马逊工作时完成了这项工作,CS在阿德莱德大学工作时完成了这项工作。0通过动态添加和删除信息,明确不改变模型权重。为了评估我们的方法,我们专注于长尾视觉识别问题,因为它与一般代理人可能遇到的许多属性相似。具体而言,数据分布在每个类别上高度倾斜,大多数类别包含少量样本。这些小类别中的样本数量,通常被称为“尾部”,可能远远超过高样本类别(称为“头部”)中的样本数量。在这种情况下,由于尾部类别提供的信息不足以及头部类别在学习过程中的主导作用,学习变得具有挑战性。长尾学习是更一般的标签偏移问题的一个典型实例,其中偏移在训练和测试期间都是静态和已知的。尽管长尾分布的分类性能在实践中非常重要,但在更平衡的类别上,其分类性能明显落后于最先进的方法。基本方法主要是同一核心思想的变体,即“调整”,鼓励学习者关注分布的尾部。这可以通过在训练过程中隐式地过/欠采样样本[3, 12, 19,22]或基于聚类的采样[6],或通过逻辑回归[10, 36,57]或损失[21,36]修改来实现。这些方法主要关注一致性,确保最小化训练损失对应于已知的平衡测试分布上的最小错误。另一种方法是集成模型。最近的研究[17, 52,59]使用集成模型来诱导对测试分布的不变性,而不是忽略对测试分布的了解。通常的做法是在不同的损失或重新采样技术下训练单独的模型,并在测试时将它们组合起来。我们引入了第三种方法,称为检索增强分类(RAC),旨在将尾部知识明确存储为标准分类流程的检索增强。RAC的检索模块是多模态的,利用图像表示作为检索键,并返回结果。+69600T0I0T0fret(xq)0E0E0xq0k0'飞机场'0'跑道'0'科学博物馆'0'机场候机楼'0'起居室'0'飞机场'0'飞机场'0展平,标记化0'人行横道'0检索模块0zq0Z0B0fret(xq)fbase(xq)0xq0f(xq)0规范化0模块0组合,重新缩放0(a)所提出的RAC架构(b)检索模块0图1.(a)RAC概述。RAC由一个检索模块组成,该模块通过显式的外部存储器增强了标准编码器B(∙)。(b)检索模块由由固定的预训练图像编码器E(∙)编码的外部图像I和使用近似k-NN查询并通过文本编码器T(∙)编码的相关文本T组成。然后将检索编码器的logits与基础网络的logits相结合。在我们的实例中,B和E是ViT,T是类似BERT的文本编码器。0与每个图像相关的编码文本信息。我们对这个文本的性质没有限制;它可以是来自监督训练集的标签、描述、标题等。在最简单的情况下,索引中的图像和相关文本可以仅限于感兴趣的数据集中的图像和标签。RAC同时训练标准的基础编码器和单独的检索分支。我们通过实验证明,检索分支在没有明确提示的情况下学会了关注尾部类别。这使得基础编码器不再需要对这些稀疏类别进行建模,因为它们已经通过检索模块的非参数化内存有效地表示。这反过来使得基础编码器在头部类别上达到更高的性能水平。RAC在常见的长尾分类基准上实现了最先进的性能,甚至超过了诸如LACE[36]这样的方法,这些方法在类平衡误差方面是可证明的一致的,并且在高斯类先验下是贝叶斯最优的。RAC的一个主要优点是它能够使用大型的预训练模型进行推断(用于索引和检索编码),利用它们丰富的表示来提高基础学习器的分类性能。这扩大了这些模型的适用范围,因为微调的成本很高。我们的贡献总结如下:01. 在长尾视觉识别设置中首次展示了有效的外部存储器。02. 一种显著改进当前最先进技术的长尾分类新方法。03.对所提出方法的洞察,重新实现了超过当前最先进技术的强基准。02. 相关工作0重新采样和Logit调整过采样稀疏类别[3,19]是解决分布偏差的最古老方法之一,但仍然广泛使用。对常见类别进行欠采样[12],在像素或特征空间中对稀疏类别应用额外的数据增强[5,32],或者从预先计算的聚类中均匀采样[22]也被提出。Hong等人[21]提出了一种分布感知的权重正则化器,对头部类别的影响更大,类似于权重归一化。然而,实验证明,得到的模型(LADE)只比直接使用平衡softmax获得微小的增益。最近的工作[36]将许多经验成功的方法统一到了一个基于Fisher一致性评分器的平衡误差中,并且还表明当与ADAM优化器一起使用时,权重归一化会失败。Zhang等人[54]采用了两阶段方法,并提出了一种基于广义类平衡softmax的冻结预训练logits的类特定可学习(通过单层NN)的重新加权。他们表明,与重新训练相比,转换分类头表现更好。PaCo[6]是目前长尾分类的最新技术,将可学习的logit调整与对比学习[38]相结合。尽管简单,调整后的logit方法(LACE,LDAM,LADE)仍然是解决长尾问题的强大解决方案,通常能够达到与最先进的集成方法相近的1-2%的top-1准确率(见表1,表2)。0集成方法在提出TADE[56]时,张等人明确训练了三个头部,使用标准的、平衡的BE(x, f(·)) =(1)ℓBalCE(x, y, fy(·)) = −69610并且通过数据增强在测试时线性组合它们的预测结果,通过每个头部在数据增强下的稳定性衡量来加权。相比之下,Wang等人[50]通过一个(类别平衡的)KL损失将多个独立训练的分类头部组合起来,使它们的预测结果在预测上相互独立,并使用一个小的路由网络来提高推理过程中的计算效率。外部存储器最早成功将深度网络与外部存储器结合的模型之一是神经图灵机[15]。该模型的目的是符号操作,因此其架构与RAC的架构非常不同。Gong等人[14]提出了一个类似的用于异常检测的检索模块架构,但没有RAC的对应基础模块。最近,在自然语言处理领域,一些研究提出使用非参数化存储器来增强大型语言模型,以允许显式访问外部数据[18,30]。虽然这些方法使用了差分检索器,引入了查找/表示漂移的问题,但它们与RAC仍然密切相关。k-NN语言模型(LMs)[27]与我们的工作最相似,它直接将检索分布与基础LM生成的下一个标记分布插值,从而降低了组合模型的困惑度。潜在检索已经应用于文本开放领域的问答[25,29]。其主要区别在于这些方法返回与检索键最相似的信息,而RAC返回与检索样本相关联的信息(文本)。类似于RAC的方法已经应用于知识密集型问答[49],其中一个由符号知识库(KB)中的三元组组成的“事实存储器”直接使用语言模型的最终表示作为键进行编码和查询。在计算机视觉中,非参数化检索已经被用于解决细粒度检索问题,例如在[46]中强制执行实例级别的检索损失。[33]中提出的开放世界长尾模型也使用了检索模块,但主要用于在“开放世界”环境中区分已见和未见的样本,而不是像我们这样提高已见类别的性能。03. 方法03.1. 准备工作0在长尾视觉识别中,模型可以访问一组N个训练样本S ={(xn, yn)}Nn=1,其中xn ∈ X � RD,标签Y = {1, 2, ..,L}。训练类别频率定义为Ny = �(xn, yn) ∈ S 1yn =y,测试类别分布假定是从Y1上的均匀分布中采样的,但在训练过程中没有明确提供。0尽管这对于Places365-LT是正确的,但iNaturalist2018每个类别的测试样本数量是固定的(N test i = 3,�i ∈ Y)0目标是最小化得分器f: X → RL的平衡误差,定义为:0y ∈ Y P x | y0y / ∈ arg max y'∈ Y f y' (x)0其中f y(x)是样本x的真实标签y的逻辑回归。传统上,这是通过最小化代理损失Balanced Softmax Cross Entropy(BalCE)来实现的:0Ny log e f y (x)0y' ∈ Y e f y' (x) .(2)0这是一种重新加权的形式,其中每个标签的个别损失的贡献通过对P(y)的近似进行缩放,对于ℓBalCE来说,P(y)是类别频率的倒数。BalCE在这个领域仍然是一个强有力的基准(见第4.3节)。03.2. LACE损失0与重新加权相反的是调整logits本身,但两者可以结合使用,得到重新加权(通过αy)和调整(通过∆y)softmax交叉熵损失的一般形式;0ℓ(x, y, fy(∙)) = −αy log efy(x) + τ ∙ ∆y0�0y′ ∈ Ye fy′(x) + τ ∙∆y′(3)0其中,τ是一个常数温度缩放参数。最近的几项关注长尾学习的研究利用了这个损失的特殊情况。如果αy = 1,那么可以恢复出LogitAdjusted Cross-Entropy(LACE)[36],其中∆y =log(Ny/N);而LDAM[1]则可以通过αy = 1/Ny和∆y = 0来恢复。0∆y =0� N − 1 / 4 y,如果y′ =y,否则为0。(4)0这两种方法都对于平衡损失是Fisher一致的。可以通过一个留置集找到最佳的τ,或者如果logits已经校准,则将其设置为1[16]。在我们的实验中,通过标签平滑[37]来实现这种校准,已经被证明可以隐式地校准神经网络[45]。这个特性在RAC的设计中非常重要,因为我们使用LACE作为基本损失,并且不应用手动的温度调整,除非另有说明,设置τ =1。03.3. 检索增强分类0RAC的整体思想非常简单——将评分器分为两个分支(见图1),其中一个分支(检索)对类别频率具有隐式的不变性。这两个分支都在共同的LACE损失下进行训练,它们的个别logits通过归一化、加法和重新缩放操作进行组合,以确保在训练过程中一个分支不会覆盖另一个分支。1011021030.000.250.500.751.000.000.250.500.751.000501001502002503003500.000.250.500.751.0069620基础分支编码器B(∙)可以选择任何标准的骨干网络。在我们的实验中,我们主要使用Visual ImageTransformer(ViT-B-16)的变体[11],通过标准线性层转换最终的令牌嵌入。检索模块(见第3.4节)接收原始图像,并在预计算嵌入的索引上执行潜空间查找,返回与当前考虑的图像xq最相似的前k个图像附加的文本。然后,将该文本通过文本编码器进行处理,并通过另一个线性层转换为logits fret(xq)。我们使用了来自CLIP[42]的预训练BERT-like文本编码器(63M参数,具有8个注意力头的12层512宽模型),我们选择它是因为在预训练期间使用了广泛(400M)范围的图像、替代文本对,并且由于在架构中保留了掩码自注意力,与其他语言模型兼容。在我们的实验中,文本编码器的选择并不关键,因为被检索的文本信息(标签)并不是非常复杂的,即使是现成的词嵌入,甚至是随机编码,仍然表现得相当好(见图3)。这种选择会增加训练时间,因为参数数量更多(见表5),但可以使RAC适应更复杂的检索文本。为了组合基础分支和检索分支,我们将每个分支的输出归一化为单位范数,并将它们相加。为了确保训练动态不会改变(通过较低的logit幅度)与基线相比,我们通过一个常数因子(取决于L,因为最终层的Xavier初始化[13]也取决于L)对组合的logits进行重新缩放。0f(x) = L0f 0|| f ret(x) || 2 + fbase(x)0|| f base(x) || 20�,(5)0其中,f base(x)代表图像编码器骨干网络产生的logits,fret(x)是检索模块的输出。这种直接的设置有利于将分支输出视为独立的logits,增加了RAC的可解释性,并允许我们精确评估每个分支的每类准确性(见图2)。虽然有许多方法可以组合这些分支,如置信度或基于距离的加权、注意机制等,但我们发现这种方法已经足够,通过学习到的logits的锐度隐式地进行了每个分支的加权。03.4. 检索模块0检索模块由一个冻结的预训练图像编码器E(∙)、一个预先存在的外部图像集合I = {ij}Jj=1,以及相关的文本T ={tj}Jj=1组成,这些文本可以是标签、描述、标题等。除非另有说明,E(∙)是一个ViT-B-16,根据[43]在ImageNet上进行预训练。在训练RAC之前,检索模块被初始化,通过生成图像键Z = {zj},其中zj= E(ij) � j,并将结果表示存储在快速近似k-NN索引中。0类别计数(对数刻度)0f base y 每类准确率0f ret y 每类准确率0f y 每类准确率0图2.来自每个分支输出的Places365-LT每类top-1准确率。在没有提示的情况下,检索模块学会了关注尾部类别。为了清晰起见,显示了类别的20个样本移动平均值(实线)。0通过生成图像键Z = {zj}来初始化,其中zj = E(ij) �j,并将结果表示存储在快速近似k-NN索引中。在训练过程中,我们为训练批次中的每个图像xq生成特征zq =E(xq)。k-NN对每个zq进行查询,并返回Z中k个最接近的键的索引列表,其中余弦相似度是距离度量。对于每个查询,T中的文本元素都会被恢复,为每个查询生成k个文本元素。然后,这些文本元素通过文本编码器T(∙)进行编码,产生检索分支(固定长度)的logits,fret(xq)。文本字符串在76个标记后被截断,并进行零填充。这种方法允许每个批次只进行一次文本编码器调用,而不是如果每个文本片段分别编码,则需要k次调用,这将导致显著的减速。使用大规模的Transformer确保了RAC可以扩展到更长的文本片段,如果外部信息扩展到除标签之外的其他来源。检索模块的一个关键特性是其能够通过标签包含其他不相关的数据源。通过这种方式,我们可以动态地添加或删除I中的数据集,并且如果新的示例相似(从编码器的角度来看),它们可以直接影响分类准确性。Places365-LTiNaturalist 201869630方法 骨干网络 多样性 中等样本 少样本 全部样本0输入: 224 × 2240OLTR [33] RN50 59 64.1 64.9 63.9 Dec. LWS [24] † RN50 65.066.3 65.5 65.9 LADE [21] † RN50 - - - 70.0 ALA [57] † RN50 71.370.8 70.4 70.7 LACE [36] RN50 - - - 71.9 RIDE [50] RN50 70.972.4 73.1 72.6 TADE [56] RN50 74.4 72.5 73.1 72.9 DisAlign [54]RN152 - - - 74.1 PaCo [6] RN152 75.0 75.5 74.7 75.2 RAC(我们的方法) ViT-B-16 75.92 80.47 81.07 80.240输入: 384 × 3840Grafit RegNetY - - - 81.2 RAC (我们的方法) ViT-B-16 82.91 85.7186.06 85.560表1. 在不同骨干网络和训练方案下iNat的历史性能。†结果来自[57]。0方法 骨干网络 多样性 中等样本 少样本 全部样本0Focal Loss [31] † RN152 41.1 34.8 22.4 34.6 Range Loss [55] †RN152 41.1 35.4 23.2 35.1 OLTR [33] † RN152 44.7 37 25.3 35.9Dec. LWS [24] † RN152 40.6 39.1 28.6 37.6 LADE [21] † RN15242.8 39 31.2 38.8 DisAlign [54] RN152 40.4 42.4 30.1 39.3 ALA[57] RN152 43.9 40.1 32.9 40.1 TADE [56] RN152 43.1 42.4 33.240.9 PaCo [6] RN152 36.1 47.9 35.3 41.20RAC (我们的方法) ViT-B-16 48.69 48.31 41.76 47.170表2. 在不同骨干网络和训练方案下Places365-LT的历史性能。†结果来自[57]。0分类准确率,提供了一种将新信息纳入模型的替代方法,而不是微调。为了快速查询索引,我们使用FAISS实现[23]的分层可导航小世界(HNSW)近似k-NN查找[35]。我们使用默认设置构建索引,除了超参数M =32,它设置每个节点的双向链接数,并增加了索引的复杂性,但允许更高的召回率。在训练过程中,我们丢弃第一个结果,因为当训练数据包含在索引中时,第一个结果通常是原始图像,这会导致文本编码器在创建预测时对第一个检索到的标签给予过多的权重。04. 实验0我们在常见的基准数据集iNaturalist2018(表1)和0方法 骨干网络 多类 中类 少类 全部0CE RN50 - - - 32.14 平衡CE RN50 - - - 38.31 CE ViT-B-1650.81 33.83 19.51 37.16 平衡CE ViT-B-16 49.03 45.72 29.0543.670检索-43.50 41.99 26.83 39.58 仅基础ViT-B-16 44.57 45.0640.77 44.05 RAC ViT-B-16 48.69 48.31 41.76 47.170CE RN50 - - - 61.7 平衡CE RN50 - - - 69.8 CE ViT-B-16 81.5376.62 69.82 74.44 平衡CE ViT-B-16 72.39 76.06 73.05 74.490检索-50.10 52.77 52.45 52.37 仅基础ViT-B-16 74.41 78.9578.55 78.32 RAC ViT-B-16 75.92 80.48 81.07 80.240表3.在相同的训练方案下与基准的top-1准确性比较。'仅基础'相当于通过标签平滑进行隐式温度缩放的LACE。0Places365-LT (表2)2,除了用于预训练各个编码器的数据集之外,没有额外的外部信息。请注意,这些表格报告的结果来自文献,这些结果是在不同的架构和训练方案下获得的。我们在表3中消除了RAC改进的训练流程的好处,重新实现了基于类平衡的softmax交叉熵(BalCE)和LACE[36]作为基准。我们将仅在LACE损失[36]下训练的“仅基础”视为我们的主要基准,因为LACE具有强大的理论基础,可证明的一致性和先前报告的高水平的经验性能。我们报告总体准确性以及分为少量(<20),中等(≤100)和许多(>100)样本的每类准确性。完整的每类分布曲线也显示在图2中。然后,我们专门关注检索模块的设计选择以及索引数据的选择如何影响RAC在第4.7节中的实验。在所有实验中,除非另有说明,E是一个ViT-B-16编码器,其权重来自[11]。这些权重是通过在ImageNet21k(IM21k)上进行预训练获得的,IM21k是原始1.2M图像ImageNet[9]数据集的一个更大(11M样本)的变体,具有更细粒度的类别。我们在某些实验中使用IM21k来扩展索引,并使用[28]中介绍的变体。02我们不与CIFARLT和ImageNetLT进行比较,因为在这些情况下,训练通常是从头开始进行的,而RAC需要对检索模块进行预训练。虽然可以从头开始训练基础网络,但这不是一个公平的比较,RAC在信息E中具有明显的优势。4.1. Places365-LT69640Places365-LT是Places-2[60]的一个合成长尾变体,由[33]引入。它包含365个高级场景类别,如'机场','地下室'等,共62500个样本,分辨率为256×256。每个类别的最小样本数为5,训练集虽然平衡,但不是完全均匀的。该数据集包含大量的标签噪声,这使得它具有吸引力,因为对数调整方法通常假设其理论动机中的类别是完全可分的。我们观察到,在没有明确提示的情况下,检索网络学会了将其准确性高度偏向于少样本类别(图1),从而验证了我们的假设在这种情况下将是有益的。请注意,没有明确的信号推动检索网络学习不常见的类别而不是常见的类别,或者推动监督网络更喜欢常见的类别,因为两者都是在常见的LACE损失下训练的。有趣的是,RAC的学习策略类似于TADE[56]中使用的硬编码集成,这是先前的最新技术。04.2. iNaturalist-20180iNaturalist-2018(iNat)[47]包含437K张图像和6个级别的标签细粒度(王国、属等)。根据其他研究,我们只考虑最细粒度的标签(物种),这构成了8142个唯一类别,其中存在自然的类别不平衡。在许多情况下,标签非常细粒度,即使没有长尾特性,这也是一个具有挑战性的数据集。测试集是完全平衡的,每个类别有3个样本。除了常见的224×224分辨率,我们还报告了使用384×384图像的结果,这在GRAFIT[46]中使用,并且目前是该任务的最先进技术。我们发现在iNat上使用16×16的补丁大小对于提高检索准确性非常重要,可以提高21.6%(见表4),这可能是由于数据集的细粒度特性。04.3. 消融0表1中报告的历史性能数字0第2和第3个包含了一些混合的主干和训练方案,这使得比较变得困难,因为仅仅一个现代化的训练方案就可以显著提升性能[51]。在表3中,我们将RAC的性能与平衡的softmax交叉熵(BalCE)进行了基准测试,并且去除了检索分支('Base only')。在这种情况下,“Baseonly”等同于通过标签平滑进行隐式温度缩放的LACE增强。即使在这个非常强大的基准测试(已经远远超过了最先进的技术),RAC在Places和iNat的整体准确率上提高了7.01%和2.45%。一个问题是RAC如何能够超越已经被证明是一致的方法,比如LACE[36]。我们假设这是因为使用神经网络作为评分器引入了非凸性,而且仅仅根据样本频率无法判断平衡学习器的分类“难度”[58]。相反,如果该类别在语义空间中的体积较小且明显[7],那么即使样本数量很少,仍然可以定义一个足够清晰的决策边界,在真正平衡的模型中,必须考虑到类内和类间分布。然而,由于通常没有提供关于这个数量的先验知识,因此很难考虑到类内分布。相反,大多数先前的工作要么忽略了这个因素,要么假设类别分布是高斯分布。在我们的公式中,这些“容易”类别被检索模型捕捉到,而基础分支则专注于难例,其中难度是呈现频率和类别复杂性的组合。以前的方法尝试通过将稳定性与置信度相关联来解决这个问题[56],然而,这种相关性很弱。0编码器 多样性 中等性 全部 CT(m:s)0Places365-LT0RN50 31.73 16.28 8.65 20.34 0:46 RN152d 33.52 17.7110.03 21.89 2:07 ViT-B-32 38.34 24.82 15.83 27.920:20 ViT-B-32 � 39.95 26.12 16.87 29.28 0:49 ViT-B-1639.97 26.74 18.65 29.91 0:53 ViT-B-16 � 40.79 27.2319.25 30.55 3:150iNaturalist 20180RN50 26.8 20.8 21.15 21.56 5:14 RN152d 38.95 29.5628.45 30.09 17:50 ViT-B-32 48.14 43.69 44.1 44.312:35 ViT-B-16 59.38 53.92 52.42 53.89 4:19 ViT-B-16 �66.15 61.54 60.92 61.77 22:140表4.标准检索性能和构建时间(CT)的分析,包括图像编码和HNSW索引。� 384×384分辨率变体。0我们假设,如果标准检索性能明显低于LACE基准测试等平衡监督学习器的性能,那么它不太可能有益。在表4中,我们使用ImageNet预训练的编码器对两个数据集进行标准检索,对训练集进行编码,然后使用编码的测试图像进行查询,在训练集中返回最接近图像的标签作为预测结果。所有比较都是在精确匹配索引上进行的,使用ℓ2距离,没有数据增强和一致的裁剪、插值。04.4. 检索0量化检索准确性很重要,因为如果标准检索性能明显低于LACE基准测试等平衡监督学习器的性能,那么它不太可能有益。在表4中,我们使用ImageNet预训练的编码器对两个数据集进行标准检索,对训练集进行编码,然后使用编码的测试图像进行查询,在训练集中返回最接近图像的标签作为预测结果。所有比较都是在精确匹配索引上进行的,使用ℓ2距离,没有数据增强和一致的裁剪、插值。ManyMedFewAll20304050Places365-LTManyMedFewAll707274767880iNatRandGloVeCLIP30075301812863k101520253035404550FewMedManyAllSpeed304567069650Top-1准确率0图3. 文本编码器选择对性能的影响。总体影响较小,但CLIPLM显著提升了Places365-LT的少样本性能,其中标签是自然语言术语。0tion和归一化常数。ResNet模型的zq长度为2048,ViTs模型的zq长度为768。尽管它们是在相同的数据上训练的,但我们展示了ViTs在性能上明显优于ResNets,因此对于RAC的性能至关重要。04.5. 文本编码器的重要性0RAC使用一个大型的类似BERT的文本编码器,学习从检索到的标签到类别logits的映射。在这里,我们量化了这个模型相对于两个替代模型的重要性:(i)词袋(BoW)GLoVe[40]嵌入,(ii)词袋缓存的随机嵌入。两者的维度都是300,而CLIP编码器的维度是512。随机嵌入是从区间[0,1)上的均匀分布中采样得到的,并且为输入字符串中的每个单词缓存。也就是说,单词的嵌入是一致的,但没有固有的语义。我们观察到,更高容量的T确实提高了性能,特别是在Places365-LT的少样本类上,但总体上这个好处是很小的。这可能是因为输入到编码器的输入并不是过于复杂的,如果返回更详细的信息,比如标题,这种效果可能更明显。04.6. k的影响0考虑到我们在近似k-NN搜索中选择的k值大于Places365-LT和iNat每个类别的最小样本数,我们质疑返回的额外样本(在少样本情况下不能是正确类别)是否会降低检索性能。为了研究这一点,我们仅对检索分支进行了实验,没有使用基础编码器,并且使用了只包含训练集的索引。如图4所示,增加k值会显著提高准确性,表明文本编码器T(∙)能够学习忽略常见类别。请注意,这里的少样本性能较低,因为检索分支仍然在LACE损失下训练,因此在所有类别上都追求平衡的性能。因此,它不能通过基础分支自由地专注于尾部类别。这表明,较新的变压器架构,如果应用于RAC,可能会有益处,尤其是当相关的文本片段本身较长时。0Top-1准确率0训练时间(每个epoch的秒数)0图4. 检索分支中检索到的文本片段数量k对Places365-LTtop-1准确率的影响,索引只包含Places365-LT训练集。较大的k值一直提高性能,直到由于文本编码截断(76个标记)引起的截止,但这也会以(线性)更高的训练时间为代价。我们在实验中选择k=30。x轴为对数刻度。0cilitate更长的序列长度,当应用于RAC时可能会有益处,特别是当相关的文本片段本身较长时。04.7. 索引内容的影响0为了量化索引内容对RAC的影响,我们进行了三个实验,只在Places365-LT数据集上训练了检索模块,使用ImageNet21k数据集的变体作为索引。训练过程与完整的RAC相同,使用ViT-B-16作为E。具体来说,我们改变了:0(a) 通过直接从完整的ImageNet21k数据集中进行子采样来减小索引大小。0(b)在保持类别数量不变的情况下,每个类别的训练样本数量。0(c)保持每个类别的样本数恒定的情况下增加类别数。0结果如图5所示。虽然简单地增加索引大小确实会提高性能,但随着添加更多样本,这种效果逐渐减弱。这可能是因为传递给T的标签的信息内容没有增加-因为一旦大多数标签存在,E更有可能找到相似的图像,但从T的角度来看,它不具备距离或图像感知能力,信息是相同的。这得到了子图(b)和(c)的支持,在这两个图中,索引中的样本总量一直在增加,但通过新标签添加样本的方式增加了一致性。103510701020304010121031012310469660(a)索引大小0Top-1准确率0(b)每个类别的样本数(L = 10)0少 中多全部0(c)总类别数(N i = 10)0图5.索引内容对性能的影响(k =30),仅在Places365-LT上使用LACE损失训练的检索分支。这里,索引不包含Places365-LT数据,只包含ImageNet21k数据集的变体。0增加样本数量对RAC的性能影响更大,而保持标签数量恒定的情况下增加新样本的效果较小。这表明通过使用图像标题或相关文本增加标签细粒度可能会进一步提高RAC的性能。04.8.运行时考虑0对于大型数据集来说,最近邻搜索可能在计算上不可行。然而,我们在这里展示,对于每个训练样本,可以在一个样本索引上执行查找,索引大小 >10M,几乎没有额外开销,尽管额外的标签编码(和随后的反向传播)确实增加了训练时间的1.5-2倍。我们在表5中报告了在Places365-LT上使用和不使用检索增强的模型的精确运行时间。鉴于索引是静态的,每秒迭代次数在整个训练过程中保持恒定。所有训练都在一个包含8个A100 GPU(32GB内存)的节点上进行。将张量从GPU移动到CPU,查询索引,然后将结果张量移回GPU可能会减慢训练速度。然而,我们发现影响很小,大部分开销来自额外的文本编码器(随机编码器“Rand.”不包含额外参数)。为了实现多节点训练,RAC在每个节点上都保留了索引的单独完整副本,确保查询索引永远不会成为瓶颈,我们发现这是必不可少的。虽然完全可以在GPU上进行搜索,但由于开销很低,我们没有这样做,而是利用空闲的GPU内存来实现大批量处理。由于使用了HNSW,索引查询时间与索引大小的对数成比例,标准的穷举搜索速度过慢。05.局限性0虽然RAC对自然发生的(iNat)和构造的(Places365-LT)都表现出了强大的性能0索引数据大小 文本编码速度(每个epoch的秒数)0无 无 无 23 . 6 位 184 K Rand. 28 . 3 位 184 K CLIP 44 .3 位,IM21k 11 . 2 M CLIP 47 . 00表5.对于Places365-LT上的RAC(k =50),额外文本编码器和查找对训练时间的影响。顶行表示仅使用基本编码器。大部分额外开销来自文本编码器的使用,而不是查找本身。0对于长尾类别分布,可以进一步扩展分析以包括其他长尾数据集。对于平衡数据集上的RAC性能也很有兴趣,但尚未探索。最后,虽然RAC清楚地展示了显式检索组件的好处,但被检索的数据(标签)的价值有限,并对RAC的性能施加了限制-自然的扩展是查询整个段落或标题。然而,由于CLIP文本编码器施加的76个令牌限制,这是不可能的,需要增加限制。我们将这留给未来的工作。06. 结论0我们介绍了RAC,一种将标准分类流程与显式检索模块相结合的通用方法。RAC的检索模块在没有提示的情况下,对尾部类别的准确性达到了很高的水平,使基础编码器能够专注于常见类别。在iNat和Places365-LT基准测试中,RAC在长尾图像分类任务上取得了比现有技术更好的结果。我们希望RAC能够更有效地利用常见计算机视觉架构中的外部存储器,并预测其在其他视觉任务中的应用,特别是在一/少样本学习和无灾难性遗忘的持续学习等方面。69670参考文献0[1] Kaidi Cao, Colin Wei, Adrien Gaidon, Nikos Arechiga, 和Tengyu Ma. 使用标签分布感知边界损失学习不平衡数据集.arXiv: 计算研究存储库 , 2019. 30[2] Claire Cardie 和 Nicholas Howe.使用特定案例特征权重改进少数类预测. 在 机器学习国际会议论文集中 , 1997. 10[3] Nitesh V Chawla, Kevin W Bowyer, Lawrence O Hall, 和 WPhilip Kegelmeyer. SMOTE: 合成少数类过采样技术.人工智能研究杂志 , 16:321–357, 2002. 1 , 20[4] Hila Chefer, Shir Gur, 和 Lior Wolf.超越注意力可视化的Transformer可解释性. 在IEEE计算机视觉和模式识别会议 论文集中 , 2021. 10[5] Peng Chu, Xiao Bian, Shaopeng Liu, 和 Haibin Ling.针对长尾数据的特征空间增强. 在 欧洲计算机视觉会议 论文集中 ,2020. 20[6] Jiequan Cui, Zhisheng Zhong, Shu Liu, Bei Yu, 和 Jiaya Jia.参数对比学习. 在 IEEE计算机视觉和模式识别会议 论文集中 ,2021. 1 , 2 , 50[7] Yin Cui, Menglin Jia, Tsung-Yi Lin, Yang Song, 和 SergeBelongie. 基于有效样本数量的类平衡损失. 在IEEE计算机视觉和模式识别会议 论文集中 , 2019. 60[8] Nicola De Cao, Wilker Aziz, 和 Ivan Titov.编辑语言模型中的事实知识. arXiv: 计算研究存储库 , 2021. 10[9] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, 和 LiFei-Fei. ImageNet: 一个大规模的分层图像数据库. 在IEEE计算机视觉和模
下载后可阅读完整内容,剩余1页未读,立即下载
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)