《A Survey of Zero

您所在的位置:网站首页 零样本分类问题分析 《A Survey of Zero

《A Survey of Zero

2024-02-24 07:08| 来源: 网络整理| 查看: 265

《A Survey of Zero-Shot Learning》

一、介绍

        虽然基于深度学习的图像分类方法近年来在图像识别和特征检测等领域都已经取得了很大的成功,但这种模型依赖于监督学习,其训练需要为每个类别保证大量的带标签的训练数据。此外,监督学习模型局限于识别训练时已存在的类别,并不能在未知类别的图像上进行训练。但现实生活中并不是所有的类别都有大量带标签的实例数据可供使用,因此,在某些实际情况下这些模型并不一定实用。所以发展零样本学习是很有必要的。零样本学习就是利用训练集的样本训练一个模型,学习一个分类器使之应用到测试集仍能正确识别那些在训练集中不存在的标签。

二、语义空间

    辅助信息:对所有类别(包括已有类别和未知类别)的描述。

    特征空间:有原始样本组成的空间。

    语义空间:由于辅助信息的描述通常是语义层面的,所以辅助信息组成的空间叫做语义空间。

    原型(prototype):在语义空间中每个类都有相应的向量表示,称为该类的原型。

三、零样本学习方法分类:

        零样本学习可以分为两大类:基于分类器的方法和基于样本的方法。

3.1基于分类器的方法:

        基于分类器的方法主要致力于直接学习到一个用于未知类别分类的模型,是一个“改进模型”的方法,从模型入手,不改变训练数据。基于分类器的方法为每个类别单独训练一个分类器,每次训练的时候用属于当前待识别类别的样本作为正样本,其他所有样本作为负样本。

        因为测试集中的有些类别不在训练集中,所以直接用训练集训练一个分类器,用在测试集上效果会很差。基于分类器方法的主要思想是利用额外知识----类别描述信息(语义空间),具有相似类别描述信息的类别,其分类器也比较相似。比如驴和马,它们之间的类别描述信息很相似,则用驴构成的训练集训练一个二分类模型f来判断样本是否属于驴,则这个二分类模型f利用到马构成的测试集上效果也不会很差:用1表示属于(驴)马,0表示不属于(驴)马,则f在驴数据集上训练时,分类器输出越接近1则越有信息认为它是一头驴,越接近0则相反;把训练好的分类器f用到马数据集上分类马时,因为马和驴很相似,所以分类器的输出和在驴数据集上的输出相似,于是也大概率能正确分类出马。

        但我们不可能只给训练集中出现的类别各自训练一个分类器,因为这样还是无法分类测试集中的具有新类别的样本(因为测试集包括已知类别和多个未知类别,你不知道这个测试样本属于未知类别还是训练集中的已知类别,即使是判断为未知类别你也不知道是哪一个未知类别),所以需要对每个类别(包括已知类别和未知类别)都构建一个二分类器,这样对于每个测试样本,可以采取“依次带入这些分类器取概率最高的类别做为它的类别”--类别多类别分类的神经网络算法

基于分类器的方法包括映射方法,关系方法和组合方法。

1.映射方法:

分类器和映射函数同时学习:

2.关系方法:

关系方式主要借助于类别之间的关系来构建模型。其核心思想和映射方法一样,即相似的类别描述信息,其类别分类器也相似。

它的过程如下:

1)利用训练集中的样本和标签,对训练集中出现的每个类别训练一个二分类器。

2)对于测试集中每个新类别,通过对已有类别二分类器加权平均的方式,得到新类别的分类器。即

类别之间关系(相似度)有多种计算方法,比如计算它们描述信息的余弦相似度,或者利用WordNet中两个类别之间的结构关系。类别分类器的选择可以选择与未知类别关系最紧密(相似度最高)的K个类别加权平均。

3.组合方法:

组合方法是把每个类别看成由一系列属性组成的。比如马可以有属性集合{肤色,速度,体积…}一系列属性构成。对训练集中的每个属性训练一个二分类器,这样给定一个样本x,就可以判断它是否拥有某个属性。(小明识别斑马的例子)

3.2基于样本的方法:

基于样本的方法主要致力于为未知类别构造样本,然后用这些构造的样本去训练一个分类器,是一个“改进数据”的方法,从改变训练数据入手,让训练数据包含那些未知样本,这样训练出的模型就能正确分类未知样本了。基于实例的方法从数据入手,为那些训练集中没有出现过的类别构造样本,然后把这些样本加入训练集训练一个分类器或进行聚类(KNN)。根据这些样本是如何构造的,基于实例的方法可分为拟合方法,借助其他实例方法和合成方法。

拟合方法:

类别描述信息可以被当作样本标签看待(构造新实例)。首先通过拟合函数,将特征向量xi和类别描述信息tj拟合到同一空间P

因为未知类别在特征空间中没有样本,且只在语义空间中有一个类别描述信息标签,所以每个未知类别相当于只有一个样本(我理解是未知类别就只有一个属性值,没有标签数据,所以不能用监督学习的方法去训练),无法用常规的分类方法去训练。但是可以借助KNN的思想,将样本xi和类别描述信息拟合到一个同一空间P,然后对于未知样本,也拟合到这个空间,并选择离它最近的类别描述信息所对应的类别作为它的类别(1NN)。

拟合空间P有多种选择,可以将语义空间作为拟合空间,将样本拟合到这个空间中;也可以将特征空间做为拟合空间,将类别描述信息拟合到这个空间;或者既不选择语义空间,也不选择特征空间,而使用其他空间,或者使用多个空间做拟合空间。

①语义空间作为拟合空间P:

    容易出现枢纽度问题(hubness):

    使用语义空间做拟合空间并且使用回归函数做拟合函数时,会产生枢纽度问题。在拟合空间P中,一些类别描述信息是很多样本的最近邻,而这些样本实际上类别并不相同,这个描述信息就被称为"枢纽(hubs)",这种现象称为"枢纽度问题(hubness)"。一些工作为了解决枢纽度问题,采用其他损失函数如rank loss或采用不同的距离度量函数如余弦相似度等。

    我的理解就是同意类别描述信息可能会与很多不同的类别对应的样本xi最近邻。

   

    ②特征空间作为拟合空间:

借助其他实例方法:

借助其他实例的方法即对于未知类别ci,虽然训练集中没有此类别的样本,但可以训练集中找到一些和ci相似的类别,用他们的样本作为类别ci的样本,然后放入训练集训练。比如未知类别是卡车,我们没有卡车的样本,但是训练集中有拖车和货车,于是把拖车和货车的样本拿出来,并给它们重新标上标签“卡车”,这样就“造”出了未知类别ci​的样本,就可以用这些样本去训练类别ci 的分类器了。

这其实还是那个思想“相似的类别,分类器也相似”(有点像基于分类器的映射方法)。下面的问题就是如何选择相似的样本?大多数研究根据类别描述信息,选择类别描述信息比较相似的类别对应的样本作为未知类别的样本。

合成方法:

通过合成一些伪实例来获取未知类别的标签实例(样本)。问题是如何合成伪实例?

合成方法通过一些生成模型来生成未知类别的样本。未知类别的样本假设服从某些分布,比如高斯分布或均匀分布,首先求出已知类别的分布参数(比如对于高斯分布,参数是均值和方差),然后根据未知类别描述信息和已知类别描述信息的关系求出未知类别的关系分布(相似的类别描述信息具有相似的类别)。有了未知类别样本的分布,就可以根据生成模型生成一些样本。生成模型比如generative mo-ment matching network (GMMN), denoising autoencoder, adversarial autoencoder, conditional variational autoencoder-based architecture, generative adversarial networks (GAN)等。生成模型的输入通常是未知类别描述信息和符合某一分布的噪音。

3.3两种方法对比:

3.1性能对比:

首先根据所选的几篇论文结果来看,不存在完美的分类方法,即没有一种方法能够在所有的分类任务上获得最佳的可推广的分类结果。

但CTIT学习设置下的方法的性能远远优于CIII和CTII设置下的方法。这表明,与CIII设置下的方法相比,CTII设置下的方法并没有充分利用未知类别原型Tu。因为CTIT由在模型学习过程中使用到未知类别Tu和未标记的测试实例Xte,所以在此设置下的方法的性能通常优于其他两种设置下的方法。

3.2优缺点:

3.3为不同的数据设置而设计的方法

①Different settings of training instances

通常在特征空间中,除了需要进行分类的测试实例外,只提供属于已知类的带标记的训练实例Xtr。一些方法利用额外的训练实例(未知类的未标记实例X,不属于测试集)来帮助零样本学习。

②Different settings of semantic spaces

通常在零样本学习中,只考虑一个语义空间,并且对该语义空间中的每个类只定义一个原型。有些方法考虑了多个语义空间。实际上,单一语义空间设置的方法也可以在这个设置下使用,只要将每个类的不同语义空间的原型连接为一个原型,或者通过计算来自不同语义空间的平均结果。也有专门为这种多重语义空间设置而设计的方法。

3.4多标签零样本学习:

每个实例都可以有多个类标签。

3.5广义零样本学习:

在零样本学习中,训练集和测试集所属的类是不相交的(disjoint),即训练集中的类别不包含测试集中的任何样本。但这其实不太现实。在广义零样本学习的设置下,测试实例可以同时来自于可见类和不可见类。由于在测试阶段可见类和看不见类共存,在这种设置下的问题更具挑战性。在广义零样本学习设置下,也测试了许多零样本学习方法。然而,他们目前的表现不如在零样本学习的设置下好。需要更多的方法能够在广义零样本学习的设置下获得更好的性能来支持更广泛的实际应用。

四、应用:

    计算机视觉(CV):图像识别、图像分割、图像检索和领域自适应(识别来自未知领域的对象)

在医学图像处理中,收集大量的带有标签的病例数据集往往是一项非常艰巨的任务,对新图像进行注释也将是非常繁琐和昂贵的,所以监督学习无法很好适用于医学图像的处理,而基于深度学习的零样本学习方法只需要一部分的带标签数据和额外信息就可以较好地对医学图像进行分类。

    自然语言处理(NLP):

    其他:泛化计算(根据传感器数据进行人类动作识别)

五、未来的研究方向:

5.1输入数据的特征:

    现有的零样本学习研究大多没有考虑到不同应用中输入数据的特性。在处理不同类型的数据和应用时,数据的特性和分布可能会有很大的差异。例如,在处理图像数据时,需要考虑图像的视觉特性、空间分布和颜色分布等;在处理自然语言数据时,需要考虑语言的语法、语义和上下文信息等。因此,针对不同类型的数据和应用,需要采用不同的零样本学习方法来处理。

为了更好地解决零样本学习问题,可以考虑以下方法:

数据预处理:针对不同类型的数据和应用,进行适当的预处理,例如图像的裁剪、缩放、去噪等,自然语言数据的分词、词性标注、命名实体识别等。选择合适的特征表示:针对不同类型的数据和应用,选择合适的特征表示方法,例如图像的像素值、颜色直方图、局部特征等,自然语言数据的词向量、句向量、语义向量等。考虑数据的分布特性:针对不同类型的数据和应用,需要考虑数据的分布特性,例如图像数据的类内相似性、类间差异性等,自然语言数据的主题分布、语义关系等。结合领域知识:针对不同领域的应用,可以结合领域知识来指导零样本学习过程,例如利用先验知识来约束模型的输出空间,或者利用专家知识来辅助特征提取和分类决策。多源学习:在某些情况下,除了训练数据之外,还可以利用其他资源,例如知识图谱、文本语料库等来进行多源学习。这些资源可以提供额外的语义信息和上下文信息,有助于提高零样本学习的性能。

综上所述,针对不同类型的数据和应用,需要采用不同的零样本学习方法和技术,并结合领域知识和多源学习等方法来提高性能。

5.2训练数据的选择:

在现有的零样本学习工作中,训练数据通常是与测试实例在相同的特征空间中预先确定的标记实例,并且测试实例的语义类型相同(例如,它们都是关于动物的图像)。

    5.2.1异构的训练数据和测试数据:

    训练和测试实例不需要具有相同的数据类型和相同的语义类型。例如,训练实例是对象的图像,而测试实例是风景图像。更进一步说,训练实例和测试实例的数据类型也可以有所不同。例如测试实例是视频,训练实例是图像。在许多应用程序中,可以很容易地获得来自其他数据类型或语义类型的数据。因此,训练数据和测试数据的异构性可以在未来得到利用。

    5.2.2动态选择训练数据:

通过主动学习挑选训练数据。可以减轻标注压力。

5.3辅助信息的选择和维护:

与训练数据类似,辅助信息用于对测试实例进行分类。选择对分类更有帮助的信息是必要的。例如将属性空间用作语义空间,选择包含更多信息且可以更可预测的属性。此外,所涉及的辅助信息通常是语义信息(对所有类别的描述,用于形成语义空间)。语义信息的灵感来自于人类识别世界的方式。也有研究不使用语义空间,而使用人工构造的类别相似度信息。

在涉及到辅助信息后,如何在模型学习过程中维护这些信息是另一个重要的问题。因为在学习零样本分类器的时候,辅助信息很容易丢失。有些工作加入了重构模块,用来保持更多的语义信息。

5.4更现实和特定于某些任务的问题设置:

在零样本学习的设置下,我们假设测试实例都是未知类。这个问题的设置有些不现实。特别是在CTIT学习设置下,使用到了未标记的测试实例。虽然在这种学习设置下的方法的性能通常优于在CIII和CTII设置下,但这是一个更受限制和不现实的设置。在现有的工作中,已经对更现实的问题设置进行了一些探索。在广义零样本学习中,测试实例是假设的,并且可以来自已知类和未知类。这个问题的设置更加现实。然而,目前广义零样本学习方法的性能不如零样本学习下的方法好。

5.5理论保证:

    现有的零样本方法通常是启发式的,并没有大量的理论证明。比如(1)如何选择额外信息(2)哪些来自训练样本的信息对测试样本分类有帮助?(3)如何阻止无关信息迁移和负迁移?

5.6与其他学习方法结合:

例如零样本学习与Webly supervised learning(弱监督学习)结合,以对那些只有从网络中获得的有噪声的标记图像的类进行分类。零样本学习也可以与机器学习方法相结合,或者作为主动学习之前的步骤来加强主动学习的效果等等。

六、总结

本篇论文主要提供了一个关于零样本学习的全面研究。首先,通过分析现存监督学习的缺点,并列出几个需要零样本学习的典型应用场景,以此说明发展零样本学习的必要性。然后,论文概述了零样本学习,并介绍了不同的学习设置和零样本学习的两种方法。在应用方面,论文介绍了零样本学习在不同领域的应用。最后,从不同的角度提出了零样本学习未来的研究方向。

以上部分借鉴于:

零样本学习(zero-shot learning)——综述-CSDN博客

《A Survey of Zero-Shot Learning》

数据增强

随着深度学习在计算机视觉领域的广泛应用,深度学习模型,特别是以卷积神经网络为代表的模型,取得了显著的突破。然而,即便面对新一代视觉网络架构,如以 ViT 为代表的创新模型,我们依然面临着一个长期存在的挑战,即数据稀缺。

在实际的应用场景中,获取足量且高质量的数据集通常是相当困难的。这不仅需要大量的时间和金钱投入,而且由于隐私保护和数据稀有性等问题,有时数据集的获取变得尤为复杂。因此,一种低成本而有效的方法就是利用数据增强来减轻对训练数据的依赖,从而帮助开发人员更快、更经济地构建高精度的人工智能模型。

数据增强通过引入多样性和变化性,扩充了有限的训练数据,使得模型能够更好地适应不同的输入情况。这种方法不仅可以有效地提高模型的泛化能力,减少过拟合的风险,还有助于在缺乏大规模高质量数据的情况下训练出更稳健和准确的模型。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3