An Empirical Study and Analysis of Generalized Zero-Shot Learning for Object Recognition in the Wild

An Empirical Study and Analysis of Generalized Zero-Shot Learning for Object Recognition in the Wild

全文翻译,核心名词依然用英文表示

哪里翻译的不好请多多指教:)

野外目标识别广义零样本学习的实证研究与分析

摘要

零样本学习(ZSL)方法已经在假设测试数据仅仅来自于未知类别的不符合现实情况的设置下进行了研究。本文提出Generalized zero-shot learning(GZSL), 其中测试数据的类别不受限制。我们的经验表明,简单使用由ZSL方法构造的分类器在广义(generalized)设置中表现不佳。受此启发,我们提出了一种简单而有效的校准(calibration)方法,可以用来平衡两种相互冲突的力量:识别来自可见类(seen classes)的数据和来自不可见类 (unseen classes)的数据。我们开发了一个性能度量(performance metric)来描述这种权衡(trade-off),并检查了这个度量在评估各种ZSL方法中的效用。我们的分析表明,现有方法的性能与通过理想化(idealized)的语义嵌入(semantic embeddings)建立的上界之间有很大的差距,这表明改进类语义嵌入(class semantic embeddings)对GZSL至关重要。

介绍

大规模标记训练图像的可用性是近年来在视觉目标识别和分类方面取得成功的关键因素之一。然而,众所周知,自然图像中的物体频率遵循long-tailed分布[1,2,3]。例如,一些动物或植物物种天生就很稀有——在大街上很少能够看到羊驼。此外,全新的类别可能只会出现零标签或很少标签的图像; 新定义的视觉概念或产品每天都被介绍(也就是说没有对应的标注数据)。在这样的现实情况(real-word)中,计算机视觉系统最好能够识别那些稀有类的实例,同时要求最少的人力和标记的实例。

零样本学习(Zero-shot learning, ZSL)一直被认为是解决上述野外识别问题的关键。ZSL区分了两种类型的类:可见类(seen)和不可见类(unseen),其中只有seen classes有对应的标注数据。没有标注数据的unseen classes的模型是通过将它们与seen classes关联来学习的。这通常是通过将可见的和不可见的类嵌入到一个公共语义空间(semantic space)来实现的,例如可视化属性[4,5,6]或类名的word2vec表示[7,8,9]。这个公共语义空间支持将seen classes的模型转换为unseen classes[10]的模型。

ZSL的设置是,当模型对unseen classes数据学习完后,就会根据其区分unseen classes的能力来判断它们的性能,在测试阶段是假设不存在seen classes的数据的。这种设置最初是Lampert等人在[4]的开创性工作中提出的,几乎一直被用于计算ZSL方法[10、11、12、13、14、15、8、16、17、18、19、20、21、22、23、24、25、26、27、28]。

但是,这个问题的设定是否真正反映了在野外的识别任务呢(does this problem setting truly reflect what recognition in the wild entails )?虽然学习新概念(novel concepts)的能力是任何ZSL系统都应该具备的特性,但这只是硬币的一面。另一个重要的特征(当前还没有充分的研究)是能否记住过去的经历(remember the past experiences),比如seen classes。

为什么这个特性是可取的(is this trait desirable)?考虑一下数据在现实世界中是如何分布的。可见的类通常比不可见的类更常见;因此,假设我们永远不会在测试阶段遇到它们是不现实的。为了使ZSL生成的模型真正有用,它们不仅应该能够分别在seen类或unseen类中的数据实现准确识别,而且能够自动将seen类和unseen类区分开。

因此,为了更好地理解现有的方法在现实世界中是如何执行的,我们提倡评估他们的设置generalized zero-shot learning(GZSL), 其中测试数据来自unseen和seen的类,我们需要的共同标签空间(labeling space)划分成两种类型的类。以前在这方面的工作很少。详见“related work”一节。

我们的贡献包括在这种新设定下对现有的几种ZSL方法进行广泛的实证研究。我们证明由这些方法构造的一个简单的分类器应用性能很差。特别是,来自unseen classes的测试数据几乎总是被归类为来自seen classes的测试数据。为了解决这个问题,我们提出了一种简单而有效的校正叠加(calibrated stacking)方法。该方法注意到两种相互冲突的力量:识别来自seen classes的数据和识别来自unseen classes的数据。我们引入了一种新的性能度量,称为“看不见的精度曲线下的面积”(AUSUC),它可以评估ZSL方法在这两种方法之间的平衡情况。我们通过在三个基准数据集(包括完整的ImageNet 2011年秋季发布的数据集[29],其中包含大约21,000个unseen classes)上评估在这个指标下的几个代表性ZSL方法来演示这个指标的效用。

我们通过进一步建立ZSL性能极限的上界来补充我们在学习方法上的比较研究。特别地,我们的想法是使用类代表(class-representative)的视觉特征作为理想化的语义嵌入来构建ZSL分类器。我们发现现有的方法与这个理想的性能限制之间存在很大的差距,这表明改进类语义嵌入(class semantic embeddings)对于实现GZSL至关重要。

论文的其余部分组织如下。第二部分回顾相关文献。我们正式定义了GZSL,并在第3节中阐明了它的难点。在第4节中,我们提出了一种方法来纠正前一节中观察到的问题,并将其与相关方法进行比较。实验结果、详细分析和讨论分别在第5、6和7节中给出。

相关工作

当前已经有了很少量的研究GZSL的工作。[8,17,30,31]让分类器的标签空间包括了seen classes,但是却和unseen classes分开来测试。[9]提出了two-stage两段式方法,先判断一个测试数据是来自seen classes还是unseen classes,然后应用对应的分类器。然而,他们的实验被限制在2或6个unseen classes。我们在第4.3和第5章节以及支撑材料中详细描述和比较了他们的方法。在动作识别领域,[32]探究了最多3个seen classes的广义设定. [33]和[34]关注为每一个unseen classes(针对seen类)训练一个zero-shot的二分类器——而没有从seen clasees区分出多个unseen classes的能力。最后,开放域识别考虑在测试集同时包含两种类型的类别,但是将unseen类别视为了一个单独的outlier类。

广义零样本学习

在这一节中,我们规范描述了广义零样本学习的设定。之后我们提出了经验性证据来阐述这个问题的困难。

3.1 传统的和广义的零样本学习

假设我们有训练数据集D = {(xn ∈ RD,yn)}Nn=1  和对应的来自于seen classes S = {1, 2, · · · , S}. 标签空间的标签yn 。同时定义unseen classes的标签空间为U={S+1,···,S+U} 。我们用T =S∪U 来表示两种类集合的联合。

在传统的ZSL设定,主要目标是能够将测试数据顺利分类到unseen classes, 假设seen classes在测试阶段是没有的。也就是说,每一个测试数据是假定全部来自和将要分配U 中的标签。

现有的关于ZSL的研究几乎全部集中在这个设置上[4、10、11、12、13、15、8、16、17、18、19、20、21、22、23、24、25、26、27、28]。然而,在实际应用中,只遇到不可见类的数据的假设是不现实的。可见类通常是我们在现实世界中看到的最常见的对象。因此,传统的ZSL的目标并不能真正反映分类器在野外如何进行识别。

由于传统的零距离学习的缺陷,我们提倡研究广义零距离学习(GZSL)的更一般的设置,在这里我们不再限制测试数据的可能的类隶属关系——它们每一个都属于T中的一个类。

3.2 分类器

没有普遍性的loss,我们假设对于每个类c ∈ T ,我们有一个判别得分函数fc(x),

,从中我们能够得到x的标签。例如,一个看不见的类u,合成的方法分类器[28]定义了fu(x) = wuTx, ,其中wu 是class u的模型参数向量,由其语义嵌入au 构建(比如其属性向量(attribute vector)或和该class名称相关联的单词的词向量)。在ConSE[17]中,fu(x) = cos(s(x),au) ,其中s(x) 是数据样本x的预测嵌入,在DAP/IAP[38]中,fu(x) 是属性向量的概率模型。我们假设,给定相应的语义嵌入,可以用同样的方法构造相似的判别函数。

如何评估GZSL的算法? 我们定义和区分符合降低性能指标: AU→U 将测试数据从U 分类到U 的准确性, AS →S 将测试数据从S 分类到S 的准确性。以及最终AS→T

和AU→T 将测试数据从seen classes 或者unseen classes分类到两者结合起来的标签空间的准确率。应该注意的是AU→U 是常规ZSL使用的标准性能度量,AS→S 是多类分类的标准度量。此外,当两个指标不平衡时,我们不会将AT →T

简单地计算为AS→T和AU→T 的平均,下文会提到。(GZSL的测试数据是两者都有。)

3.2 广义ZSL很困难

 为了阐明GZSL的困难,我们总结了使用简单而又符合直觉的GZSL算法的结果。给了区分函数(discriminant functions),我们采用了如下的分类规则作为direct stacking:

我们使用了上面的规则来堆叠来自下列zero-shot learning方法的分类器:DAP和IAP[38],ConSE[17]和Synthesize[28]分类器。 我们根据每一个基于类级别(class-wise)的交叉验证[28,26,33]来调整超参数。我们在两个数据集AwA[38]和CUB[39]上测试了GZSL,在第五节可以看到关于这两个数据集的详细介绍。

表1记录了我们之前提到的4种评价指标的实验结果。我们的目标不再是为了比较不同的方法的性能,而是验证了忽略关于数据是否来自seen或者unseen类的“先验知识”所带来的影响。

 

我们观察到,在GZSL的设定下,unseen classes的分类表现(AU→T )  从普通ZSL的表现(AU→U) 下降的十分迅速,而seen classes(AS→T )的分类表现几乎保持着普通的多类别分类任务(AS→S)  几乎一样的结果。也就是说,几乎所有来自unseen classes的测试数据都被错误的分类到了seen classes。这种表现上的急剧恶化说明了GZSL的难度。因为我们在训练的时候仅仅见过seen classes,因此seen classes的打分函数主导了unseen classes,也导致了GZSL预测结果的偏差。同时,模型将会把每一个新数据点都直接分到S的标签空间中,因为seen classes的分类器没有经过来自unseen classes的“反例”的训练。

 GZSL的方法

前面的例子说明了由传统ZSL方法构造的针对unseen classes的分类器不应该简单的直接和seen classes的模型合并在一起来扩展GZSL所需要的标签空间。

    在接下来的小节中,我们提出了一个对direct stacking简单的变形(variant)来控制这样的一个问题。我们也提出一个测量GZSL表现的指标,该指标考虑到了识别seen classes和识别unseen classes之间内在的trade-off关系。这个指标叫做Area Under Seen-Unseen accuracy Curve(AUSUC),平衡了两个冲突的力量。我们用表述两种相关的方法(虽然很先进但是表现却很不好)作为本章节的结束。

4.1 Calibrated stacking 校准堆叠

我们的方法源于这样的观察:对seen classes的判别函数的分数往往要高于unseen classes。因此,出于直觉,我们想要减少seen classes的分值。于是设定了下面的分类规则:

 

 其中,指示函数(indicator) 表示是否c来自于seen classes,γ 是一个校准因子(calibration factor)。我们将这个可调的规则(adjustable rule)称为calibrated stacking(校准堆叠)。

另一个方法来解释γ是将γ视为来自unseen classes的一个数据点的先验似然。当γ=0时,校准堆叠规则将重新变成之前提到的直接堆叠(direct stacking)规则。

考虑这样的两个极端例子可以方便理解γ。当γ→ +∞ 时,分类规则会完全忽略所有seen classes并且将所有数据点都分到unseen classes中。当没有来自于seen classes的新的数据点时,这个分类规则就相当于传统ZSL的设定。另外,当γ→ -∞ 时,分类规则仅考虑了seen classes在标准的多样分类的的标签空间。这个校准堆叠规则因此表示一个处于完全对seen classes分类和保守的直将数据点分类到unseen classes两者之间的一个中间状态。因此调整这个超参数可以带来一种权衡(trade-off),而我们利用这种权衡来定义一个新的性能度量。

4.2 Area Under Seen-Unseen Accuracy Curve(AUSUC) 已知-未知精度曲线下的面积

不同于上文提到的校准因子γ,我们可以计算一系列的分类精度(AU→T , AS→T

).图一画出了基于[28]给出的分类器在类级别的交叉验证(class-wise cross validation)的数据集AwA的点,我们称之为Seen-Unseen accuracy Curve。

 

在这曲线上,γ=0 对应直接堆叠(direct stacking),用十字交叉验证。这个曲线和很多熟悉的用来表示冲突目标(conflicting goals)的曲线相似,比如Precision-Recall(PR)曲线和Receiving Operator Characteristic(ROC)曲线都有着两端的极端情况(γ → −∞ and γ → +∞)。

用一个数字来来总结这个图的传统方法是用曲线下的面积(AUSUC)。面积越大,则说明算法y也能够平衡AU→T  和 AS→T  。在第五节、第六节和支撑材料中,我们用这个性能度量评估了现有的zero-shot learning方法的表现,同时提供了进一步的想法和分析。

AUSUC评价标准的一个重要和立即能用的地方是模型选择。许多ZSL学习方法要求调整超参数——很多工作根据AU→U的准确率来调整。但是这样选择的模型不一定能达到衡AU→T  和 AS→T之间的最佳平衡。相反的,我们提出使用AUSUC来帮助模型选择和超参数调整。有着更高AUSUC值的模型更能在GZSL任务中达到平衡。对于细节的讨论,请看支撑材料。

4.3 Alternative approaches 可选的方法

Socher等人[9] 提出一个两段式的zero-shot learning方法,首先预测一个图片是来自seen还是unseen classes 然后使用对应的分类器。第一个阶段是基于新颖性检测(novelty detection)的概念,如果数据点不太可能来自于seen classes,则给它一个高新颖性的分数。他们用两种新颖性检测策略,Gaussian饿LoOP模型[10]。 我们简单描述了一下这两种方法并且将它们和我们上面提到的方法进行对比。细节记录在了支撑材料中。

Novelty Detecton

主要想法是对每一个样本x分配一个新颖性成绩N(x)。根据这个新颖性成绩,最终的预测规则就变成了

 

其中−γ 是新颖性的阈值(threshold)。成绩高于这个阈值表示属于unseen classes。对于Gaussian模型,为了估计N(x),首先用高斯混合模型对在seen classes中的数据点进行建模。一个数据点的新颖性成绩是他在这个混合模型下的负log概率值。或者,一个数据点的新颖性可以用Local Outlier Probabilities(LoOp)[40]来打分。这个方法是要计算x和最近的seen classes的距离。这样的距离之后被转化成一个outlier(异常点)的概率,可以解释为x来自于unseen classes的似然。

Relation to calibrated stacking

如果我们对式子(3)定义一个新的新颖性成绩:

,我们变成了在式子(2)中的预测规则。然而,吱哟我们仅对预测一个标签感兴趣时,这个关系才成立。当我们对一个集合的标签预测有兴趣时(比如希望正确的标签位于前K个预测结果中),(i.e., the Flat hit@K metric, cf. Section 5) 这两个预测规则将会给出不同的结果。

实验结果

5.1设置

Datasets

我们主要使用三个常用数据集:Animals with At- tributes (AwA) [38], CUB-200-2011 Birds (CUB) [39], and ImageNet (有着21841个类别) [41].表2总结了三个数据集的关键特征。

 

 Semantic spaces

语义空间:对于AwA和CUB中的类别,我们分别使用85维度和312维度的二元(binary)或者连续值(continuous-valued)分布[38,39]。对于ImageNet,我们使用由Changpinyo等人提出的skip-gram模型[7,42]训练出来的500维的词向量(WORD2VEC) [28]。我们护士没有词向量的类别,一共20345(筛选自20842个)个unseen classes。我们follow[28]来标准化除了二元embedding外所有的embeddings来得到unit L2正则。

Visual features

视觉特征:我们使用了预训练自ILSVRC 2012 1K[41]的所有数据集(所有用Caffepackage[44]提取到的)而得到的GoogleNet深度特征[43]。如[20,28]一样,提取到的特征来自于1024维的池化层单元的激活状态(activations)

Zero-shot learning methods

我们测试了多个典型的传统的zero-shot learning的方法,下面有这几个方法的简单介绍。Direct Attribute Prediction(DAP) 和 Indirect Attribute Prediction(IAP)[38]都是概率模型,它们作为中间步骤执行属性预测(attribute predictions),然后使用它们来计算unseen classes标签的MAP预测。ConSE[17]利用预训练的seen classes分类器和他们的概率输出来推理每一个测试样本的语义嵌入(semantic embeddings),之后用最大相似的语义嵌入将其分类到对应的unseen class。SynC[28]是一个不久前提出的多任务学习方法,合并了一个基于语义embeddings的分类器和一个用来自seen classes的标注数据学习的基础分类器。两个版本的方法:SynCo-v-o and SynCstruct 使用了使用one- vs -other和Crammer-Singer风格的[45]损失函数来训练分类器。我们遵循[38,17,28]对DAP和IAP使用二元属性,对ConSE和SynC使用连续属性和WORD2VEC。

Generalized zero-shot learning tasks

之前一直没有针对GZSL建立基准任务benchmark datasets。因此我们定义了一系列的任务,这些任务更紧密地反映了数据在实际应用中的分布方式。

我们通过将测试数据组合成seen classes和unseen classes的图像来构造GZSL任务。我们遵循现有数据集的分裂为传统的ZSL分离出seen classes和unseen classes。另外,对于数据集AwA和CUB,我们从seen classes中提取20%的数据点(之前都是在常规的零样本设置下进行训练),并与seen classes的数据合并形成测试集;对于ImageNet,我们将其验证集(与其训练集具有相同的类)和不在ILSVRC 2012 1K数据集中的21K类合并在一起。

Evaluation metrics

我们将在第4.1节中主要报告在AUSUC下ZSL方法的性能,同时我们解释了如何计算它的两个精度组件AU→T  和 AS→T。

对于AwA和CUB,seen和unseen accuracy对应于(按类大小归一化)多路分类精度(nulti-way classification accuracy),其中seen accuracy由来自seen classes的20%的图像计算出,unseen accuracy由来自unseen classes的图像计算出。

对于ImageNet,seen和unseen accuracy对应于Flat hit@K (F@K) ,被定义为模型在其前K个预测中返回真实标签的测试图像的百分比。注意,F@1是非规范的多路分类准确率。另外,遵循[8,17,28]中的步骤,我们评估了三种情况下不断增长的难度:(1)2-hop 包含1509个unseen classes,他们在1K个seen classes的两个tree hops内。(2)3-hop 包含7678个unseen classes,他们在1K个seen clasees的3个tree hops内。(3)所有共包含20345个unseen classes。

5.2使用哪种方法来执行GZSL?

表3提供了一个多种利用seen和传统unseen分类器的方法的实验对比,通过超参数的交叉验证来最大化AUSUC。补充资料中有关于其他数据集和GZSL方法的实证结果。

 

这个结果说明,不管使用哪种ZSL方法来生成对seen和unseen classes的模型,我们的calibrated stacking要优于其他方法。尤其的,尽管他们的方法在概率上是合理的,这两个新颖性检测的方法表现的并不好。我们认为,这是因为现有的大多数ZSL方法都是有区别的,并对其进行了优化,以充分利用类标签和语义信息。相反,不论是高斯方法还是LoOP方法都将所有类作为一个整体进行建模,这可能会以建模类间差异(inter-class differences)为代价。

5.3 哪种ZSL方法在GZSL设定更鲁棒?

图2同时使用calibrated stacking的方法,在GZSL任务上测试详细对比了几种ZSL方法。很明显,SynC的方法在所有的范围都主导了其他方法。图上的叉号标记了direct stacking(第三节)的结果。

 

图3详细对比了ConSE和SynC这两针对大规模ZSL的方法。当精确度用Flat hit@1(多类别分类准确率)测量时,两个方法性能接近,说明了两种方法的不同权衡之处。然而,当测试Top K>1的命中率时,SynC优于ConSE。表4给出了在AUSUC下的两种方法在ImageNet数据集上的详细对比。我们观察到,除了使用Flat hit@1时两种方法的性能几乎无法区分外,SynC的性能通常优于ConSE。在补充材料中可以找到更多的图。

 

 

在GZSL上的分析

ZSL是一个具有挑战性的问题,无论是在传统conventional的设置还是generalized广义的设置中,对于unseen classes都没有标注数据。ZSL方法的性能至少取决于两个因素:(1)unseen classes和seen classes之间的关系;(2)学习算法如何有效地利用这种关系来生成unseen classes的模型。对于GZSL,性能进一步取决于如何结合用于seen和unseen classes的分类器来将新数据分类到联合标签空间中。

尽管在ZSL进行了广泛的研究,但仍有几个问题没有得到充分的研究。例如,给定一个数据集和一个unseen和seen classes的分割,任何ZSL方法的最佳性能是什么?我们离那里有多远?为了缩小最先进和最理想的性能之间的差距,我们可以改进的最重要的组成部分是什么?

在这一节中,我们对ZSL方法进行了详细的实证分析,并对其中的一些问题进行了阐述。

Setup

设置: 作为ZSL方法,不能利用来自unseen classes的标注数据来训练分类器,一个可靠的方法是在标注的unseen classes数据上来测试。

具体来说,为了在AwA和CUB数据集上构造一个多类别分类任务,我们随机选取了80%来自所有类别(seen和unseen)数据和他们对应的标签来训练分类器。剩下的百分之二十将会被用来评估多类别分类器和ZSL分类器。注意,对于ZSL,只有seen classes的80%用来训练,而属于unseen classes的一部分不用来训练。

在ImageNet数据集上,为了减少计算量的消耗(构造多类分类器涉及到了20345种分类方式),我们从原来不可见的20345个类别中细分出1000个unseen classes。我们称这个新的数据集为ImageNet-2K(也包含了来自ImageNet的1K个seen classes)。补充材料中描述了子抽样过程,其主要目标是保持不同的unseen classes的比例不变。在这1000个unseen classes中,我们为每个类随机选择了50个样本,并将它们保留下来进行测试,并使用其余的样本 (连同它们的标签)来训练2000种分类器。

对于ZSL方法,我们使用属性向量或单词向量(word2vec)作为语义嵌入。由于SynCo-vs-o

 [28]在一系列数据集和设置上表现良好,所以我们将重点放在这个方法上。对于多类分类,我们训练one-vs-others的支持向量机。一旦我们得到的seen和unseen classes上的分类器,我们使用校准叠加决策规则结合(如GZSL),并用不同的校准系数γ获得Seen-Unseen精度曲线,如图1所示。

How far are we from the  ideal performance?

图4展示了对于ImageNet-2K数据集的Seen-Unseen精确率曲线,额外的在ImageNet2K上的图类似于AwA和CUB都在支撑材料中。非常清楚的是,使用默认WORD2VEC的语义嵌入的GZSL的表现和多类分类器的实际表现有着巨大的差距。注意图中叉号标记表示了direct stacking的结果。多类别的分类器(multi-class classifiers)不仅在全部范围内(有着很高的AUSUCs)适用于GZSL,而且能够学习良好平衡的(比如direct directing依然有效)分类器。

 

How much can idealized semantic embeddings help?

我们假设很大一部分GZSL与多类分类之间的差距可以归因于GZSL方法使用的弱语义嵌入(weak semantic embeddings)。

我们使用一种理想化的语义嵌入形式来研究这个问题。由于ZSL的成功在很大程度上依赖于语义嵌入如何准确地表示classes之间的视觉相似性,因此我们将视觉特征视为语义嵌入。具体来说,每个类的语义嵌入可以通过平均属于该类的图像的视觉特征来获得。我们称它们为G-attr,因为我们从GoogLeNet获得了视觉特征。注意,对于unseen classes,我们只使用保留的训练示例(reserved training examples)来派生语义嵌入;我们不使用他们的标签来训练分类器。

图3展示了使用了G-attr的GZSL的表现,和多分类任务的表现之间的差距相比使用WORD2VEC的GZSL的表现大幅度减小。在一些案例中(更多的综合实验可以看支撑材料),GZSL几乎能够吻合不使用任何来自unseen classes标签的多分类任务。注意前面提到的用来对比的多分类任务都是指普通的有监督的多分类任务,不用unseen classes数据。

How much labeled data do we need to improve GZSL’s performance?

其实接下来的这部分不再是完全零样本学习的内容,而是考虑少样本学习(few sot learning),最少需要多少的unseen classes的样本使其能够在完整的标签空间中有一个很好的分类效果。以下为原文:

假设我们有一个预算来标记来自不可见类的数据,那么这些标签能在多大程度上改进GZSL的性能呢?

表5对比了GZSL获得的AUSUCs与ImageNet-2K上的多类分类的AUSUCs,其中GZSL允许使用视觉特征作为嵌入——这些特征可以从一些unseen classes的标记图像中计算出来,我们可以称之为“few-shot”学习。使用大约(随机抽样)每个类100个标记图像,GZSL可以快速接近多类分类器的性能,每个类大约使用1000个标记图像。此外,与K > 1相比,在平坦hit@K = 1时,作为语义嵌入的G-attr可视化特性对word2vec的改进更为显著。

 

我们在表6中使用20,345个未看到的类进一步研究整个ImageNet,其中我们保留了80%未看到的类的示例,以派生G-attr并对其余的类进行测试,并观察类似的趋势。具体来说,在Flat hit@1上,仅一张图片的G-attr性能就比word2vec提高了三倍,而100张图片的G-attr性能则提高了十倍以上。详见补充资料,包括AwA和CUB的结果。

 

结论

我们探究了GZSL的问题。GZSL放宽了传统ZSL中测试数据只属于unseen classes这一不切实际的假设。在GZSL中,册书数据也能够来自于seen classes并且标签空间是两种类型的类的联合。我们用实证展示了直接应用现有的ZSL方法在GZSL的设定下表现不好。因此,我们提出了一个超级简单但是很有效的方法来调整ZSL方法应用到GZSL的任务中。其主要思想是引入一个校准因子来校准seen classes和unseen classes的分类器,从而平衡两种相互冲突的力量:识别来自seen classes的数据和来自unseen classes的数据。我们开发了一种新的性能度量,称为“看不见的精度曲线下的面积”(AUSUA)以描述这种权衡。我们通过分析现有的适用于GZSL方法来演示这个度量的效用。大量的实证研究揭示了这些方法在三个完善的基准数据集上的优缺点,包括大型的ImageNet,它有超过20,000个未被发现的类别。我们通过进一步建立GZSL性能极限的上限来补充我们在学习方法上的比较研究。特别地,我们的想法是使用类代表的视觉特性作为理想化的语义嵌入。我们发现现有方法的性能与性能限制之间存在很大的差距,这表明改进类语义嵌入的质量对于改进ZSL至关重要。

原文完整论文可以在这里下载:

https://arxiv.org/abs/1605.04253v1

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值