Novel Ensemble Diversification Methods for Open-Set Scenarios

Novel Ensemble Diversification Methods for Open-Set Scenarios

  • 我们重新审视了现有的集合多样化方法,并提出了两种为开放场景定制的新型多样化方法。
  • 第一种方法使用一种新的损失,旨在鼓励模型仅在异常值上产生分歧,从而缓解内在的准确性-多样性权衡。
  • 第二种方法通过自动特征工程实现多样性,通过训练每个模型不考虑先前训练的集合模型所学到的输入特征。
  • 我们在七个数据集上对提议的技术进行了广泛的评估和分析,这些数据集涵盖了图像分类、重新识别和识别领域。我们与现有的最先进的集合多样化方法进行了比较,并证明了准确性的提高。

1.引言

自90年代末以来,模型集合中多样性的重要性已被认识到[40, 28, 7, 34]。多分类器系统(MCSs)界对这一主题进行了深入讨论,同时研究了(i)测量多样性的指标[1, 2, 17, 46],(ii)多样性与合集精度之间的联系[22, 36],以及(iii)构建多样性合集的方法[42, 4]。现有的工作主要涉及封闭集问题,在这些问题中,只有有效的输入才会有正确的输出。另一方面,对于开放集问题,合集应该对所有已知/学习过的类别产生正确的响应,同时拒绝 "未知 "输入。近年来,开放集问题越来越受到关注[26, 45, 12]。在现实世界的任务中(如自动驾驶、人脸识别)自然会出现极端的开放场景,在这种情况下,系统需要正确处理一个未知类别的物体或一个未注册的人。在封闭场景中,合集的多样性有利于平衡单个模型的偏差,以减少合集对有效输入的偏差。也就是说,当集合模型不同时,一个模型的错误有可能被其他模型所补偿。这种多样性通常是通过优化训练数据的预测多样性来实现的,这就需要在单个模型的准确性和多样性之间做出固有的权衡。另一方面,在开放集的情况下,多样性的额外作用是导致个别模型对未知的输入(异常值或未加入的参与者)产生分歧。模型之间的分歧可以作为一个离群指标来利用。在识别设置中,模型之间的分歧可以作为参与者没有注册到系统中的指示。有趣的是,这种 "开放设置 "的多样性与单个模型的准确性目标没有本质上的矛盾。

在本文中,我们改进了现有的、成熟的基于集合的识别方法。虽然这些基于集合的方法不一定是所有开放集任务的SOTA,但它们有其优点。例如,对于许多实际的生物识别任务来说,FPR必须非常低(例如,<1/10e6),集合可能是唯一的方法。今天的公共数据集甚至没有足够的标记身份来衡量这样的准确性。 这就是合集的作用:例如,用两个FPR<1/1000的独立模型投票,可以得到整体FPR<1/10e6。

我们表明,与其他SOTA集合多样化方法相比,使用我们提出的技术产生的集合模型更加多样化,并产生更好的开放集识别结果。我们设计的集合训练方法鼓励模型在未知输入上产生分歧,而在已知类别上达成一致。因此,我们避免或弱化了准确性-多样性的权衡,并允许异常值检测,同时保持高准确性。

我们的主要贡献是

  • 1. 我们为同时进行的集合模型训练开发了一种新的多样化损失,是为开放集问题设计的。该损失鼓励对异常值作出不同的反应,从而解决了在开放场景下,以单个模型的准确性换取集合多样性的内在多样性困境。
  • 2. 我们提出了一种新的基于特征的多样化方法,用于集合模型的顺序训练。该方法可以自动选择以前训练的模型尚未使用的特征,从而使 "通过补充特征进行多样化 "的方法变得实用。
  • 3. 我们使用七个公共数据集对所提出的方法进行了评估,其中最大的数据集包括8.5万个身份和5.8万张图像,用于开放集识别、重新识别和分类。我们与其他的集合多样化方法进行了比较,并证明了我们的开放集具体技术的优势。我们比较了这两种拟议的方法,并确定了它们最适合的使用情况。

符号

为了便于讨论,让我们介绍一些符号。为了简单起见,我们考虑一个K级分类问题。同样的设置可以适用于识别/识别问题,其中类对应于训练集中的身份。

让集合E=(f, g)由n个模型f=〈f1, f2, . . .对于一个输入样本x,每个模型产生一个类别概率向量fi(x) = (fi1(x), fi2(x), ...., fiK(x))。组合函数g(x) = g◦f = g(f1(x), f2(x), . . ., fn(x))合并各个模型的预测,产生最终的集合输出。组合函数的典型例子有:平均给(x)=n1 Pn i=1 fi(x)和投票。

让q(x)∈{1, 2, . . .让我们用Li(x)=L(fi(x), q(x))来表示个体损失,即用于训练独立的集合模型fi的损失。)如果合集模型和单个模型的预测形式相同,我们可以将相同的损失L应用于合集输出,从而产生一个合集损失。Lcombined(x) = L(g(x), q(x))。对于分类问题来说,一个流行的个体损失是交叉熵损失。

其中1 q(x)=j是指标函数,如果q(x)=j则等于1,否则等于0。对于识别问题,交叉熵损失通常与额外的损失成分相结合[38]。

3.相关工作

在本节中,我们将讨论一些与我们的工作最相关的集合多样化技术。对于合集学习的全面回顾,我们请读者参考[47, 22, 32, 25, 10]。由于这项工作的重点是使用合集处理开放集问题,其他非合集的开放集方法不在本文的讨论范围之内。关于开放集识别方法的广泛调查可以在[12, 3, 33]中找到。 

多样性已被证明是产生准确和稳健的组合的关键[21]。然而,是否需要通过目标函数来明确鼓励这种多样性并不明显。

  • 作为一种选择,我们可以用稍微不同的方式来训练每个模型以获得多样性--例如,使用不同的训练集、随机训练顺序[5]、权重初始化[18]等。
  • 另一种方法是让合并后的合集精度优化,以 "自然 "的方式计算出多样化的好处。也就是说,将合集作为一个整体进行训练,并期望模型能够产生多样性,假设多样性确实有助于合集的准确性。这种联合训练方法是在[11]中提出的,并在[41]中作了进一步研究,作者在其中试验了单个模型损失和合集损失的加权组合。

衡量多样性的程度需要一个指标。不同的多样性指标已经被提出[1, 2, 17, 46].在不丧失一般性的情况下,我们使用模型预测之间的平均成对相关性作为多样性指标。

虽然公式2中的联合损失不包括明确的相关性降低项,但可以证明(见补充),由于联合损失,模型之间的相关性降低(比训练随机化更强)。[41]证明了联合训练在资源有限的情况下显示了前景,但对测试集的概括性不强,需要对单个模型的性能给予更多的重视。这些研究表明,对联合训练的损失进行优化是次优的,需要一个包括单个模型损失的损失和一个明确鼓励多样性的术语。 

理想情况下,这种损失应该来自于对组合损失的分解。对于MSE回归问题和使用平均组合函数给出的合集,通过使用模糊性分解对组合MSE合集损失进行分解,得出了多样性的分析性论证[20]。

 其中,对于回归问题,q(x)是x的基础真值。公式3中的第一项是集合模型的平均MSE,而第二项是鼓励不同模型之间的多样性。这一分解在[28]中被启发式地推导为回归任务的负相关损失(NCL)。

 

其中惩罚函数pi

 减少了模型fi的误差和其他集合模型的误差之间的相关性。与公式2相同,α控制单个模型性能和多样性之间的相对权重。NCL在[7, 34]中被研究,最近被用于深度模型[35],并在[37]中被概括为具有交叉熵损失和平均组合函数的二元分类。我们可以将[37]中提出的二元分类损失扩展到多类(MC)分类,具体如下。

从公式(3)-(6)中可以清楚地看到,上述所有的集合损失都 "受到 "单个模型精度和多样性之间内在的权衡。这种权衡源于其中所包含的两个目标之间的根本矛盾。(a)所有的fi都要尽可能地接近地面实况q;(b)同时,它们需要尽可能地彼此不同。在这项工作中,我们提出了一种适用于开放集情景的多样化方法,以克服或弱化这种权衡。 

到目前为止讨论的方法都是鼓励对训练集进行多样化的预测,以此来获得多样化的合集。在[31]中,作者提出了另一种方法,通过鼓励多样化的推断,在数据流形的局部斑块上进行不同的推断来实现集合的多样化。为了使fi与fj不同,他们在损失函数中加入了E[(fi(xmax fj )-fi(x))2]的近似值,其中xmax fj = argmax x′ fj(x′),x′在x的附近范围内。他们的方法的局限性包括对不属于整流器系列的激活的不稳定行为,以及在优化过程中需要计算二次导数。

另一种使模型预测多样化的方法是通过特征选择实现多样化。一个例子是随机森林[6],其中输入特征的子集被随机选择来组成一个集合。这种方法和其他随机或临时的特征选择方法通常会导致相当弱的个体模型,这不太适合只有几个计算量大的深度学习模型的集合。

我们在这项工作中提出的方法进行了隐性特征选择,不会降低单个模型的准确性。与[31]类似,它鼓励多样化的推断,但没有受到同样的限制,并且可以很容易地应用于最先进的网络。

4.方法--开放集的多样化

在这一节中,我们开发了两种用于开放性问题的合集多样化方法。在开放式场景中,在测试阶段,分布内和分布外(OOD)的数据都被送入模型。我们的目标是对分布中的数据进行正确分类,拒绝分布外的样本。K类开放集分类可以被看作是对K+1类的分类,在测试时将一个未见过的异常值类加入到训练时使用的K类中。使用集合,一个直接的方法是利用模型之间的分歧作为离群值的指示。例如,使用多数投票组合函数,如果最大共识组的大小低于阈值,我们可以决定拒绝一个输入样本。否则,多数人选择的类别将作为分类结果返回。

问题是 "如果在训练过程中无法获得未知数据,如何训练一个集合体对未知数据产生分歧?"

4.1.开放集相关性降低

我们的第一个解决方案使用模型在有效输入上产生的 "错误类别 "概率作为模型对异常值反应的代理。也就是说,我们在已知类别的数据上进行训练,但只要求在错误类别概率上进行模型间的分歧。形式上,让x是q(x)∈[1, 2, ..., K]类的有效训练样本。让我们用

通过省略第q(x)个分量,从fi(x)得到的向量。然后,我们寻求在每一对模型i和j中实现fi\q(x)和fj\q(x)的分歧。 

原则上,任何多样性措施都可以被用来驱动模型间的分歧。例如,我们可以借用NCL(公式6)中使用的负交叉熵项。我们决定不使用交叉熵,因为它在数值上不稳定:与封闭集的情况不同,我们期望fi(x)分量中至少有一个足够大,但很可能所有fi\q(x)分量都接近于零,导致交叉熵爆炸。相反,我们选择使用相关的Corr(fi\q(x), fj\q(x))作为损失项来鼓励分歧。对于基于等级的投票函数g,使用Spearman的等级顺序相关似乎很自然。再看一下,多数投票g只关心最高等级的类,也就是说,要拒绝一个未知的样本,模型必须在等级上有分歧1。低的Spearman相关度并不一定意味着在等级1上有分歧。因此,我们决定使用皮尔逊,给高概率的向量成分更多的权重,并将开放集的多样化损失项定义为

对于精度项,我们采取了平均交叉熵损失,如NCL(公式6)。最后,我们提出的开放集相关减少损失(OSCRL)函数是这样的

 

其中,如前所述,α控制着单个模型精度和多样性之间的相对权重。 所提出的OSCRL方法对于低数量的类问题表现得非常好(见实验)。 对于大量的类,预计很长的类概率向量之间的相关性总是很低,公式7中的多样性损失项变得无效。为了解决有大量类的开放集问题(识别/识别问题中的数百万个类),我们想出了以下方法。 

4.2.基于特征的多样化

在这里,我们选择通过隐式特征选择来实现多样性。像随机森林[6]中的显式或随机特征选择是有问题的,因为对于非表格数据来说,特征不是现成的,而且它通常会导致相对较弱的单个分类器。相反,根据类似于[31]的动机,我们提出了一种基于特征的多样化方法,鼓励多样化推断。对于开放式场景,多样化的推断尤其重要,因为模型必须处理OOD数据。与[31]相比,我们的方法不受结构限制,可以应用于广泛的SOTA模型。

我们解释了建立两个模型合集的算法,它可以自然延伸到更大的合集。第一个集合模型f1是在没有多样性约束的情况下训练的。然后,我们训练第二个模型f2,使其依赖与f1所学到的特征 "正交"。这个过程包括两个步骤。

1.特征提炼。提炼出f1所学到的特征。

2. 基于特征的多样化训练。训练f2,同时鼓励它不考虑f1学到的特征。

在不失一般性的前提下,我们假设模型fi产生一个嵌入向量ei(x)作为输入x的内部表示(在softmax之前的一层),然后转化为模型输出fi(x)。嵌入的概念广泛存在于搜索、聚类和识别问题中,也可以适用于分类。

4.2.1 特征蒸馏 蒸馏过程在图1中得到了可视化。对于一个给定的图像x,我们希望生成一个图像xf1,使其嵌入向量e1(xf1)接近于原始图像的嵌入向量e1(x)。为了实现这一目标,我们使用了一个受 "深度梦想"[29]方法启发的迭代过程。 我们从一个空白图像x< f10> = const开始,并以反向传播的方式迭代进行(ξ是步长)。

一旦嵌入之间的距离足够小,这个过程就会停止。在实践中,我们进行了100次迭代,使用ξ=0.1。经过提炼的xf1(图1(c))包括从f1的角度来看,捕捉到图像x(图1(a))本质的特征。

4.2.2 基于特征的多样性训练

为了训练f2,我们使用一个由两部分组成的损失:单个模型的准确性损失(例如交叉熵损失LCE)和基于特征的多样性项。为了鼓励多样性,我们对模型f2学习对f1有用的特征进行惩罚,迫使f2对这些特征不了解。 

为了达到预期的多样性,我们希望xf1中编码的提炼出的特征对f2来说是非歧视性的,也就是说f2应该不能准确地对xf1图像进行分类。我们通过一个损失项来加强xf1图像的非歧视性,该损失项使正确类别的概率和不正确类别的平均概率之间的差距最小。

 其中q(xf1)是xf1的正确类别。另外,我们可以要求一个统一的logit分布,例如使用[9]中提出的Entropic Open-Set Loss。最后的损失函数是这两个项的加权和。

实际上,所提出的方法的优点是,它可以很容易地应用于现有的架构,并有一个基于提炼的输入图像的额外损失项。由于多样性损失项是对蒸馏出的图像进行操作的,而这些图像相对于训练集来说是OOD的,因此得到的模型有望在开放集上表现出多样化的反应。缺点是需要在训练前或训练中生成蒸馏过的输入图像,这可能很耗时。通过为之前训练的所有模型增加多样性损失项(公式9),建议的技术可以很容易地扩展到任何数量的模型。

为了证明所提方法的多样化外推特性,让我们比较一下在MNIST数据集上训练的两个集合。其中一个双模型合集是用提议的FDL方法训练的。另一个合集的两个模型是独立训练的,使用训练随机化。给定一个OOD图像(图2(a)),它不是MNIST的数字,我们展示了所有四个模型从这个图像中提炼出来的特征(图2(b-e))。正如预期的那样,由于该图像是OOD,提炼出来的特征并没有什么意义。值得注意的是,由独立训练的模型提炼出的特征非常相似(图2(b,c)),而FDL模型的特征则不同(图2(d,e))。 此外,两个独立训练的模型对图2(a)的图像预测了相同的类别 "7",而两个FDL模型预测了不同的类别--"7 "和 "2",这触发了离群值的拒绝。在补充部分,我们讨论了所提出的方法是如何影响嵌入空间的。 

 5.实验

在这一节中,我们将提出的方法应用于各种开放集的识别和分类问题,并与其他多样化方法进行比较。NCL(公式4),联合训练(公式2),以及基线--独立训练的模型的集合。由于本文的范围是合集多样化,我们不与非合集开放集识别或分类方法进行比较。此外,所探索的集合多样化方法对基础的单一模型结构和损失是不变的。在下面的每个实验中,为了进行公平的比较,我们对所有我们比较的多样化方法使用相同的,不一定是最先进的单一模型类型。我们还评估了所提出的技术对对抗性稳健性的影响(见补充)。

5.1. 开放集识别

在这一节中,我们将所提出的方法应用于各种开放集识别问题,并在公开可用的基准上展示了定量结果。在开放集识别场景中,每个输入探针要么在图库中有匹配的(目标),要么没有(非目标)。目标将被识别(建立正确的匹配),而非目标将被拒绝。我们使用集合共识来区分目标和非目标,方法如下:如果所有集合模型都同意一个探针的身份,那么该探针就是匹配的。否则,该探针将被拒绝。继[49]之后,我们使用不同FTR(假目标率)下的TTR(真目标率)作为准确度指标。考虑到识别是一种目标/非目标分类,TTR相当于召回率,FTR相当于假阳性率。为了评估,所有的测试ID都被录入到画廊中。为了计算TTR,我们计算探针与它们的图库图像正确匹配的次数。为了计算FTR,对于每个探针,我们从图库中排除其所有相应的图像,并计算没有被拒绝的探针。

5.1.1 重新识别

我们将我们的方法应用于开放性的人物重新识别(re-ID)问题。一个典型的场景是一个多摄像头的设置,一个摄像头看到的人要被另一个摄像头根据整个身体的外观来识别。这个问题更加复杂,因为图像是从不同的角度拍摄的,而且视图往往是部分遮挡的。数据集和结构。我们使用Market-1501基准[48],它包含1501个身份的32668张图像(750个训练和751个测试)。该设置类似于[50]中报告的多查询设置。我们使用ResNet50[13]作为这项任务的主干。表1显示了在不同的FTR下,各种集合多样化方法的TTR。可以看出,FDL产生了最好的结果,比基线的表现好了30%。OSCRL是第二好的方法。这里我们报告了最佳α的准确性。其他α的结果将在下面的补充和 "对α的敏感性 "部分讨论。

 

5.1.2 人脸识别 几乎所有现实世界的人脸识别系统都是在一个开放的环境中运行的,其中只有一小部分探针身份被登记在画廊中。数据集。我们通过对MS1MV2数据集[8](MSCeleb-1M[43]的版本)进行训练来进行人脸识别实验,其中包含85000个身份和580万张图像。对于测试,我们使用了野外标记的面孔(LFW)数据集[15],其中有13,233张5,749个身份的图像。架构。我们使用IR-SE50 ArcFace[8]架构,其训练方法与[8]相同。表2比较了FTR=1%(标准评估点[24])和FTR=0.5%时的五种合集多样化方法。对于FTR=1%,基于FDL的合集优于其他所有方法,错误率降低了近20%(与基线相比,从1.74%降至1.43%)。对于FTR=0.5%的情况,OSCRL训练的合集优于所有其他方法(更多结果见补充)。最后,尽管本文的范围是合集方法,但为了提供一个可比较的参考点,我们在表3中与几种非合集SOTA方法进行了比较。该表显示了DIR(Rank-1 Detection and Identification rate)@FAR=1%(相当于TTR@FTR),是使用[16]中的协议在LFW上测量的。该协议只将1%的ID注册到画廊,这比表2中使用的∼100%的注册难度要小。这解释了表3中较高的FDL/OSCRL准确性。FDL和OSCRL的表现都超过了其他方法。

5.2. 开放集分类

我们使用与[26]相同的数据设置。训练集只包括分配中的数据。测试集是通过在分布内测试集中增加2%到100%(用γ表示)的OOD数据的比例而形成。数据集。我们使用CIFAR-100和CIFAR-10[19],由50K训练图像和10K测试图像组成,分别来自100个和10个类别。对于OOD数据,我们使用TinyImageNet(crop)数据集[26](从ImageNet中随机裁剪32乘32的图像),包括10K图像。架构。我们训练3种配置的DenseNet-BC网络组合[14]。DN-100-12、DN-82-8和DN-64-6,深度分别为100、82和64,增长率为12、8和6。我们遵循[41]中使用的配置和超参数。每个网络训练3次,结果是训练实例的平均数。在下面的实验中,我们使用五种方法(OSCRL、FDL、Joint、NCL和基线)训练两个模型的组合(n=2),并比较它们的性能。请注意,虽然使用的是与[26]相同的数据,但我们没有与他们的结果进行比较,因为他们进行的是OOD检测,而不是测量整体的K+1类分类精度(像我们这样)。此外,他们使用OOD数据作为验证来调整模型,而我们在训练过程中避免使用这种数据。图3总结了实验结果,其中每个子图对应一个数据集(CIFAR-10/CIFAR-100)和一个网络架构(DN-64-6/DN-82-8/DN-100-12)。X轴代表γ,Y轴代表模型在测试集上的准确性,测试集包括分布式和OOD数据。对于每一种方法,我们都描述了性能最好的α的图形(我们选择了在所有可能的OOD率上优化平均精度的方法--曲线下面积)。表4比较了不同多样化方法在1:1混合(γ=100%)分布内和分布外数据的测试集上的合集精度(在[45, 26]中使用的设置)。在CIFAR-10上,OSCRL在大多数γ值上都明显优于其他方法,与基线相比,准确率提高了10%。联合训练是第二好的方法,而NCL和FDL则与基线相当(或更好一些)。在CIFAR-100上,FDL以很大的优势超过了基线。仔细观察CIFAR-100的结果可以发现,相对的集合行为是依赖于网络的:在DN-64-6上,FDL优于其他方法,OSCRL在中大范围的γ上排在第二。在DN-82-8上,FDL在小-中范围的γ值上优于其他方法,而OSCR在中-大范围的γ值上获胜。对于DN-100-12,NCL优于其余的方法。总而言之,在6个实验(数据集和架构)中的5个实验中,我们专门为解决开放集问题而设计的多样化方法优于其他合集多样化方法。请注意,如前所述,上述讨论中使用的α值是在所有可能的γ上优化平均精度的值(在2%-100%的范围内)。如果预计γ会超出这个范围(非常小或非常大),则应相应调整α。

 5.3.对α的敏感性

在上面的实验中,我们介绍了最佳α的模型的准确性。为了实用,一个方法不能对可调参数太敏感。为了测试这种敏感性,我们在最佳α附近的范围内评估了所提出的方法。表5显示了FDL和OSCRL在不同的α范围内的分类(顶部)和识别(底部)的准确度。我们可以看到,这两种方法对α的变化都很稳健,并在最佳值附近的很大范围内一直优于其他方法(与表4和表2中其他方法的准确度相比)。

7. 结论

我们提出了两种方法来训练不同的模型集合,用于开放场景。第一种方法是使用专门设计的开放集相关减损(OSCRL)对多个模型进行同步训练。OSCRL通过只要求非有效(离群)输入的多样性来缓解准确性和多样性之间的权衡。这种类型的多样性对于通过多数投票进行的异常值检测特别有利。第二种方法是通过特征工程来实现多样性。集合训练是按顺序进行的,当每个新模型被训练成 "忽略 "已经被先前训练的模型所利用的特征时。为了发现一个模型所学习的特征集,我们使用了一个受 "deep-dream"[29]方法启发的特征提炼过程。集合多样化的内在困境是牺牲单个模型的准确性来支持多样性。OSCRL解决了开放集问题的这一困境,我们认为这是与现有集合多样化方法的一个重要区别。关于FDL--它将 "通过赠送特征实现多样化 "的技术提升到了新的水平。FDL不是像以前那样手工选择特征,而是以完全自动的方式进行选择,从而使这一强大的方法变得实用(除了FTR=0.5%以外,在所有7个识别类别中都有最好的准确度,这只允许少数假阳性,导致更高的噪音)。我们提出了 "反教学",使训练好的模型对以前学过的提炼出来的特征没有歧视性,据我们所知,这是一种原创的方法。我们在几个开放集识别和分类领域证明了这两种方法的有效性。我们表明,在开放场景中,所提出的方法始终优于现有的集合多样化方法(独立模型训练、联合训练、负相关损失),导致开放场景分类的准确性提高了10%,开放场景识别问题的准确性提高了20%-30%。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值