《Learning Discriminative Latent Attributes for Zero-Shot Classification》笔记

摘要

ZSL的目标是将知识从可见类转移到不可见类,基于这样的假设:可见类和不可见类共享一个共有的语义空间。其中,属性非常受欢迎。然而,很少有研究表明,人工定义属性是否具有足够的鉴别能力,能够识别不同的类。此外,属性通常是相互关联的,这使得独立地学习每个属性变得不那么可取。本文提出了一种潜在的属性空间,它不仅具有识别性,而且具有语义性,可以执行ZSL任务。具体地说,利用字典学习框架将潜在属性空间与属性空间和相似性空间联系起来。对四个基准数据集进行了大量的实验,展示了所提出的方法的有效性。

前言

在过去的几年中,随着数据规模的快速增长和分类方法的进步,视觉识别已经取得了巨大的进步。然而,传统的视觉识别方法主要是基于监督学习,需要大量的标签样本才能获得高性能的分类模型。众所周知,收集大量的标签样本是很困难的,特别是当需要的标签是细粒度的时候,这就阻碍了视觉识别的进一步发展。因此,开发识别系统,能够识别很少或没有标记的样本,因此,在过去的几年中,ZSL的方法吸引了越来越多的关注,这是非常重要和可取的。

受到人类识别不可见物体的能力的启发,ZSL的目标是识别以前从未见过的类别。ZSL的一个普遍假设是,可见的和看不见的类都共享一个共有的语义空间,在那里,样本和类原型被投影,以执行识别任务。在学习过程中被利用的不同的中间层代表,当前的ZSL方法可以分为四种。第一种是基于属性的方法,它使用属性来建立可见的和不可见的类之间的关系。例如,在不同的动物中,诸如黑色和毛茸茸的属性是共享的。属性的跨类别属性使得将知识从可见类转移到不可见类成为可能。第二种是基于文本的方法,它通过大量的文本语料库自动挖掘不同类的关系。这些方法减少了用于定义属性的人工劳动,因此ZSL可以应用于大型设置。第三种是基于类相似性,它直接挖掘出可见类和不可见类之间的相似性来建立它们之间的关系。相似之处可以从层次分类结构或每个类的语义描述中派生出来。最后一种是将不同的中间层表示组合起来,以学习更健壮的关系。这些工作建立在一个共同的观点之上,即不同的中间层表示将捕获数据的补充信息,这些信息可以用来减少可见和不可见类之间的域差异。

在本文中,我们将重点放在基于属性的方法上。这种方法的传统过程主要集中在如何学习语义嵌入或如何使用策略来执行识别任务。然而,在以前的工作中只考虑了三个方面,如图1所示。首先,人工定义属性是否具有足够的识别能力来识别不同的类。其次,是否有理由独立地学习每个属性,因为属性通常是相互关联的。第三,每个属性中的变体可能非常大,因此很难学习属性分类器。对于第一个方面,43建议学习区分分类的属性。然而,这些属性是在固定的类别中学习的,并且不关心语义的含义。当新的类出现时,类的表示必须重新学习。对于第二个方面,14将属性关系融入到学习过程中。然而,这种关系是人类定义的,在现实世界中,它们通常过于复杂,无法预先定义。对于第三个方面,15利用域适应方法来确定属性模型。然而,对于这些模型,需要目标域的样本。


图1.学习潜在属性的动机。红色字体的属性没有区别。矩形的属性有很大的变化。由双箭头连接的属性相互关联。

为了解决上述问题,我们建议学习潜在的属性。具体地说,该方法自动探索不同属性的区别组合,其中每个组合都被视为一个潜在的属性。一方面,潜在的属性被要求具有足够的鉴别能力,从而更可靠地对不同的类进行分类。另一方面,潜在的属性应该是语义保留的,这样就可以建立不同类之间的关系。此外,属性相关性也在潜在属性中隐式地考虑。例如,毛绒绒经常与黑色和白色相关联,因此不适合独自学习。与此相反,我们的潜在属性有能力找到毛茸茸的+黑色和毛茸茸的+白色的组合,因此每个潜在属性中的变化都比每个属性中的变化小。

为了学习执行ZSL任务的潜在属性空间,我们利用字典学习框架直接建模潜在的属性空间,其中可以通过一些潜在的属性字典条目来重构图像。为了保护语义信息,利用线性变换来建立属性和潜在属性之间的关系,因此潜在的属性可以被看作是属性的不同组合。此外,为了使潜在的属性具有区别性,可以使用类分类器对不同的类进行分类,其中的概率输出可以被看作是与所看到的类的相似性。因此,我们可以将图像表示从潜在属性空间转换为相似性空间。

本文的其余部分按以下方式组织:第2部分讨论相关的工作。第3节详细描述了我们提议的潜在属性字典(LAD)方法的制定和优化。第4节广泛地评估了4个基准ZSL数据集的方法。第5节作结论。

相关工作

在本节中,我们简要回顾了有关属性和ZSL学习的相关工作。

属性

属性是图像的一般描述,近年来在不同的计算机视觉任务中得到了广泛的关注,如图像描述、图像字幕、图像检索和图像分类等。早期关于属性学习的工作通常认为它是一个二进制分类问题,并独立地学习每个属性。由于属性通常是相互关联的,所以14将属性关系合并到学习框架中。此外,属性与类别相关,21和1建议共同学习属性和类标签。随着深度学习在近年来越来越流行,8对视觉属性和不同层次的卷积网络之间的关系进行了分析。为了使属性具有鉴别性,43、29利用鉴别属性进行分类任务。然而,这些属性没有语义。

ZSL

ZSL解决了识别以前从未见过的类的问题。随着数据规模的增长和图像注释的困难,这个应用在最近几年变得越来越流行。ZSL首先由17和9并行提出,它是由属性完成的,它利用属性的跨类别属性来建立可见和不可见类之间的关系。然后,提出了其他的中间层语义描述来解决这类问题,如单词矢量7、10、3和类相似性23、22、24、44。

一种直观的方法是对不同的属性分类器进行训练,并通过属性预测结果和不可见的类描述来识别图像。考虑到属性分类器的不可靠性,13提出了一种随机的森林方法来做出更健壮的预测,41、21、40考虑模型之间的属性和类之间的关系,以改进属性预测结果。为了利用语义上的丰富的内在结构,12提出了语义的多重距离来识别未知的类样本。另一种被广泛使用的方法是标签嵌入,它将图像和标签投射到一个公共语义空间中,并通过最近的邻居方法执行分类任务。为了将ZSL扩展到大型设置,25、10、37、3使用神经网络来学习更复杂的非线性嵌入。其他一些研究使用迁移学习技术将知识从可见类转移到不可见类。最近,45提出在相似空间中捕捉可见类和不可见类之间的潜在关系。提出通过在语义空间和特征空间之间的表示来直接合成看不见的类分类器。提出了一种解决ZSL问题的度量学习方法。将传统的ZSL问题扩展到广义的ZSL问题,在测试过程中也考虑了可见类。

ZSL的另一个流行假设是,不可见类样本在问题设置中是可用的。为了利用不同语义描述之间的互补信息,11提出了一种多视图嵌入方法,在这种方法中,使用可见的和不可见的类样本构造图形模型,以减少可见和不可见类之间的域差异。提出一个半监督的框架,直接学习不可见的分类器,在那里语义信息可以被合并为次要信息。利用领域的适应方法来解决看不见的和看不见的类之间的领域转移问题。受一个类别中样本的聚类特性的启发,46利用结构化预测方法来识别未见的类样本。需要指出的是,我们的方法不是在这样的设定中。

提出的方法

我们为ZSL提出一个潜在的属性字典(LAD)学习过程。设计目标函数有一些动机。首先,潜在的属性应该保留语义信息,从而能够将可见的和不可见的类联系起来。其次,隐属性空间中的表示应该是有区别的,以识别不同的类。基于这些考虑,图2中显示了一个为LAD提出的框架。


ZSL的潜在属性字典学习框架。所提出的潜在属性空间与属性空间和相似性空间相关联。属性空间使潜在属性的语义保留和相似空间使潜在属性具有鉴别性。

问题定义

假设有$c_s$个可见类,它有$n_s$个标签样本$\Phi_s=\{X_s,A_s,Z_s\}$。有$c_u$个不可见类,它有$n_u$个无标签样本$\Phi_u=\{X_u,A_u,Z_u\}$。每个样本$x_i$用$d$维特征向量表示。之后,我们有了$X_s\in \mathbb {R}^{d×n_s}$和$X_u\in \mathbb {R}^{d×n_u}$,其中$X_s=[x_1,…,x_{n_s}]$,$X_u=[x_1,…,x_{n_u}]$。$Z_s$和$Z_u$是可见类与不可见类的样本标签。在ZSL设置中,可见类与不可见类是不相交的,$Z_s\cap Z_u=\emptyset$。$A_s$与$A_u$是可见类样本与不可见类样本的$m$维语义表达(即属性注释),其中$A_s \in \mathbb{R}^{m×n_s}$和$A_u \in \mathbb{R}^{m×n_u}$。可见类样本$A_s$的语义信息是提供的,而不可见类$A_u$的语义信息是不提供的。给定类别的语义描述$P \in \mathbb{R}^{m×(c_s+c_u)}$,ZSL的目标是预测$Z_u$。

潜在属性字典学习

执行ZSL任务的关键点是找到一个共有空间,可以建立起可见类和不可见类之间的关系。传统方法选择属性空间来执行识别任务。例如,15建议直接学习属性字典:

其中,$||·||_F$表示弗罗贝尼乌斯范数,$d_i$表示学习的字典$D$的第$i$列,$Y_s$是重建系数。为了使$Y_s$等于$A_s$,学习的字典被视为属性的表示。但是,这个约束太强了,如果我们放松这个语义约束,则目标函数可以被定义为:

式子的第二项会使$Y_s$与属性表示$A_s$,因此,要确保学习的基础描述属性字典条目。

尽管属性在识别任务中被广泛使用,但有两件事需要考虑。首先,用户定义的属性对于鉴别来说并不总是相同的,因此直接学习每个属性可能不太理想。第二,属性之间存在相关性。因此不适合独立地学习每个属性。为了解决这些问题,我们建议学习潜在属性。具体地说,我们使用字典学习框架直接对潜在属性空间进行建模。为了保护语义信息,一个线性变换矩阵$W$被用来建立潜在属性和属性之间的关系,如图2所示:

其中,$w_i$是$W$的第$i$列。它可以从上式中推断出,潜在属性可以被看作是语义属性的线性组合,它将隐式地组合强相关的属性。

其中$H=[h_1,h_2,…h_{n_s}] \in \mathbb {R}^{c_s×n_s}$,$h_i=[0…010…0]^T]$是一个one hot向量,是样本$x_i$的类别标签。$H$的列向量$h_i$形成相似性空间$\mathbb {R}^{c_s}$,其中每一维表示了样本与一个可见类的相似性。$U$被视为潜在属性空间的可见类分类器。上式的第三项的目标是使潜在属性表示有足够的区别来对不同的类进行分类。它隐式地将来自同一类的样本拉到一起,并将来自不同类的样本从另一个类中分开。

总之,该方法所学习的潜在属性不仅对分到不同的分类有鉴别性,而且对语义的保留也有鉴别性。如图2所示,产生的潜在属性空间与两种语义空间相连接。首先,利用一个线性变换矩阵$W$来将潜在属性空间与语义属性空间相连接。通过这个变换矩阵,我们可以通过潜在属性来恢复属性表示,因此潜在属性具有语义性。其次,在潜在属性空间中,类别分类器$U$可以看作是潜在属性空间和相似性空间之间的连接。这种约束鼓励潜在属性是有鉴别性的。

优化

很明显,对于$D$、$Y_s$、$W$和$U$来说,上式不是凸的,但它们分别是凸的。因此,我们采用了一种交替优化方法来解决它。特别是,我们在以下子问题之间交替:

(1) 固定住$D$,$W$,$U$,更新潜在属性表示$Y_s$。子问题可以表示为:

其中

而且,$I$是单位矩阵。使上式的导数为0,且$Y_s$的闭式解是

(2) 固定住$Y_s$,$W$,$U$,更新潜在属性字典$D$。子问题可以表示为:

这个问题能够被拉格朗日对偶优化。因此,上式的解析解是

其中,$\Lambda$是一个由拉格朗日对偶变量构成的对角矩阵。

(3) 固定住$D$,$Y_s$,$U$,更新嵌入矩阵$W$。子问题可以表示为:

这个问题能够被同样的方式解。$W$的解析解为:

其中,$\Lambda$是一个由拉格朗日对偶变量构成的对角矩阵。

(4) 固定住$D$,$Y_s$,$W$,更新嵌入矩阵$U$,子问题可以表示为:

这个问题能够被同样的方式解。$U$的解析解为:

其中,$\Lambda$是一个由拉格朗日对偶变量构成的对角矩阵。

在算法1中总结了完整的算法。在我们的实验中,优化过程总是在几十次迭代之后收敛,通常小于50。

算法1
输入:$X_s$,$A_s$,$\alpha$,$\beta$
输出:$D$,$Y_s$,$W$,$U$
1: 随机初始化$D$,$W$,$U$
2: 当不收敛时,执行:
3: 更新$Y_s$
4: 更新$D$
5: 更新$W$
6: 更新$U$
7: 终止循环

ZSL识别

由于我们的潜在属性空间与属性空间和相似性空间相关联,所以我们可以在多个空间中执行ZSL。

在潜在属性空间识别
为了在潜在属性空间中执行ZSL,我们必须获得测试样本的潜在属性表示和不可见类原型。给定一个测试样本$x_u$,我们通过以下获得它的隐含属性表示$y^u$:

其中,$D$是从训练集数据中学习到的潜在属性字典。$\gamma$是正则化项的权重。关于不可见类的原型,我们使用转换矩阵$W$将它们的属性表示投影潜在属性空间。这样,测试样本与不可见类之间的距离就能够计算出来。最后,我们使用余弦距离来执行ZSL识别。

在相似性空间识别
如上所述,我们可以使用$U$将潜在属性表示$y^u$转换为相似性空间,其中每个维度表示与一个可见类的相似性。因此,每个图像都可以用一个相似性向量$h$来表示。此外,我们还可以通过将类别属性向量映射到可见类比例的直方图表示来获得一个看不见的类原型的相似表示,就像在44中一样。因此,可以执行最近邻方法将测试样本分类为一个看不见的类。

在属性空间识别
我们可以通过它的潜在属性表示$y_u$来恢复图像的属性表示$a^u$。

因此,可以获得每个图像的属性。然后,我们可以通过属性表示将测试图像分类为一个不可见类。

结合多个空间
由于不同的空间可能包含不可见类的补充信息,所以我们可以组合不同的空间来执行ZSL任务。在本文中,我们简单地将图像的不同矢量表示连接起来,形成最终的表示形式,并且为不可见类原型完成了相同的过程。然后,ZSL任务可以由上面提出的相同方法执行。

结论

与其他工作的不同
我们的方法主要受JLSE和JSLA的启发。JLSE提出了潜在相似性空间来建立特征空间与相似性空间的关系,同时利用相似性空间使我们的潜在属性更具鉴别性。JSLA建议单独学习人工定义属性和鉴别属性,其中也会对背景信息进行建模。但是,它不是为ZSL任务设计的,因为在ZSL设置中不能使用背景信息。与此相反,我们从ZSL任务中存在的实际问题出发,将语义和鉴别信息合并到潜在属性中,以获得更有效的识别。

进一步改进
所提出的方法是基于线性模型的。众所周知,基于深度学习的非线性模型将更加强大。因此,我们使用深度网络来提取图像表示,并在很大程度上确保良好的性能。人们相信,通过一个深度模型直接学习语义转换将有助于提高性能,这对于我们未来的工作来说仍然是一个很有前途的方向。

实验

在本节中,我们将在4个基准数据集上对这个方法进行评估,然后分析该方法的有效性。

数据集与设置

数据集
我们在四个基准的ZSL数据集上进行实验,以验证所提议的方法的有效性。即aP&Y,AwA,CUB-200,SUN-A。这些数据集的统计数据如表1所示。(a) aP&Y由两种属性数据集组成,aPascal有12695张图片,aYahoo有2644张图片。每张图像有64维属性。 aPascal有20个物体的类别,aYahoo有12个物体的类别。为了进行ZSL,aPascal数据集的类别被用于可见类,aYahoo数据集的类别被用于不可见类。(b) AwA是一个动物数据集,它包含50个动物类别,有30475张图片。每个类有85个属性。ZSL的标准分割是使用40个类别作为可见类和其他10个类别作为看不见的类。(c) CUB-200是一个鸟类数据集,用于细粒度的识别。它包含了200个类,有11788张图片,其中为每个图像提供了312个二进制属性。与1相同的设置,我们将150个类别作为可见类,另外50个是不可见类。(d) SUN-A是为高级场景理解和细粒度场景识别而创建的,其中包含717个类和14,340个图像。每个图像都有102个实数值属性注释,它们是由投票过程生成的。在13之后,我们选择了相同的10个类作为不可见类。


表1.不同数据集的统计数据,分别是“b”和“c”代表二进制值和连续值。

参数设置
对于所有的数据集,我们采用了imagenet vgg-verydeep-19预训练的模型所提取的4096维的CNN特征向量。我们使用多类精度作为评估指标。AwA的字典大小被选为300,其他三个数据集的大小是500到800。其他参数$\alpha$与$\beta$,并使用五折交叉验证获得。也可以调优$\gamma$与$\lambda$,我们把它们设为1。更多的细节可以在补充材料中找到。

提出的框架的有效性

所提出的潜在属性空间与属性空间和相似性空间相关联,这使得它不仅具有语义保护,而且具有足够的鉴别能力,可以对不同的类进行分类。为了演示每个组件的有效性,我们比较了五种不同的方法,并且在aP&Y上的结果如图3所示。(1) (A)仅仅通过在属性空间像式子2直接学习属性字典;(2) (S)在相似性空间中的识别,通过删除式子4中的第二项;(3) (LA-)在潜在属性空间中的识别,但没有鉴别性约束,通过删除式子4中的第三项;(4) (LA)在潜在属性空间中有鉴别性约束的识别,与式子4提出的一样。(5) (LAD)联合潜在属性空间与相似性空间进行识别,同3.4小节提出的一样。


图3. 对aP&Y的5种方法进行比较。

通过比较A、S和LA的性能,我们可以推断出潜在的属性在ZSL任务中更成功。此外,通过在目标函数中施加鉴别约束,识别精度得到提高,正如LA的表现所显示的那样。此外,潜在属性和可见类相似性的组合也提高了最终的识别性能,正如LAS的结果所显示的那样。

一分一毛也是心意