From Coarse to Fine-Grained Open-Set Recognition
Abstract
- 开集识别(OSR)方法旨在识别测试样本是否属于训练期间观察到的类别。根据测试实例在视觉上与训练类别的相似程度,OSR任务可能很简单,也可能极具挑战性。然而,绝大多数先前的工作都是在存在大的、粗粒度的语义变化的情况下研究OSR。相比之下,许多现实世界的问题本质上是细粒度的,这意味着测试示例可能在视觉上与训练类别非常相似。在这一观察的激励下,我们研究了OSR的三个方面:标签粒度,开集和闭集之间的相似性,以及训练过程中分级监督的作用。为了研究这些维度,我们对一个大的细粒度可视化分类数据集进行了新的开集分割。我们的分析产生了几个有趣的发现,包括:(I)要使用的最佳OSR方法在很大程度上取决于存在的语义转移的程度,以及(ii)分层表示学习可以改善粗粒度OSR,但对细粒度OSR性能几乎没有影响。为了进一步提高细粒度OSR的性能,我们提出了一种层次对抗的学习方法,以阻止表示空间中的层次结构,这可能导致反直觉的行为,并且在AUROC和AUPR的细粒度OSR中,相对于标准训练,分别提高了2%和7%。代码和数据可用:GitHub - langnico/osr-coarse-to-fine: This repository contains the code used to create the results presented in the paper: "From Coarse to Fine-Grained Open-Set Recognition". We investigate the role of label granularity, semantic similarity, and hierarchical representations in open-set recognition (OSR) with an OSR-benchmark based on iNat2021.。
- 论文地址:From Coarse to Fine-Grained Open-Set Recognition
- 主要探讨了细粒度开放集识别的问题,指出传统 OSR 方法多关注粗粒度语义偏移,而现实中很多场景需要处理细粒度的相似类别,比如生物物种识别。细粒度 OSR 更具挑战性,因为测试样本与训练类别在视觉上非常相似,容易导致 "熟悉陷阱",即模型自信地将新类别误分类为已知类别。这与传统粗粒度 OSR 不同,后者语义差异大,更容易检测。提出了层次对抗学习(hierarchy-adversarial learning),通过抑制层次结构来增强细粒度 OSR 性能。比较了不同评分方法(如 MLS、KLD、NN)在不同语义偏移下的表现,发现 MLS 在细粒度场景中表现最佳。
- 构建了 iNat2021-OSR 基准,包含 7 个不同跳数的开放集划分,从细粒度(1 跳)到粗粒度(7 跳)。实验结果显示,细粒度 OSR 性能随语义相似度增加而下降,层次支持学习对粗粒度有效,而层次对抗学习对细粒度更有效。OSR 性能随跳数增加而提升(粗粒度易检测),但 1 跳场景(细粒度)性能显著下降,因模型误将相似新类别归为已知类别。MLS 评分在细粒度下优势显著(图 3),因直接利用分类器对数输出,对相似类别差异更敏感;KLD 在粗粒度下更好,依赖集成模型的分歧信息。
Introduction
-
开集识别(OSR)的目标是区分在训练期间看到的熟悉或闭集类别与没有看到的新颖或开集类别。换句话说,OSR侧重于检测训练和测试类别之间的语义转移【在这项工作中,我们使用标签层次结构中类别之间的分类距离来量化语义差异。我们假设这个距离与类别之间的视觉差异相关 】。然而,并不是所有的语义转移都是相同的。不同的开集类别与熟悉的闭集类别具有不同程度的视觉相似性。最近,Vaze等人表明,相对于训练类别,OSR更难用于表现出较小语义变化的类别。直觉上,与训练类别高度相似的新类别容易与具有高置信度的熟悉类别混淆。我们将这种现象称为"熟悉陷阱"。请注意,这与我们期望在零样本分类和迁移学习中看到的相反,在这些分类中,较小的语义转移使问题更容易,而不是更难(见图1中的图示)。绝大多数OSR文献都集中在研究粗略的开集分裂,而对更细粒度分裂的影响则探索不足。
-

-
图一。粒度和语义相似性是开集识别(OSR)中研究不足的混杂因素。给定一个分类标签层次,我们用增加的语义转移(即跳跃)来策划开集分裂,以表明对这些因素的仔细关注有助于回答如下问题:什么是最好的OSR评分方法?层次表征能改善OSR吗?
-
-
与传统的(粗粒度)OSR不同,细粒度OSR反映了细粒度领域中现实的类别发现挑战,如医学,艺术和自然世界。例如,在物种监测中,我们可能期望看到与已知物种高度相似的新物种。虽然现有的未标记数据可能包含这样的例子,但它们的相似性使得很难检测它们。在公民科学应用中,自动视觉系统可以用来区分毒蘑菇和外观相似的可食用蘑菇。确保一种新的、潜在危险的蘑菇物种不会与先前观察到的安全蘑菇物种混淆是至关重要的。在数字化博物馆藏品、筛选潜在假冒商品或识别时尚趋势时,也可能会遇到细粒度的OSR问题。
-
来自公民科学平台(如in naturalist)的自然世界图像集合特别适合于研究细粒度OSR,这是由于它们的大小、多样性和高质量的分类结构(这提供了语义相似性的代理)。在这项工作中,我们使用 iNat2021 数据集来研究细粒度OSR在语义相似性、监督粒度和分层表示方面的挑战。我们通过逐步研究更难的开集分裂来探索语义转移的作用(图1)。与之前使用有限类别数的细粒度数据集的工作相比,我们使用包含10,000个类别和270万张图像的大规模基准。这使得我们能够研究不同的真实世界的OSR现象。通过在2021年的大分割上从头开始训练模型,我们避免了从预先训练数据集(如ImageNet )泄漏知识的风险,这些数据集可能包含与开放集的语义重叠。
-
虽然已经在闭集识别中研究了层次标签的使用,以降低 mistakes in fashion, crop mapping , food and species recognition ,但是对于细粒度OSR的层次表示的作用还没有充分探索。我们发现,鼓励表示空间中的层次结构有利于闭集分类和粗粒度开集识别,但令人惊讶的是,它对细粒度OSR的影响有限。受这一发现的激励,我们探索是否应该减少细粒度OSR的隐式层次结构。我们提出了一种层次对抗的学习方法,可以通过抑制层次结构来提高细粒度OSR的性能。通过调整为无监督域调整开发的梯度反转层,我们的方法学习奖励细粒度类别的线性可分性,同时抑制粗粒度的线性可分性的表示 。当我们不鼓励层次结构时,来自共享相似特征的类别的实例的表示被彼此推开。换句话说,我们假设层次对抗的方法不鼓励跨类共享的特性,而支持特定于类的特性。因此,细粒度的新颖类别不太可能被"熟悉度陷阱"捕获,即,不太可能被错误分类为具有高置信度的语义相似的类别。我们做出以下贡献:
- 我们证明了OSR的最佳评分规则的选择取决于闭集和开集之间的语义相似性,并且相似度评分在细粒度的OSR中表现最佳。
- 我们研究了监督粒度的影响,并表明即使对于大的语义转换,细粒度的监督也能提高OSR性能。
- 我们探讨了层次表示的作用,并引入层次对抗学习,通过抑制层次结构来改善细粒度OSR。
- 我们介绍了iNat2021-OSR,这是一个针对两个分类群(鸟类和昆虫)的iNat2021数据集的有管理的开集分裂的基准。这使得能够沿着七个离散的"跳"来研究OSR,这些"跳"编码了从粗粒度(7跳)到细粒度(1跳)的语义距离。
-
熟悉度分数(Maximum Logit Score, MLS) :直接使用分类器对封闭集类别的最大对数输出作为评分,假设封闭集样本的对数概率显著高于开放集。 S MLS ( x ) = max y ∈ F h ω ( f θ ( x ) ) y S_{\text{MLS}}(x) = \max_{y \in \mathcal{F}} \left h_\\omega(f_\\theta(x)) \\righty SMLS(x)=maxy∈Fhω(fθ(x))y 其中 h ω h\omega hω 为分类头, f θ f_\theta fθ 为特征编码器, F \mathcal{F} F 为封闭集类别。基于 "熟悉性假设",即模型对已知类别应输出高对数概率,对未知类别输出低概率。
-
分歧分数(KL-Disagreement, KLD) :利用集成模型的预测分歧,KL 散度衡量单个模型与集成平均分布的差异,高分歧表示开放集样本。 S KLD ( x ) = − ∑ m = 1 M KL ( p E ( ⋅ ∣ x ) ∥ p m ( ⋅ ∣ x ) ) S_{\text{KLD}}(x) = -\sum_{m=1}^M \text{KL}\left(p_E(\cdot|x) \| p_m(\cdot|x)\right) SKLD(x)=−∑m=1MKL(pE(⋅∣x)∥pm(⋅∣x)) 其中 p E p_E pE 为集成平均概率,(p_m) 为单个模型概率。集成模型对未知样本的预测更不一致,适用于粗粒度语义差异场景。
-
距离度量分数(Nearest Neighbor, NN) :计算测试样本与封闭集样本在归一化特征空间的最近邻距离,距离越近越可能为封闭集。 S NN ( x ) = min i = 1 , ... , N − ∥ f ~ θ ( x ) − f ~ θ ( x i ) ∥ 2 S_{\text{NN}}(x) = \min_{i=1,\dots,N} -\left\|\tilde{f}\theta(x) - \tilde{f}\theta(x_i)\right\|2 SNN(x)=mini=1,...,N− f~θ(x)−f~θ(xi) 2 其中 f ~ θ \tilde{f}\theta f~θ 为归一化特征。基于局部密度假设,适用于特征空间可分场景。
Related work
Open-set recognition
-
开集识别(OSR) 涉及识别新类别的问题,即语义转移。已经提出了大量特定于OSR的深度学习方法,包括OpenMax 、OSRCI 、ARPL 和OpenHybrid 。然而,最近Vaze等人证明了基于分类器置信度(即logits)的简单基线的性能相当,并且OSR性能的改善不一定仅仅归因于专用的OSR方法,而是可以通过闭集识别准确性的改善来解释,这是使用更复杂的深度神经网络架构和训练策略的结果。与此同时,Dietterich 和 Guyer 提出了"熟悉度假设",以解释深层网络可以被解释为检测熟悉度的缺乏,而不是新鲜感的存在。
-
在这项工作中,我们关注的是细粒度的OSR,这种设置已经在现有的工作 中进行了部分探索。我们的目标是研究闭集和开集之间语义相似性的变化对性能的影响。许多现有的细粒度方法构建随机数据分割,因此将在开集中包含硬分类和易分类的混合,或者它们使用具有非常大的语义差异的分割(例如,使用狗作为熟悉的分类,使用汽车作为新颖的分类)。使用手动注释的属性,Vaze等人构建了三个流行的细粒度数据集(即CUB-Birds 、Stanford Cars 和FGVC-Aircraft )的简单、中等和硬开集分割。我们在这项工作的基础上,通过利用分类法构建数据集分割,使我们能够探索更多种分割类型的影响。
-
在以前的OSR工作中有两个主要的局限性,它们会产生对模型性能过于乐观的印象。首先,现有OSR基准数据集的规模较小,需要使用预先训练的模型。这可能导致预训练类别(例如,来自ImageNet )和开集类别之间的语义重叠。因此,开集范畴可能已经与闭集范畴很好地分开了。其次,对随机数据分割的实验评估可能导致粗略的开集分割,这并不代表真实世界中可以更细粒度的开集应用。这项工作旨在通过在大规模图像数据集上进行实验来克服这两个限制,实验跨越了从粗到细的开集分裂的范围。
-
与OSR相关的是更一般的分布外(OOD)检测任务,也称为异常或新奇检测 ,它包括一套探索问题的方法,如检测协变量或分布变化 ,语义变化,以及变化的组合。OSR关注的是语义转移,因此可以解释为 OOD 检测的一个特殊情况。已经探索了不同的方法用于OOD检测,包括基于分数的,基于集合/分解的 和基于距离度量的。我们在OSR的背景下评估这三种方法。
Granularity, similarity, and hierarchy
-
我们的工作是通过粒度、相似性和层次来探索OSR,下面我们简要总结这些主题的相关工作。
-
标签粒度编码类别标签的详细程度,范围从粗粒度(例如,"动物")到细粒度(例如,"蓝鸟")。粒度在闭集识别中被广泛研究。多粒度监督已被用于隐式关注图像的不同部分,以改善细粒度分类。监督的粒度会以不同的方式影响性能。Van Horn等人表明,细粒度的训练标签会损害粗粒度对象检测的性能 。Cole等人证明了弱监督对象定位存在一个"最佳"的粒度监督点(即,不要太细也不要太粗)。此外,已经证明,当使用更细粒度的标签进行评估时,自我监督和监督方法之间的准确性差距会增大。
-
语义相似性描述了两个概念(例如,类别)在它们的含义方面的距离。视觉相似性(或感知相似性)可以作为语义相似性的代理。选择视觉上相似的预训练数据已被证明对提高迁移学习性能是有效的。在细粒度领域中,同一类别的样本在视觉上可能非常不同(即,表现出较高的类内方差),而不同类别的样本在视觉上可能非常相似(即,表现出较低的类间方差)。根据领域的不同,物体姿态和场景照明或性别和年龄等有害变量会放大视觉和语义相似性之间的差异。其他元数据,如属性或分类学,已被研究作为语义相似性的替代代理,例如在ImageNet类别的零样本学习中 或用于非自然物种。Vaze等人使用标记属性来证明开集识别性能取决于训练和测试类别之间的语义相似性。有趣的是,任务的难度并不总是与粒度或语义相似度相关联。相比之下,OSR对于小的语义变化变得更难,zero-shot 和迁移学习变得更容易。
-
标签层级已被纳入闭集识别中,以降低时尚、作物制图、食物 和 物种识别 中的错误严重性 。同样,在分级OSR 中,目标是找到最近的祖先,一个新颖类别的"超类别"。该任务通过粗化预测类别的粒度,将开集问题转化为闭集问题。我们的目标不是推进层次OSR,而是研究粒度、语义相似性和层次结构在OSR中的作用,目的是理解如何在存在非常小的语义变化(即细粒度OSR)的情况下推进性能。
Methodology
Scores for open-set recognition
-
对于二进制OSR的任务,即熟悉与新奇,我们对分数S(x)建模,以指示测试样本 x 是否属于熟悉训练类别 F = { 1 , . . . , K } F = \{1,...,K\} F={1,...,K}。分数S(x) 应该随着 p(y ∈ F|x) 的增加而增加,即,在两者之间应该存在高层次的相关性。我们总结了 OOD 和 OSR 文献中的三种评分方法,涵盖了三类方法。对于给定的输入图像,我们使用编码器 fθ 提取表示,例如,由 θ 参数化的经训练的深度神经网络。具有参数ω的线性解码函数hω将表示映射到K维向量 logit,softmax 函数 σ 将这些logit映射到概率。即,属于类别y的输入图像x的预测概率由 p ( y ∣ x ; θ , ω ) = σ y ( h ω ( f θ ( x ) ) ) p(y | x;θ,ω) = σ_y (h_ω (f_θ (x))) p(y∣x;θ,ω)=σy(hω(fθ(x)))。我们把 p(y|x) 写成 p(y | x;θ,ω) 如果模型参数从上下文中是清楚的。
-
Familiarity scores. 这些方法使用分类器的对数或 softmax 置信度得分。经验表明,非标准化最大 logit 得分(MLS)可以胜过最大softmax 概率(MSP)作为一个开放集得分函数。其中 ⋅ y ·y ⋅y 表示logit向量的第y个分量。MLS分数定义为:
- KaTeX parse error: Undefined control sequence: \label at position 2: \̲l̲a̲b̲e̲l̲ ̲{eq:mls} S_\tex...
-
Disagreement scores. 我们考虑M个分类器的集成,对于 m = 1 , . . . , M m = 1,...,M m=1,...,M,并写出 p m ( y ∣ x ) = p ( y ∣ x ; θ m , ω m ) p_m(y | x)= p(y | x;θ_m,ω_m) pm(y∣x)=p(y∣x;θm,ωm)。我们不仅可以计算平均置信度 p E ( y ∣ x ) = 1 M ∑ m p m ( y ∣ x ) p_E(y|x) =\frac 1 M \sum_m p_m(y|x) pE(y∣x)=M1∑mpm(y∣x) 和平均对数 l E ( y ∣ x ) = 1 M ∑ m h ω m ( f θ m ( x ) ) l_E(y|x) =\frac 1 M \sum_ m h_{ω_m} (f_{θ_m} (x)) lE(y∣x)=M1∑mhωm(fθm(x)),还可以计算量化单个成员输出之间的不一致(即方差)的备选得分。negative KL-disagreement,SKLD被用作高分数表示熟悉的类别的指示:
-
S KLD ( x ) ≜ − ∑ m = 1 M KL ( p E ( ⋅ ∣ x ) ∥ p m ( ⋅ ∣ x ) ) , ( 2 ) S_\text {KLD}( {x}) \triangleq -\sum _{m=1}^{M} \text {KL}\left ( p_E(\cdot | {x}) \| p _{m}(\cdot | {x}) \right ), (2) SKLD(x)≜−m=1∑MKL(pE(⋅∣x)∥pm(⋅∣x)),(2)
-
其中KL表示集合pE(y|x)的预测类别分布(即M个成员的平均置信度)和每个成员pm(y|x)的预测类别分布之间的Kullback-Leibler散度。
-
-
Distance metric scores. 最后,表示空间中的距离可以与 k-最近邻(KNN)结合,以形成OSR分数。我们采用最近邻方法,最初用于一般的OOD检测。该方法采用编码器 f ˉ θ ( x ) = f θ ( x ) / ∣ ∣ f θ ( x ) ∣ ∣ 2 \bar f_θ(x)= f_θ(x)/||f_θ(x)||_2 fˉθ(x)=fθ(x)/∣∣fθ(x)∣∣2 的L2归一化表示,并计算到训练数据集 { ( x 1 , y 1 ) , . . . , ( x N , y N ) } \{(x_1,y_1),...,(x_N,y_N )\} {(x1,y1),...,(xN,yN)}中的图像的最短距离在归一化表示空间中:
- S NN ( x ) ≜ min i = 1 , ... , N − ∥ f ~ θ ( x ) − f ~ θ ( x i ) ∥ 2 . ( 3 ) S_\text {NN}( {x}) \triangleq \min {i=1,\dots ,N} - \| \tilde {f}{\theta }( {x}) - \tilde {f}_{\theta }({x}_i) \|_2. (3) SNN(x)≜i=1,...,Nmin−∥f~θ(x)−f~θ(xi)∥2.(3)
Hierarchy-supportive learning
-
我们的目标之一是研究标签训练粒度和层次在 OSR 的作用。在许多现有的方法中,我们选择了一种简单的分层多任务方法。这为我们提供了一个框架,来探索鼓励或不鼓励层次结构的表现形式。并将给定标签空间的层次结构定义为 T = { Y t } t = 0 T T = \{Y^t\} ^T {t=0} T={Yt}t=0T,其中 Yt 定义层次结构中第T层的类别集,t=0处的叶节点对应于细粒度类别。由此,我们可以公式化支持层级的多任务损失,其优化层级中每个级别t的交叉熵,其中 y i t y ^t i yit 表示第 t 个层级的样本I的真实标签,并且 p t ( y i t ∣ x i ) = p ( y i t ∣ x i ; θ , ω t ) p ^t(y^ t _i | x_i)= p(y^t_i | x_i;θ,ω ^t) pt(yit∣xi)=p(yit∣xi;θ,ωt):
-
L HS = ∑ t = 0 T ∑ i = 1 N − log p t ( y i t ∣ x i ) . ( 4 ) \mathcal {L}_\text {HS} = \sum _{t=0}^{T} \sum {i=1}^{N} - \log p ^{t}(y{i}^{t}|{x}_i). (4) LHS=t=0∑Ti=1∑N−logpt(yit∣xi).(4)
-
为了优化这种训练损失,我们将带有参数ωt的附加分类头hωt附加到编码器,如图 2b 所示,分级结构中的每个级别 t 一个分类头。
-

-
图二。训练策略。我们训练和比较学习策略,使用(a)一个层级中每个级别t的单独模型(监督粒度),(b)预测所有级别粒度的单一模型(支持层级),以及©除了最细粒度之外,不鼓励所有预测能力的单一模型(对抗层级)。为了阻止表示中的分层结构,我们使用来自无监督域适应的梯度反转层,其反转较粗粒度(即t > 0)的分类头的梯度。
-
Hierarchy-adversarial learning
-
类似地,我们可以为细粒度分类制定一个多任务损失,它不鼓励表示空间中的层次结构。我们感兴趣的是学习一个编码器 fθ,它产生一个适合于对细粒度类别进行分类的表示------但是对于层次结构中 t > 0 的较粗层次标签是不可知的。我们假设这鼓励细粒度类别特有的显著特征,而不是依赖粗粒度特征来区分细粒度类别组。这可以通过最小化最细粒度的交叉熵来实现,但是最大化较粗粒度的交叉熵,其中t > 0,
-
L HA = ∑ i = 1 N − log p 0 ( y i 0 ∣ x i ) ⏟ L 0 − λ ∑ t = 1 T ∑ i = 1 N − log p t ( y i t ∣ x i ) ⏟ L t . ( 5 ) \mathcal {L}_\text {HA} = \underbrace {\sum {i=1}^{N} -\log p ^{0}(y{i}^{0}| {x}i)}{\mathcal {L}^0} - \lambda \sum _{t=1}^{T} \underbrace {\sum {i=1}^{N} -\log p ^{t}(y{i}^{t}|{x}i)}{\mathcal {L}^t}. (5) LHA=L0 i=1∑N−logp0(yi0∣xi)−λt=1∑TLt i=1∑N−logpt(yit∣xi).(5)
-
为了确保t > 0的 Lt 不被解码函数最大化,而是被表示最大化,我们解决最小-最大优化问题:
-
min θ , ω 0 max ω 1 , ... , ω T L HA ( θ , ω 0 , ω 1 , ... , ω T ) . ( 6 ) \min _{ {\theta },{\omega }^0} \max {{\omega }^1,\dots ,{\omega }^{T}} \mathcal {L{\text {HA}}}({\theta },{\omega }^0,{\omega }^1,\dots ,{\omega }^{T}). (6) θ,ω0minω1,...,ωTmaxLHA(θ,ω0,ω1,...,ωT).(6)
-
-
也就是说,我们获得使 L0 最小化的编码器θ和细粒度解码器ω 0的参数(即,该表示对于细粒度标签是有区别的)。同时,对于t > 0,我们获得最大化 Lt 的解码器 ωt,即,表示被正则化以不捕获更粗粒度的分层标签。为了使用随机梯度下降(SGD)训练具有该最小-最大目标的深度神经网络,我们采用了受领域适应文献启发的基于梯度反转层的方法 。通过在反向传播到编码器之前交换对应于L t项的梯度的符号(见图2c),所有可学习的参数可以在其他标准的正向和反向传递中被更新。
-
层次对抗学习(Hierarchy-Adversarial Learning) :抑制特征空间中的粗粒度层次结构,迫使模型学习细粒度判别特征。损失函数 : L HA = L 0 − λ ∑ t = 1 T L t \mathcal{L}{\text{HA}} = \mathcal{L}^0 - \lambda \sum{t=1}^T \mathcal{L}^t LHA=L0−λ∑t=1TLt 其中 L 0 \mathcal{L}^0 L0 为细粒度(物种级)分类损失, L t \mathcal{L}^t Lt 为粗粒度(属 / 科级)分类损失,( λ \lambda λ) 为对抗权重。通过梯度反转层(Gradient Reversal Layer),在反向传播时反转粗粒度损失的梯度,迫使编码器 ( f θ f_\theta fθ) 弱化粗粒度特征,强化细粒度特征。利用分类学层级的 "跳数" 作为语义差异度量,假设跳数越小(细粒度),视觉相似度越高,OSR 越难("熟悉陷阱")。粗粒度层次结构有助于跨大类区分(如 "鸟类" vs "植物"),但阻碍细粒度区分(如 "麻雀" vs "燕子"),因此需针对性抑制。细粒度监督(物种级)能提升特征判别力,即使测试为粗粒度,也能通过泛化性改善 OSR。
Experimental setup
The iNat2021-OSR dataset
-
虽然粗粒度标签的现有OSR基准包含许多样本,但细粒度标签的样本很小。细粒度数据集的这种限制使得不可能在其上从头开始训练模型,我们需要对OSR的真实可信的设置进行完全控制。我们还对一个粒度标签层次感兴趣,它可以作为语义相似性的代理。受此推动,我们将包含10,000种不同植物和动物物种(即类别)的超过250万张图像的iNat2021数据集作为细粒度OSR的基准。
-
我们的实验设置受到Rodr guez等人的零 shot 学习工作的启发,他们使用 iNat2021 的分类法来评估零样本在训练数据的不同语义距离上的性能,以层次图中最低共同祖先的边的数量来衡量,我们简单地将该距离称为跳数(见图1)。我们开发了2021年的两个精选开集数据分割(见表1),并根据训练数据中任何样本的最小跳跃距离对开集类别进行分组,范围从1-7跳。这两个分裂为层次水平t = 5(即"类")的超类别"鸟"(生物分类中的鸟类)和"昆虫"(昆虫纲)提供了一个闭集。闭集由来自相应超类别(即,熟悉的类别)的物种子集组成。剩下的类别被用作开集测试集,语义距离从1跳(细粒度OSR)到7跳(粗粒度OSR)。跳数1-4对应于超类别(即新的鸟类或昆虫物种)内的关系,而跳数> 4对应于这些超类别之外的开集类别。关于iNat2021-OSR数据集的全部细节在补充材料中给出。
-

-
表1。iNat2021-OSR数据拆分统计。基于iNat2021基准数据集52,我们为超类别"鸟类"(Aves)和"昆虫"(昆虫纲)策划了两个新的大规模OSR基准数据集。两个版本都包含七个语义距离递增的开集分裂(从细到粗)。
-
Implementation details
-
训练。我们使用ResNet-50主干,使用SGD从头开始训练所有模型100个时期,基本学习率设置为0.1,每30个时期乘以系数0.1,权重衰减为1e-4。我们为集合不一致分数(秒)训练五个模型。3.1)从先前工作之后的不同随机初始化开始。训练层次对抗法(第。3.3),我们在类似于的训练过程结束时,从零到 α 逐渐增加对抗性梯度λ的权重。
-
评估。通过对较大集合进行子采样,使用闭集和开集中相同数量的样本来报告开集性能。对于所有评估指标,较高的分数意味着较好的性能。更多细节可在补充材料中找到。基于单个预测类别和给定的层次结构,使用硬池来评估较粗粒度的闭集准确性。我们没有观察到使用 soft pooling 的差异,即聚合多个类别的概率。
Results
- 我们的实验研究了语义相似性、监督粒度和层次结构在OSR中的作用。
What is the role of semantic similarity in OSR?
-
细粒度的OSR是最难的。我们观察到细粒度(1跳)和粗粒度OSR (7跳)之间存在巨大的性能差距(图3)。因此,OSR表现与语义距离正相关。一个例外是从6跳到7跳的性能下降,其中来自"鸟类"和"昆虫"的熟悉类别针对"植物"和"真菌"进行测试。对这种下降的一种可能的解释是,在闭集类别的背景训练中经常看到植物。这可能会增加熟悉度得分,使这些样本更难被检测为新类别。已经发现类似的问题会损害对 OOD 检测的评估。
-

-
图3。OSR评分方法的比较。MLS:最大logit得分,KLD:KL-不一致,NN:最近邻。MLS的OSR结果是在5个重采样集合上平均的,这些重采样集合是在iNat2021OSR上以最细的粒度训练的。每个集合由从10个模型中随机抽取的5个成员组成,没有替换。阴影区域表示最小和最大AUROC。
-
-
OSR分数的选择取决于语义相似度。所有得分都遵循相同的一般趋势,即语义距离越大,OSR性能越好(图3)。然而,没有一个评分规则在语义相似度范围内始终表现最佳。对于细粒度的OSR (1跳)和高达6跳,最大logit得分(MLS)表现最佳。然而,对于粗粒度的OSR,在我们的实验中,KL-disagreement优于logit得分。此外,由于鸟类和昆虫包含高达4跳的类别关系,跳数> 4的开集完全超出了分类器的专业领域。这解释了从4到5跳的不连续性,其中KL不一致和logit分数之间的性能差距减小。最近邻方法在这两种极端情况下表现最差。有趣的是,非标准化表示上的L2距离在1跳上产生较低的性能,但在7跳OSR上产生较高的性能(参见补充图A6)。由于MLS在细粒度的OSR中表现最佳,我们将把我们的分析集中在这个分数上。
What is the impact of supervision granularity?
-
粒度越粗,闭集精度越高。通过将细粒度预测和目标标签合并到更粗的粒度,闭集精度得到提高(图4b)。这证实了闭集问题对于具有较少类别的较粗粒度更容易的观察。
-
过度细粒度的监督提高了封闭集的准确性。当我们将在最细粒度上训练的模型汇集到较粗的测试粒度时,闭集准确度最高。匹配粒度上的训练降低了性能(图4b)。这与目标检测和弱监督定位的结果相矛盾,前者过度精细的监督会降低较粗超类别的性能,后者中等粒度监督的"最佳点"性能最佳。iNat2021数据集在最细的粒度上近似类平衡,但在较粗的级别上不平衡,因为层次结构中的叶节点数量不同。因此,我们对每个类别的准确率进行平均,这显示了匹配粒度和最细监督粒度池之间的巨大性能差距。
-

-
图4。监督粒度。当在比用于测试(a)开集和(b)闭集识别的粒度更细的粒度上训练时,Aves的性能分裂。零处的参考是在与测试粒度相同的粒度(对应于开放集距离)上训练的模型的性能。对于上下文,这个基线模型的性能在测试粒度标签上提供。误差条表示5次训练运行的标准偏差。对于闭集,我们报告了宏精度(每个类的平均值),以说明较粗粒度中的类不平衡。
-
-
过度精细的监管提高了OSR。与闭集精度一样,在更精细的粒度上训练的模型的OSR性能更高(图4a)。即使熟悉的和新的数据以较粗的粒度分离,即跳跃距离> 1,在较细的粒度上训练模型仍然是有益的。这也是对整个班次范围进行最细粒度监督的最佳方式。这种行为可以用Vaze等人观察到的现象来解释,即更好的闭集精度提高了OSR性能。
How does hierarchical structure affect OSR?
-
层次表示可以改善粗粒度OSR。首先,我们在使用层次支持学习时查看闭集准确性,它在最精细的粒度下不受影响(图5和表2),可能是因为粗略的监督无助于特征的学习来解决非常相似的类别中的混淆。然而,对于更粗的粒度,闭集精度会提高(见补充),这意味着错误的严重性会降低,并且与之前的工作一致。此外,分层结构还可以提高粗粒度OSR的性能(见图5),这可以通过闭集和开集性能之间的相关性来解释。
-

-
图5。层次感知训练策略。OSR结果鸟类(顶部)和昆虫纲(底部)使用的最大logit评分(MLS)的集合与5个模型。我们比较了训练策略:细粒度标签上的交叉熵,层次支持 和 层次对抗.
-
-
层次对抗学习可以提高细粒度的OSR。基于这些观察,我们研究了另一个方向,转向层次-对抗训练策略,其目的是减少学习表征中的层次结构。这种方法在MLS和NN分数的几个度量上改进了1跳开集的细粒度OSR,但没有改进KL分歧(参见图5和表2、3)。然而,它不断削弱粗糙OSR性能(图5)。补充材料中包含了定性的例子,其中层次-对抗方法改善了相对于基线的 "familiarity trap"。
-
为了实证分析这种策略的效果,我们从1跳开集类别和学习表示空间中的训练类别计算类别质心之间的L2距离(图6 a、6b)。我们观察到,层次对立学习将细粒度的开集类别从它们最相关的训练类别(1-hop)中推开。这与支持层次结构的学习形成对比,支持层次结构的学习将细粒度的开放集拉近与其最相关的训练类别,但将类别推得更远。
-
我们研究来自等式5的超参数λ的灵敏度,其控制敌对梯度的权重,并且从零逐渐增加到 α。我们证明了该参数控制闭集精度和开集性能(图6 c)。首先,通过增加α,我们看到了开集性能的提高,但代价是闭集精度的降低。这种行为与Vaze等人的观察结果相矛盾,因为它表明在OSR存在着一种潜在的层次结构作用,这种作用不一定能够用闭集精度的提高来解释。然而,开集性能在某一点会下降,很可能是由于闭集精度下降。
-

-
图6。层次对立学习分析。为了分析层次意识训练如何影响特征空间中类别之间的关系,我们绘制了(a)表示空间中新的和熟悉的类别质心之间的L2距离,( b)L2距离相对于交叉熵基线的变化。我们期望支持层次的学习将细粒度的开集类别(1-hop)拉得更接近熟悉的类别,并放大粗粒度类别之间的距离。相比之下,层次对立学习预计会将细粒度类别从熟悉的类别推开,但大致保持粗粒度类别的距离。我们的实证分析在Aves数据集上证实了这些预期。©对精细开集(1-hop)上的层次-对抗梯度的权重的超参数研究。随着α的增加,开集识别性能提高,但代价是闭集精度降低。但是,当权重α过高时,存在一个临界点,开集性能下降。这种行为与Vaze等人的观察结果相矛盾,因为闭集和开集性能不相关。
-
Limitations
-
虽然我们的研究向理解具有挑战性的细粒度转变下的OSR迈进了一步,但仍存在一些局限性。首先,我们依靠分类法作为概念粒度和语义相似性的代理来研究我们的研究问题。为了满足我们的需求,我们使用iNat2021中的"鸟类"和"昆虫"作为训练域,策划了一个新的大规模开放集基准数据集。我们的观察是否适用于其他领域,如食品、艺术或医学,还有待检验。然而,Cole等人已经证明,现有的ImageNet层次结构并不能很好地代表概念粒度。因此,ImageNet也不适合我们的OSR环境。另一个挑战是ImageNet类别的深度不规则。
-
第二,控制学习表征的等级结构的程度是很重要的。一些层次结构对于解决细粒度问题是必不可少的,并且是隐式学习的,如我们的实验所示(见图4)。我们用等级对立的方法研究等级结构的"对立面"。我们的超参数研究表明,选择层次对抗梯度的权重有一个最佳点。如果选得太高,闭集性能以及随之而来的开集性能会受到损害。选择该权重的一种方法是,在没有开集验证的情况下,选择仍然保持闭集验证准确性的保守的小α。
-
第三,现有的细粒度OSR基准是基于属性标签。我们提出的层次对抗方法依赖于层次标签,不能利用属性标签。"相似性-对抗性"方法的更一般的表述将受益于支持语义相似性的任何代理,例如属性。
-
最后,预训练模型对细粒度OSR的益处需要进一步研究。虽然之前的工作在不同的领域进行了预训练,但在ImageNet上进行预训练需要删除269个野生动物类别,这些类别可能与2021年的iNat重叠。
Conclusion
- 虽然以前的工作主要解决了较粗糙的OSR,但我们提出了一个新的大规模OSR基准,它允许我们在一系列越来越具有挑战性的语义转变(从粗糙到精细)中研究OSR。我们的结果表明,细粒度OSR仍然是一个非常具有挑战性的任务,目前的方法。我们表明,有一些主要的潜在破坏性因素阻碍了OSR性能的提高,例如,监督粒度和开放集中存在的语义转移量。此外,层次结构在习得表征中扮演着重要的角色,而且可能是反直觉的。我们提出了一种层次对抗的学习策略来阻止等级结构,这种策略通过试图解决"熟悉性陷阱"来改善细粒度OSR。然而,我们的分析表明,要缩小粗粒度和细粒度OSR性能之间的差距,还有很多工作要做。