这篇论文要讨论的是ZSL在大型数据集ImageNet benchmark上的精度非常低的问题。原因主要是ImageNet benchmark针对这个任务有两方面的缺陷:一个是结构缺陷,一个是低质量语义和图像。
论文主要是为ZSL任务挑选一个更合适的数据集。在总结中,作者也提出ZSL的目标和定义到底是什么,也有待深入讨论。
本文的分析引出了两个影响ZSL模型精度主要因素:标准评估协议中的结构缺陷,低质量语义和视觉样本。从好的方面来看,我们表明,一旦考虑到这些缺陷,实际存在ZSL模型的准确性比之前认为的要高得多。
另一方面,我们证明了一个平凡的解决方案比大多数现有的ZSL模型有很大的优势,这是令人沮丧的。为了解释这一现象,我们引入了ZSL数据集中结构偏置的概念。我们认为ZSL模型旨在开发组合推理能力,但是Imagenet基准测试中存在的结构偏置更倾向于基于训练类和测试类之间的简单一对一映射的解决方案。
Frome等人[3]提出了一种基于Imagenet数据集的ZS通用对象识别基准,并在近期的工作中被广泛采用作为标准评价基准[13,20,15,1,21,7,18]。他们使用word embeddings作为语义表示,使用ILSVRC数据集的1000个类作为训练类,并根据与Wordnet层次结构中的训练类的距离,从Imagenet数据集的其余20845个类中提取不同的测试分割:2跳、3跳和所有的测试分割。
所有类别 C C C
训练类别 C t r C_{tr} Ctr
测试类别 C t e C_{te} Cte
标注图像 X X X
语义表示 Y Y Y
(1a) C t r ∪ C t e ⊂ C C_{tr} \cup C_{te} \subset C \tag {1a} Ctr∪Cte⊂C(1a)
(1b) C t r ∩ C t e = ϕ C_{tr} \cap C_{te} = \phi \tag {1b} Ctr∩Cte=ϕ(1b)
(1c) Y = y c ∈ R d c ∈ C Y = {y_c \in R^d c \in C} \tag {1c} Y=yc∈Rdc∈C(1c)
(1d) X = { ( x , c ) ∈ R 3 × h × w ∀ c ∈ C } X = \{ (x, c) \in R^{3 \times h \times w} \quad \forall c \in C \} \tag {1d} X={(x,c)∈R3×h×w∀c∈C}(1d)
T r = { ( x , y c ) ∣ c ∈ C t r } Tr = \{ (x, y_c) | c \in C_{tr} \} Tr={(x,yc)∣c∈Ctr}
T e = { ( x , y c ) ∣ c ∈ C t e } Te = \{ (x, y_c) | c \in C_{te} \} Te={(x,yc)∣c∈Cte}
ZSL模型旨在求解最优参数 θ ∗ \theta^* θ∗:
(2) θ ∗ = a r g m i n θ E ( x , y ) ∈ T r L ( E θ ( x , y ) + Ω ( θ ) ) \theta^* = argmin_{\theta} \mathbb E_{(x, y) \in Tr} \mathcal L(E_{\theta}(x, y) + \Omega(\theta)) \tag{2} θ∗=argminθE(x,y)∈TrL(Eθ(x,y)+Ω(θ))(2)
其中, L \mathcal L L是损失函数, E E E是相似度分数函数。
E \mathbb E E是什么?
在标准的ZSL设置下,测试样本 x t e x_{te} xte的分类是通过在未见类别中检索相似度分数最高的类别描述 y y y:
(3) c = a r g m a x c ∈ C t e E ( x t e , y c ) c = argmax_{c \in C_{te}} E(x_{te}, y_c) \tag{3} c=argmaxc∈CteE(xte,yc)(3)
在广义的ZSL设置下,测试样本 x t e x_{te} xte的分类是通过在所有类别中检索相似度分数最高的类别描述 y y y:
(4) c = a r g m a x c ∈ C E ( x t e , y c ) c = argmax_{c \in C} E(x_{te}, y_c) \tag{4} c=argmaxc∈CE(xte,yc)(4)
ZSL基准测试包含三个部件:标注图像集合 X X X、语义表示集合 Y Y Y 和训练测试类别 ( C t r , C t e ) (C_{tr}, C_{te}) (Ctr,Cte)。作者接着分析了误差来源:不同测试分割的不一致性、词嵌入的质量低的影响因素、图像样本的歧义性。
图1说明了Wordnet层次结构中标准测试分割的测试类的配置。这种配置导致了一个明显的矛盾:测试集包括父类和子类概念的可视类。
考虑在hop-1测试拆分中对鸟类图像进行分类的问题,如图1所示。标准的测试分割会导致两种可能不一致的场景:
我们把上述两种情况都称为假负例。图2 给出了在1-hop测试拆分上不同场景的ZSL分类分布。
一张图片 x x x的分类输出有4种:正确标签 c c c、 c c c的父类、 c c c的子类、不相关类。只有最后一种情况是确定错误的。
分析:GCN模型
标准ZSL | 广义ZSL | |
---|---|---|
分类正确 | 21.8% | 10.3% |
分成父类 | 6.0% | 12.2% |
分成子类 | 12.6% | 22.1% |
分类错误 | 59.6% | 55.4% |
在标准ZSL设置下,假负例的比率为18.6%。真正的准确率应该在27.8%-40.4%之间。
在广义ZSL设置下,假负例的比率为34.3%。真正的准确率应该在22.5%-44.6%之间。
作者确定了影响词嵌入质量的两个因素,并分析了它们对ZSL准确性的影响:多义词和出现频率。作者认为,这些问题在定义大规模物体类别时自然会出现,所以这是一般物体零样本识别的隐含问题。但是,我们认为ZSL基准测试应该提供一个高质量的、明确的语义表示的精心策划的环境,并且将来应该分别研究解决多义词和罕见词的特殊情况的解决方案。
从大型文本语料库中单词的共现统计量中,以无监督的方式学习单词嵌入。常用词是从大量的统计信息中学习而来的,因此我们希望它们比从稀少的共现统计信息中学习的罕见词汇提供更有语义意义的表示。我们发现很多Imagenet类标签都是稀有词(见补充资料附录B),多达33.7%的标签词在Wikipedia中出现不到50次。在这里,我们质疑从这些罕见的词嵌入中学习到的少数共现统计信息是否为ZSL提供了任何视觉上的判别性信息。
图中每个点表示100个测试类的top-1精度。x轴,表示测试类标签的平均出现频率。y轴,表示top-1精度平均值。
多义词的说明。每种颜色代表一个单词的100个最近邻。“Cairn”及其近邻围绕着与石头和纪念碑相关的词汇,远离与狗相关的词汇,因此我们将top visual class作为单词Cairn的主要含义。
为了处理一词多义现象,我们假设所有的词都有一个主要的意思,可能还有几个次要的意思。我们将单词嵌入考虑为唯一反映其主要含义的语义,并丢弃与其单词标签的次要含义相关的可视类。
图3报告了在这些不同的测试划分上获得的准确性。我们可以看到,单词标签被标识为主要含义的测试类的ZSL准确性有了显著提高。相比之下,只包含次要含义的测试划分表现得很差。这证实了一词多义确实影响了ZSL的准确性,并表明我们对主要含义识别的解决方案可以解决这个问题。
ILSVRC数据集由Imagenet数据集的高质量子集组成。当前的ZSL基准使用ILSVRC类作为训练类,并使用从Imagenet数据集的其余部分提取的类作为测试集,假设这些测试类具有类似的质量标准。经过仔细检查,我们发现这些测试类包含许多不一致和歧义。在本节中,我们详细介绍了一个自动过滤模糊样本的解决方案,以便仅为我们建议的基准选择高质量的样本。
图5:相对于样本总体大小的ZSL精度。
左:Imagenet类总体大小的分布。6.1%的Imagenet类的样本小于10个,21.1%的Imagenet类的样本小于100个。右:不同测试划分的ZSL准确度相对于它们的平均样本总体大小。
在图5中,我们报告了我们的模型相对于它们的平均总体计数的不同测试分裂的ZSL准确性。从图中可以看出,样本总体大小与两种模型的精度之间存在明显的相关性,对于低样本总体类,其精度较低。我们使用样本总体作为一个粗略的指标来快速过滤模糊的视觉类,只考虑样本总体大于300幅图像的类作为我们建议的数据集中的有效候选类。
即使在选定的类中,我们也发现了许多不一致和模糊的图像,所以我们想按样本进一步过滤测试图像。但是,什么是ZSL基准测试的良好候选映像呢?我们如何测量样品的质量?我们认为,ZSL基准测试应该只反映模型的零样本能力:ZSL基准测试应该相对于标准非ZSL模型的准确性来评估ZSL模型的准确性。因此,我们将一个好的ZSL样本定义为一个足够清晰的图像,使其能够被以监督方式训练的标准图像分类器正确分类。
图6总结了我们分析的不同因素对我们的基线模型在“1跳”测试分割上的top-1分类错误的影响。在标准ZSL设置下,去除模糊图像、模糊语义样本和结构缺陷后,线性模型的误差率从86%下降至61%。GCN模型对广义设置的误差率从90%下降到47%。
ZSL型是受启发于人类从一个纯粹的描述中识别未知对象的能力,它通常是如下例所示:没有见过斑马,一个人能够识别它,知道斑马看起来像马覆盖着黑色和白色的条纹。这个例子说明了人类组合不同已知对象的视觉特征来定义和识别以前未知对象类别的能力。
标准图像分类vsZSL图像分类
标准图像分类器将类标签编码为本地表示(one-hot嵌入),其中每个维度表示一个不同的可视类,如图8所示。因此,标签空间中的类之间不共享任何信息:可视类嵌入同样遥远且彼此正交。ZSL模型背后的主要思想是将可视类嵌入到分布式表示中:在标签空间中,可视类由类之间共享的多个可视特性(马的形状、条纹、颜色)定义。分布式表示允许通过与已知类共享的可视特性组合来定义和识别未知类,其方式与上面描述的人类能力类似。
将可视化类嵌入到分布式特征表示中是非常强大的,因为它允许通过组合从给定的训练类集合中学习的一组可能很小的特征来定义一定数量的组合测试类。因此,我们认为,ZSL背后的关键挑战是通过已知视觉特征的组合来实现对未知类的ZS识别,遵循它们最初对人类能力的启发,并尽可能通过分布式特征表示来实现。在本节中,我们将看到并不是所有ZSL问题都需要这种类型的组合能力。在标准基准测试中,我们展示了基于可视化类的本地表示的简单解决方案优于基于word嵌入的现有方法。我们证明了这个平凡解是由标准测试分割的特定配置所实现的,并引入了结构偏差的概念来指代ZSL数据集中存在这样的平凡解。
图7演示了一个玩具ZSL问题,其中,给定一组Horse和TV monitor图像的训练集,目标是对Zebra和PC laptop的图像进行分类。让我们考虑在训练集上训练一个图像分类器,并将其直接应用于来自测试集的图像。因此,这个问题的一个简单解决方案就是在测试类和它们最近的训练类之间定义一个一对一的映射:Horse=Zebra和TV monitor=PC laptop。这个例子很明显,并不是所有的ZSL问题都需要组合可视化特性来解决。
在我们的玩具示例中,我们已经暗示了这样一个事实,即对于测试类与训练类相对相似的测试集,而测试类彼此之间(与它们的负集)的差异则相对更大,会出现结构性偏差。为了证实这种直觉,我们定义了如下结构比:
(5a) r ( c ) = m i n c ′ ∈ C t r d ( c , c ′ ) m i n c ′ ∈ C t e d ( c , c ′ ) r(c) = \frac{min_{c' \in C_{tr}} d(c, c')}{min_{c' \in C_{te}} d(c, c')} \tag{5a} r(c)=minc′∈Cted(c,c′)minc′∈Ctrd(c,c′)(5a)
(5b) R ( C t e ) 1 ∣ C t e ∣ ∑ c ∈ C t e r ( c ) R(C_{te}) \frac {1} {|C_{te}|} \sum_{c \in C_{te} } r(c) \tag{5b} R(Cte)∣Cte∣1c∈Cte∑r(c)(5b)
其中 c c c 表示一个可视类, C t e C_{te} Cte和 C t r C_{tr} Ctr分别表示测试集和训练集, d d d表示两个类之间的相似性距离。其中 r ( c ) r(c) r(c)表示 c c c 与其最近的训练类之间的距离与 c c c与其最近的测试类之间的距离之比。在我们的实验中,我们使用Wordnet层次结构中两个类之间的最短路径长度作为距离 d d d的度量,尽管不同的度量标准也值得研究。我们计算一个测试集的各个类的平均结构比 R ( C t e ) R(C_{te}) R(Cte) 作为它的结构比。图9显示了基线模型在不同结构比 R R R的测试集上获得的top-1精度。和之前的实验一样,我们给出了100个测试分割类的结果。
在低结构比的测试划分中,平凡解的性能非常好,与目前最好的GCN模型的技术水平相当。这种测试分割类似于玩具示例,其中每个测试类都与一个训练类紧密相关,而远离Wordnet层次结构中的其他测试类。例如,我们的玩具例子中测试分割的结构比是 R ( C t e ) = 1 / 2 × ( 2 / 4 + 2 / 4 ) = 0.5 R(C_{te}) = 1/2×(2/4 + 2/4)= 0.5 R(Cte)=1/2×(2/4+2/4)=0.5,这对应于平凡解所达到的最高精度。我们说这样的测试分割在结构上偏向于基于相似性的平凡解。
然而,基于相似性的平凡解的精度随着结构比的增大而急剧下降,直到达到最高比率的近似概率精度为止。因此,最大限度地提高测试分割的结构比似乎是一种有效的方法,以最小化结构偏差。虽然GCN模型和线性模型的精度随着结构比的增大而降低,但它们仍然远远高于随机模型。这些结果表明,基于词嵌入的ZSL模型确实能够进行组合推理。至少,它们能够执行比基于简单相似性的解决方案更复杂的ZSL任务。有趣的是,当平凡解收敛于随机精度时,GCN模型的精度似乎收敛于ZSL基线的精度。这表明GCN模型成功的主要原因是它们有效地利用Wordnet层次结构来利用结构偏见。
标准基准的1跳和2跳测试分割由一组测试类组成,这些测试类与Wordnet层次结构中的培训类最接近。这导致测试分裂非常低的结构比,类似于我们的玩具例子。例如,1跳测试拆分的结构比为0.55。这是结构偏见的一个例子,甚至比我们的玩具例子更极端,因为测试类要么是训练类的子类,要么是训练类的父类。
两步:
1) 去掉语义质量差的可视类、去掉样本总体小的可视类、去掉歧义图像
2)最小化结构偏置
ZSL对目标识别具有重要的现实意义。然而,对于任何计算机视觉任务,高质量基准的可用性是取得进展的先决条件。在本文中,我们指出了标准泛型对象ZSL基准的主要缺陷,并提出了一种新的基准来解决这些缺陷。更重要的是,我们引入了结构偏差的概念在语义空间中允许基于简单相似性匹配的平凡解的ZSL数据集。我们鼓励研究人员根据我们提出的基准评估他们过去和未来的模型。似乎合理的想法可能已经被抛弃了,因为它们相对于从结构偏差中获益最多的基准模型而言,性能较差。其中的一些想法可能值得今天重新审视。
最后,我们认为对ZSL的目标和定义还需要进行更深入的讨论。开发复杂模型来解决特征不佳的问题存在风险:数学复杂性可能成为复杂性的烟幕,混淆了ZSL背后的真正问题和关键挑战。相反,我们认为在ZSL研究的这个阶段仍然非常需要基于常识的实际考虑。结构偏差的识别是正确描述ZSL问题的第一步。继续讨论的一个实际方法是调查其他ZSL基准的结构偏差。