阿里巴巴受权发布,做者:Jie Song、Chengchao Shen、Yezhou Yang、Yang Liu、Mingli Song。算法
大多数现有的零样本学习(Zero-Shot Learning,ZSL)方法都存在强偏问题,所以在广义 ZSL 设置中部署后性能不好。本文提出了一个简单有效的方法——准彻底监督学习(QFSL)来解决此问题。在 AwA二、CUB 和 SUN 数据集上进行的实验代表,该方法在遵循广义 ZSL 设置的状况下比现有方法提升了 9.3%至 24.5%,在遵循传统 ZSL 设置下有 0.2%至 16.2%的提高。
1 引言网络
在大规模的训练数据集的支撑下,计算机视觉中的物体识别算法在近几年取得了突破性的进展。可是人工收集和标注数据是一项十分耗费人力物力的工做。例如,在细粒度分类中,须要专家来区分不一样的类别。对于如濒临灭绝的物种,要收集到丰富多样的数据就更加困难了。在给定有限或者没有训练图片的状况下,如今的视觉识别模型很难预测出正确的结果。架构
零样本学习是一类能够用于解决以上问题的可行方法。零样本学习区分 2 种不一样来源的类,源类(source)和目标类(target),其中源类是有标注的图像数据,目标类是没有标注的图像数据。为了可以识别新的目标类(无标注),零样本学习假定源类和目标类共享同一个语义空间。图像和类名均可以嵌入到这个空间中。语义空间能够是属性(attribute)、词向量(word vector)等。在该假设下,识别来自目标类的图像能够经过在上述语义空间中进行最近邻搜索达成。框架
根据目标类的无标注数据是否能够在训练时使用,现有的 ZSL 能够分为 2 类:概括式 ZSL(inductive ZSL)和直推式 ZSL(transductive ZSL)。对于概括式 ZSL,训练阶段只能获取到源类数据。对于直推式 ZSL,训练阶段能够获取到有标注的源类数据和未标注的目标类数据。直推式 ZSL 但愿经过同时利用有标注的源类和无标注的目标类来完成 ZSL 任务。函数
在测试阶段,大多数现有的概括式 ZSL 和直推式 ZSL 都假定测试图像都来源于目标类。所以,对测试图片分类的搜索空间被限制在目标类中。咱们把这种实验设定叫做传统设定(conventional settings)。然而,在一个更加实际的应用场景中,测试图像不只来源于目标类,还可能来自源类。这种状况下,来自源类和目标类的数据都应该被考虑到。咱们把这种设定叫做广义设定(generalized settings)。性能
现有的 ZSL 方法在广义设定下的效果远远不如传统设定。这种不良表现的主要缘由能够概括以下:ZSL 经过创建视觉嵌入和语义嵌入之间的联系来实现新的类别的识别。在衔接视觉嵌入和语义嵌入的过程当中,大多数现有的 ZSL 方法存在着强偏(strong bias)的问题(如图 1 所示):在训练阶段,视觉图片一般被投影到由源类肯定的语义嵌入空间中的几个固定的点。这样就致使了在测试阶段中,在目标数据集中的新类图像倾向于被分到源类当中。学习
为了解决以上问题,本文提出了一种新的直推式 ZSL 方法。咱们假定有标注的源数据和目标数据均可以在训练阶段获得。一方面,有标注的源数据能够用于学习图像与语义嵌入之间的关系。另一方面,没有标注的目标数据能够用于减小因为源类引发的偏置问题。更确切地来讲,咱们的方法容许输入图像映射到其余的嵌入点上,而不是像其余 ZSL 方法将输入图像映射到固定的由源类肯定的几个点上。这样有效地缓解了偏置问题。测试
咱们将这种方法称为准全监督学习(Quasi-Fully Supervised Learning, QFSL)。这种方法和传统的全监督分类工做方式类似,由多层神经网络和一个分类器组成,如图 2 所示。神经网络模型架构采用现有的主流架构,好比 AlexNet、GoogleNet 或者其余框架。在训练阶段,咱们的模型使用有标注的源类数据和没有标注的目标数据进行端到端的训练。这使得咱们的模型有一两个明显的特性:(1)若是将来能够获得目标类的标注数据,那么标注数据能够直接用于进一步训练和改进现有的网络模型;(2)在测试阶段,咱们获得的训练模型能够直接用于识别来自于源类和目标类的图像,而不须要进行任何修改。优化
本论文的主要贡献总结以下:设计
3 方法
3.1 问题的形式化
假设存在一个源数据集
,每张图片
与相应的标签
对应,其中
, S 表示源类中类的个数。目标数据集
, 每张图片
与相应的标签
对应,其中
, T 表示目标类中类的个数。ZSL 的目标就是学习以下所示的预测函数 f(∙):
其中 F(∙) 是一个得分函数,其目标是正确的标注比其余不正确的标注具备更高的得分。W 是模型 F(∙) 的参数,F(∙) 一般使用以下的双线性形式:
其中θ(x) 和Φ(y) 分别表示视觉嵌入和语义嵌入。得分函数一般使用带正则化的目标函数进行优化:
其中 L_p 表示分类损失,用于学习视觉嵌入和语义嵌入之间的映射。Ω 表示用于约束模型复杂度的正则项。
本文假设给定标注源数据集 D^s,无标注目标数据集
和语义嵌入Φ,学习 ZSL 模型,使得其既能在传统设定下又能在广义设定下获取良好的表现。
3.2 QFSL 模型
不一样于以上描述的双线性形式,咱们将得分函数 F 设计成非线性形式。整个模型由深度神经网络实现。模型包括 4 个模块:视觉嵌入子网络,视觉-语义衔接子网络,得分子网络和分类器。视觉嵌入子网络将原始图像映射到视觉嵌入空间。视觉-语义衔接子网络将视觉嵌入映射到语义嵌入子网络。得分子网络在语义空间中产生每一类的得分。分类器根据得分输出最终的预测结果。全部的模块都是可微分的,包括卷积层,全链接层,ReLU 层和 softmax 层。所以,咱们的模型能够进行端到端的训练。
3.2.1 视觉嵌入子网络
现有的大多数模型采用了 CNN 提取获得的特征做为视觉嵌入。在这些方法中,视觉嵌入函数θ是固定的。这些方法并无充分利用深度 CNN 的强大的学习能力。本文采用了预训练的 CNN 模型来进行视觉嵌入。咱们的视觉嵌入模型的主要不一样之处在于能够和其余模块一块儿进行优化。视觉嵌入模块的参数记为 W_θ。除非特别说明,咱们把第一个全链接层的输出做为视觉嵌入。
3.2.2 视觉-语义衔接子网络
衔接图像和语义嵌入之间的关系对 ZSL 来讲很重要。这种关系能够经过线性函数或者非线性函数来建模。本文采用了非线性函数φ将视觉嵌入映射到语义嵌入。φ由若干个全链接层来实现,其中每个全链接层后面跟了一个非线性激活函数:ReLU。衔接函数的设计依赖于上述的视觉嵌入子网络的架构。具体来讲,咱们的设计是按照所选择 CNN 模型的全链接层来设计的。视觉-语义衔接子网络和视觉嵌入网络一块儿进行优化。视觉-语义衔接子网络参数记做 W_φ。
3.2.3 得分子网络
衔接视觉嵌入和语义嵌入以后,识别任务能够经过在语义嵌入空间中使用最近邻搜索来实现。
给定一张图像,咱们首先经过视觉嵌入子网络获得它的视觉嵌入。而后,利用视觉-语义衔接子网络,完成从视觉嵌入到语义嵌入的映射。最后,咱们经过内积计算获得投影获得的视觉嵌入和语义嵌入的得分。所以,得分函数能够表示以下:
其中 W_θ和 W_φ分别为视觉嵌入函数和视觉-语义衔接函数的权重,Φ^* (y) 是 y 的归一化语义嵌入:
。得分函数由单个全链接层来实现。它的权重使用源类和目标类的归一化语义:
来初始化。和视觉嵌入子网络和视觉-语义衔接子网络不一样的是,得分子网络的权重是固定的,在训练阶段不参与更新。经过这种方式,咱们的模型将图像
投影到与视觉嵌入
相近的方向上。
须要注意的是目标类的数据没有标注,这些数据在咱们的方法中用到了训练阶段当中。所以,在训练阶段,咱们的模型对于一张给定的图像,产生了 S+T 个得分。
3.2.4 分类器
通过得分函数后,咱们使用 (S+T) 路的 softmax 分类器产生了全部类的几率。输入图像的预测结果为几率最高的那个类。
3.3 模型优化
咱们的方法采用了相似于由 (S+T) 路的 softmax 分类器的全监督分类模型,用来分类目标类和源类。可是,只有源类数据是有标注的,目标类数据没有标注。咱们定义了准全监督损失函数来训练提出的模型:
一般,传统的全监督分类器的损失函数包括分类损失 L_p 和正则化损失Ω。和传统定义不一样,咱们提出的 QFSL 结合了一个额外的偏置损失 L_b 来缓解强偏问题:
其中,p_i 表示预测为类 i 的几率。给定一个来自目标类的实例,该损失鼓励模型增长全部目标类的几率和。这样能够防止目标类被映射到源类中。
对于分类损失 L_p,咱们采用了交叉熵。对于正则化损失 Ω,L_2 范数来约束训练参数 W={W_θ,W_φ }。λ 和 γ 用于平衡不一样损失之间的权重,经过交叉验证来肯定。在训练阶段,全部标注的数据和未标注的数据混合在一块儿做为训练数据。模型使用随机梯度降低算法 (SGD) 进行优化。每个批 (batch) 训练图像从混合数据集中随机抽取。实验结果代表咱们的方法不只有效地避免了偏置问题,还帮助创建起了更好的视觉嵌入和语义嵌入之间的联系。
4 实验
4.1 数据集
咱们在三个数据集上评估了咱们的方法。这三个数据集分别为 AwA2,CUB,SUN。在实验中,咱们采用属性做为语义空间,用类平均准确度衡量模型效果。
4.2 在传统设置下的效果比较
首先咱们在传统设置下对咱们方法和现有方法。用来作对比的现有方法分为两类:一类是概括式方法,包括 DAP、CONSE、SSE、ALE、DEVISE、SJE、ESZSL、SYNC;另外一类是直推式方法,包含 UDA、TMV、SMS。与此同时,还比较了一个潜在的 baseline(标记为 QFSL-):只用有标注的源数据来训练咱们的模型。实验效果如表 1。能够看出,咱们的方法大幅度(4.5~16.2%)提高了分类准确度。
4.3 在广义设置下的效果比较
大多数现有直推式方法在测试阶段都采用了同训练阶段一样的数据来评估性能。然而,若是咱们的方法也采用这种方式来评估效果是很不合理的。由于咱们的方法已经利用到了无标签的数据来源于目标类这一监督信息。为了解决这一问题,咱们将目标数据平分为两份,一份用来训练,另外一份用来测试。而后交换这两份数据的角色,再从新训练一个模型。最终的效果为这两个模型的平均。咱们比较了咱们的方法和若干现有方法,以及一个隐含的 baseline:先训练一个二分类器来区分源数据和目标数据,而后再在各自搜索空间中分类。实验结果如表 2。
能够看出,咱们模型的总体性能(调和平均数 H)有着 9.3~24.5 的明显提升。该项指标的提升主要得益于在目标数据上的效果提高,同时又没有在源数据上大幅度下降准确度。该结果代表,咱们的方法可以很大程度上缓解强偏问题。
5 讨论
现实世界中,目标类的数量可能远远高于源类数量。然而,大多数现有 ZSL 数据集的源、目标数据划分都违背了这一点。好比,在 AwA2 中,40 个类用来作训练,10 个类用来作测试。咱们在实验上给出了随着源数据类别的增长,QFSL 在效果上如何变化。该实验在 SUN 数据集上进行,72 类做为目标类,随机选取剩下的类做为源类。咱们尝试了 7 个大小不一样的源类集,类的数量分别为 {100,200,300,450,550,600,645}。用这些不一样大小的源类做为训练集,测试咱们的方法,效果如图 3。由图能够看出,随着类别增长,模型可以学习到更多的知识,其在目标数据集上准确度愈来愈高。同时,因为源数据和目标数据变得愈来愈不平衡,强偏问题愈来愈严重。咱们方法可以缓解强偏问题,于是其在效果上的优越性也愈来愈明显。
6 结论
本文提出了一种用于学习 ZSL 无偏嵌入的直接但有效的方法。这种方法假设标注的源数据和未标注的目标数据在模型训练的过程当中可使用。一方面,将标注的源数据映射到语义空间中源类对应的点上。另一方面,将没有标注的目标数据映射到语义空间中目标类对应的点上,从而有效地解决了模型预测结果向源类偏置的问题。在各类基准数据集上的实验代表咱们的方法在传统设定和广义设定下,大幅超过了现有的 ZSL 方法。
论文:Transductive Unbiased Embedding for Zero-Shot Learning
摘要:大多数现有的零样本学习(Zero-Shot Learning,ZSL)方法都存在强偏问题:训练阶段看不见(目标)类的实例在测试时每每被归类为所看到的(源)类之一。所以,在广义 ZSL 设置中部署后,它们的性能不好。在本文,咱们提出了一个简单而有效的方法,称为准彻底监督学习(QFSL),来缓解此问题。咱们的方法遵循直推式学习的方式,假定标记的源图像和未标记的目标图像均可用于训练。在语义嵌入空间中,被标记的源图像被映射到由源类别指定的若干个嵌入点,而且未标记的目标图像被强制映射到由目标类别指定的其余点。在 AwA2,CUB 和 SUN 数据集上进行的实验代表,咱们的方法在遵循广义 ZSL 设置的状况下比现有技术的方法优越 9.3%至 24.5%,在遵循传统 ZSL 设置下有 0.2%至 16.2%的提高。