论文部分内容阅读
近年来,随着深度学习复兴,机器学习和计算机视觉领域的很多研究都取得了极大的进展,如目标检测,物体识别,人群密度估计等。这些研究的进步主要来源于以下三个方面:(1)先进的深度学习模型;(2)强大的计算能力;(3)大量有效的标注数据。当前的深度学习模型大都是基于监督学习的方式,即每个目标类别都需要大量有效的标注数据训练模型。然而,现实世界包含了数以万计的物体类别,收集并标注所有类别的样本是不切实际的。一方面,在某些场景下收集数据是很耗时的,例如医疗数据的收集;另一方面,在一些场景下标注数据需要专业知识的指导,如细粒度数据集的标注。由于标注数据的短缺,某些任务需要在仅具有少量甚至没有标注样本的条件下完成。当前,在样本短缺甚至缺失场景下的分类问题仍然是一项极具挑战性的任务。为了解决这一难题,一项重要的研究分支就是利用机器学习的方法设计某种模型,使机器学习系统具备识别未见类别(在训练阶段没有出现过的类别)的能力,这类研究称之为零样本分类或者零样本学习。本文主要研究视觉图像中的零样本学习,如无特别指明,本文中的零样本学习是指零样本图像学习。零样本学习的目的是在没有目标类别标注数据的条件下对目标类别进行学习,以此缓解标记数据短缺对当前学习系统的影响。根据预测目标类别的范围不同,零样本学习可以分为传统零样本学习和广义零样本学习。传统零样本学习假设所有的测试样本都属于目标类别(未见类别)并将其预测到目标类别中。而在现实场景中,测试样本也有很大可能性来源于可见类别。因此为了使机器学习系统更接近真实的分类场景,广义零样本学习将传统零样本学习的分类范围进行了拓宽使其既能对可见类别的样本进行分类而且能够对未见类别的样本进行预测。除了零样本分类任务外,零样本检索也是常见的任务之一,其目标是利用未见类别的语义描述检索未见类别的视觉样本。零样本学习是受人类认知过程的启发而实现。从认知渠道角度看,人类不仅能够根据已收集的视觉信息对物体类别进行认知外,而且能够利用抽象的语义描述信息对未见类别进行推断和预测。例如,假设某人从未见过“斑马”这种动物,但从其他渠道了解到“斑马是外形像马身上有黑白相间花纹的动物”,当他第一次看到“斑马”时就可能会正确地预测其类别。受此启发,当前的机器学习系统实现零样本分类的框架是借助与目标类别相关的先验信息对目标类别的样本进行推断,主要包括以下三步:1.获取有效的视觉表征。如何获得有效的视觉特征是计算机视觉领域共同面临的问题,同样地,有效的视觉特征也是机器学习系统实现零样本分类的关键之一。受深度学习的驱动,视觉样本可以利用深度模型提取比较有效的视觉特征。常用的深度模型有:VGGNet,Google Net,和Res Net。2.获取有效的类别语义表征。在零样本学习中,未见类别的先验信息是通过类别的语义描述进行表征,因此如何将描述类别的语义信息转换成机器学习系统能够理解并处理的形式是实现零样本学习的关键技术之一。例如,如果不知道与“斑马”相关的类别语义描述信息,那么就不能对未见类别“斑马”进行推断和预测。另外,所提取的语义信息需要具有有效的表达能力。例如,如果仅知道“斑马是外形像马的动物”,那么也不能对未见类别“斑马”进行正确推断,这是因为类似马的动物还有“驴”、“骡子”等动物。当前常用类别语义表达方式有视觉属性特征,文本描述特征等。尽管这些特征的来源不同,但它们都可以用某一个高维空间中的向量表示。3.对齐视觉特征和类别语义描述特征之间的语义关系。在零样本学习任务中,视觉特征和类别语义特征分布在不同的空间中,而未见类别的分类是根据视觉样本和类别语义描述的语义是否一致实现的,因此需要利用机器学习的方法设计有效的模型学习视觉特征和类别语义特征之间的语义关系。例如,如何将“斑马”的视觉特征和类别描述特征“斑马是外形像马身上有黑白相间花纹的动物”进行语义对齐是实现对未见类别‘斑马’样本分类的关键所在。因此在获取了样本的视觉特征和类别的语义描述特征的前提下,解决零样本分类的任务转换为设计一种有效的方法从可见类别的数据(训练数据)中学习一种能够建立视觉特征和类别语义描述特征之间语义对齐关系的模型,并利用学习到的模型预测未见类别的样本。由此可见,解决零样本学习的基本方法是将从可见类别中学习到的知识应用到未见类别中,以实现对未见类别样本的预测,因此零样本学习可以看作是迁移学习的一种特殊应用。迁移学习关注的是如何在相似却不相同的领域、任务以及分布之间进行知识迁移,其具体任务是设计有效的模型从一种或者多种辅助的领域/任务中学习知识并将其应用到目标任务或者领域中。为了实现零样本学习任务中未见类别(目标类别)的识别,需有效地利用可见类别(源域类别)的信息。由于零样本学习的任务中源域类别和目标类别是完全不相交的,而且目标类别没有任何标注样本,因此直接利用已有的迁移学习的方法解决零样本学习任务仍然存在一定的困难。与解决一般的迁移学习任务不同,解决零样本学习的关键是从源域类别中学习一种同时适用于源域和目标域的“领域不变”模型用于对目标类别样本的预测。当前解决零样本学习的具体方案是将来自不同模态空间的视觉特征和类别的语义特征嵌入到同一空间中以实现不同模态特征之间的语义相似度的计算。然而此基于特征嵌入的框架仍然存在着以下问题:1.不同模态特征之间相似度的计算是通过特征转换得以实现,然而在特征转换的过程不可避免地造成一定的信息损失。如何在特征嵌入过程中减少信息流失,使不同模态之间的信息更有效地进行迁移是当前零样本学习方法共同面临的问题。2.由于零样本学习中源域类别和目标类别是完全不同的,因此直接利用从源域类别中学习到的模型预测目标类别的样本容易产生领域偏移问题,即从源域类别中训练的模型在目标类别上有较差的泛化能力。例如:尽管源域类别“老虎”和目标类别“大熊猫”都有“尾巴”这一语义属性标注,但它们的“尾巴”在视觉上差异很大。因此利用“老虎”学习得到的”视觉样本—尾巴属性”映射模型用于预测“大熊猫”是否有尾巴容易得到较差的泛化效果。3.在语义嵌入模型的训练过程中,视觉样本和类别语义描述是多对一的关系,即每个类别提供多个视觉样本以及一种类别语义描述。因此将样本的视觉特征嵌入到类别语义空间中容易减少视觉特征之间的方差,从而损失视觉特征的分布信息。因此对未见类别进行预测时容易产生“Hubness”问题,即:某个或者多个类别的语义特征容易成为其他类别样本的最近邻,从而导致错误的分类。4.广义零样本学习任务除了面临以上三个问题外,还面临着测试样本容易被预测为可见类别的问题,即:利用可见类别训练的模型容易将未见类别的样本误判为可见类别。例如,当第一次看到“斑马”时,人们容易将其误判为马而不是利用语义知识将其推断为斑马。本文致力于提出解决或者缓解零样本学习问题的方案。在多模态学习的框架下,我们提出了多种有效的不同模态特征语义对齐方案,使得语义信息能更有效地在不同模态之间迁移。另外,我们针对零样本学习中的领域偏移问题、“Hubness”等问题提出了有效的解决方案,并在标准零样本学习的数据集上都取得了比较先进的效果。具体贡献如下所述。在第2章中,我们首先提出了一种学习样本的视觉特征和类别的语义特征之间语义对齐关系的字典学习模型。考虑到利用类别的属性特征表征类别语义时,属性之间是彼此相关的,因此将属性独立地进行建模是不可取的。为了缓解属性相关对模型的影响,我们提出将类别的语义特征嵌入到一个隐空间中,并利用字典学习的方法学习一个字典矩阵和隐语义特征重构样本的视觉特征。为了确保隐语义特征具有语义相关性及判别性,我们约束隐语义特征与类别语义特征在隐空间中的嵌入特征之间的内积同样本的类别标签差异最小。因此,隐语义特征空间将样本的视觉特征和类别的语义特征联系起来使得类别的语义信息能有效地迁移到视觉空间中。利用此模型,未见类别可以通过类别的语义特征得到其在视觉特征空间中的视觉原型以用于后续测试样本的预测。为了缓解零样本学习中领域偏移问题,我们在字典学习模型的基础上进一步提出了一种自学习的方案。这种自学习方案是在直推学习的框架下进行的,即需要一次性获得所有的测试样本而不是逐个获得。考虑到测试样本的类别预测是根据其与未见类别的语义特征之间的相似度推断得到,测试样本与某一类别的语义特征之间的相似度越高,属于此类别的概率就越大,我们提出将与某一类别的语义特征相似度高的样本进行自标注,即将其类别标注为与其语义相似度高的类别语义特征所对应的类别。因此,利用可见类别训练的模型预测未见类别的样本可以得到初始的预测结果。每个未见类别可以根据此预测结果获得一些置信度高的标注数据。然后我们利用未见类别的标注数据重新训练适用于未见类别的模型,从而缓解领域偏移问题对零样本分类的影响。为了尽可能地消除噪声样本对此过程的影响,我们提出自举训练的方案将类别的预测分为多个过程进行。每个过程分为“预测—学习”和“学习—预测”两步。在“预测—学习”中,利用训练好的模型对所有的测试样本进行预测,并根据预测的结果挑选置信度高的样本作为标注数据;在“学习—预测”中,利用未见类别的标注数据重新学习模型用于对测试样本的再预测。每次学习过程都是逐步调节的过程,即:在逐步增加标注样本的基础上逐步调节模型参数。实验证明所提的字典模型能够有效地对齐样本的视觉特征和类别的语义特征之间的语义关系,并在未见类别上有较好的泛化能力;所提的直推自学习方案能够在字典学习的基础上进一步提升测试样本的分类性能。此外,所提的直推自学习方案能无缝地与其他零样本学习的方法相结合,缓解领域偏移问题在零样本学习中的影响。在现实的分类场景中,一次性获得所有测试样本的直推假设有时是不现实的,因此在第3章中我们提出利用融合多种语义信息的方式增强类别的语义表达以达到缓解领域偏移问题对零样本学习影响。为了更好地融合多种语义信息,我们提出了一种可以有效挖掘不同模态特征之间语义共性的多模态嵌入模型。具体地,我们利用编码—解码的框架将每种模态(视觉模态和类别语义模态)的特征嵌入到一个更加紧致的隐空间。隐空间的向量特征是从原始的输入特征经过编码矩阵获得的,同时利用解码矩阵将其重构到原始的输入特征,以此保证隐空间向量的可重构性。为了更有效地优化模型,我们约束编码矩阵与解码矩阵是相互对称的,这样极大地减小了需要优化的参数。在学习隐空间的过程中,我们约束隐空间的维度之间是不相关的,以此确保隐空间的特征比原始的输入特征能更加紧致且有效地表征样本或语义。为了挖掘不同模态特征之间的语义共性,我们约束表征同一概念/涵义的不同模态共享同一隐空间。以学习到的公共隐空间作为桥梁,不同模态之间的信息可以方便地进行转移。因此,不同模态之间地特征可以通过公共隐空间进行有效地关联。实验证明,不同语义模态特征之间有互补的特性。通过调节不同模态特征的权重,零样本分类的性能有明显的提升。另外,实验表明所提方法不仅在传统零样本学习中达到当前的先进水平,而且在广义零样本学习中的性能显著优于其他方。这说明此方法在有效地实现不同模态之间信息迁移的同时,还能够有效地保持类别语义信息之间的判别性。在当前零样本学习的任务中,样本的视觉表征大都是通过已有的深度模型(如:VGGNet,Google Net,和Res Net)获得。尽管这种深度特征能有效地表达粗粒度数据集(类别之间的差异比较大)的分布信息,但由于细粒度数据集的类别差异很小,此视觉特征不能对细粒度数据集的分布进行有效表达。鉴于细粒度数据集的类别之间大都只存在局部的差异,我们在第4章中提出利用样本的局部特征来表达样本的视觉特征。具体方案是利用当前局部检测的方法检测物体的关键部位(如在鸟类数据集上检测鸟的头部,胸部,翅膀,脚,尾巴等),并利用特征提取的方法提取每个关键部位的特征作为样本的局部特征。此外,不同部位的特征所表达的判别性不同(如大多数鸟类的头部判别信息最丰富),因此我们提出了一种基于语义信息引导的注意力模型。此模型根据不同部位的视觉特征与类别语义特征之间的相关程度分配不同部位的权重。与类别语义特征越相关的部位获得的权重越高,其在特征表达中所占的比重就越高。将赋予权重的局部特征重新组合,可以得到更具有表达能力和判别能力的特征,因此更适用于细粒度零样本的分类任务。此外,我们还提出堆叠注意力模型利用多层注意力引导机制更好地将语义信息嵌入到视觉样本的特征表达中。在两个基准的细粒度数据集上的实验证明,所提的注意力模型在零样本分类和零样本检索的任务上优胜于当前最先进的方法。受生成对抗网络模型的启发,大量基于生成的方法被应用到零样本学习中。这类方法的主要学习框架是设计一种能从类别语义特征映射到视觉空间的深度生成模型,并利用对抗损失函数约束真实的视觉特征和利用类别语义特征生成的伪视觉特征。这类方法主要关注了类别语义特征到视觉空间的语义对齐关系,无法保证所生成的伪视觉样本的语义相关性和判别性。为了生成更有效的伪视觉特征,我们在第5章中提出了一种双对抗网络模型。此模型将视觉特征的生成和类别语义的推断过程拟合在一个封闭的循环网络中,使得两个过程能够相互提高。具体地,我们利用生成网络将类别的语义特征映射到视觉空间中,并提出利用语义推断网络将真实的视觉特征和生成的伪视觉特征重新映射回类别语义空间中。每个过程都利用一个回归损失和一个对抗损失的组合损失函数进行优化。相比于单独利用对抗损失函数,利用组合损失函数可以更快地收敛,极大地加快训练速度。为了将类别的判别性编码到视觉空间中,我们进一步设计了一个分类网络用于约束真实的视觉特征和生成的伪视觉特征能够被正确地分类。利用训练模型,我们可以通过类别的语义特征得到对应类别的伪视觉特征用于接下来的分类模型的训练。实验证明,所提方法可以为未见类别生成更有效的视觉特征,在传统零样本分类和广义零样本分类中都取得了比较先进的性能。在第6章中,我们提出了另一种基于元学习框架下的生成方法。与第5章生成样本的视觉特征不同的是,我们利用类别的语义特征直接生成类别的分类器。为了确保生成的分类器具有判别性,我们首先利用样本的视觉特征训练真实类别分类器,然后利用其来监督生成网络生成类别分类器。在训练真实分类器过程中,我们提出了利用类别的语义特征引导的方案,使得类别的语义信息嵌入到类别分类器中,这有利于缩小真实类别分类器和生成类别分类器之间的差异。整个的训练过程是在元学习的框架下实现的。在此框架下,样本的视觉数据可以训练出大量的真实类别分类器,用于监督学习系统训练出一个健壮的分类器生成网络。然后,利用学习得到的分类器生成网络,根据未见类别提供的类别语义特征直接生成对应类别的分类器用于测试样本的分类。在当前零样本学习的主流数据集上证明了所提方法的有效性和先进性。此方法提供了一个新的观点来解决零样本分类任务。综上所述,本文通过探索不同的机器学习方法来解决零样本图像学习的问题和难点。具体通过字典学习,直推学习,生成对抗学习以及元学习等方法解决了零样本学习中的知识迁移、领域偏移以及“Hubness”等问题。