社区计算机视觉课程文档
零样本学习
并获得增强的文档体验
开始使用
零样本学习
在介绍性章节之后,接下来我们将更详细地解释零样本学习 (ZSL)。本章旨在涵盖
- 各种类型的 ZSL 的定义以及它们之间的差异。
- 一个使用语义嵌入 [1] 的 ZSL 深入示例。
零样本学习 vs. 广义零样本学习
零样本学习和广义零样本学习 (GZSL) 属于一种机器学习算法类型,其中图像分类模型需要分类训练中未包含的标签。ZSL 和 GZSL 非常相似,主要区别在于模型的评估方式 [2]。
对于 ZSL,模型的评估纯粹是针对其分类未见类别的图像的能力 - ZSL 测试数据集中仅包含未见类别的观察结果。对于 GZSL,模型在已见类别和未见类别上都进行评估 - 这被认为更接近真实世界的用例。总的来说,GZSL 更具挑战性,因为模型需要确定观察结果是属于新颖类别还是已知类别。
归纳式零样本学习 vs. 转导式零样本学习
根据训练数据的类型,零样本学习有两种
在归纳式 ZSL 中,模型仅在包含已见类别的数据集上进行训练,而无法访问来自未见类别的任何数据。学习过程侧重于从训练数据中提取和概括模式,然后将这些模式应用于分类未见类别的实例。该方法假设训练期间已见数据和未见数据之间存在明显的界限,强调模型从训练数据泛化到未见类别的能力。
转导式 ZSL 的不同之处在于,它允许模型在训练期间访问有关未见类别的一些信息,通常是未见类别的属性或未标记示例,但不是标签。这种方法利用有关未见数据结构的额外信息来训练更具泛化性的模型。
在下一节中,我们将遵循 Google [1] 的一篇经典研究论文的主要概念,并给出归纳式 ZSL 的示例。
使用语义嵌入的零样本学习示例
如前一章所述,开发成功的 ZSL 模型需要的不仅仅是图像和类别标签。仅基于图像来分类未见类别几乎是不可能的。ZSL 利用辅助信息,例如语义属性或嵌入,来帮助分类来自未见类别的图像。在深入细节之前,以下是对语义嵌入的简要介绍,供不熟悉该术语的读者参考。
什么是语义嵌入?
语义嵌入是语义信息的向量表示,它携带数据的含义和解释。例如,通过口语文本传输的信息是一种语义信息。语义信息不仅包括单词或句子的直接含义,还包括上下文和文化含义。
嵌入指的是将语义信息映射到实数向量的过程。语义嵌入通常使用无监督机器学习模型学习,例如 Word2Vec [3] 或 GloVe [4]。所有类型的文本信息,例如单词、短语或句子,都可以根据设定的程序转换为数值向量。语义嵌入在高维空间中描述单词,其中单词之间的距离和方向反映了它们的语义关系。这使机器能够通过对词嵌入的数学运算来理解每个单词的用法、同义词和上下文。
使用语义嵌入启用零样本学习
在训练期间,ZSL 模型学习将来自已见类别的图像的视觉特征与其相应的语义嵌入相关联。目标是最小化图像的投影视觉特征与其类别的语义嵌入之间的距离。此过程有助于模型学习图像和语义信息之间的对应关系。
由于模型已经学会将图像特征投影到语义空间,它可以尝试通过将其图像特征投影到同一空间并将它们与未见类别的嵌入进行比较来分类未见类别的图像。对于未见类别的图像,模型计算其投影嵌入,然后在未见类别中搜索最近的语义嵌入。具有最近嵌入的未见类别是图像的预测标签。
总而言之,语义嵌入是 ZSL 的核心,使模型能够扩展其分类能力。这种方法允许以更灵活和可扩展的方式对大量真实世界类别进行分类,而无需标记数据集。
与 CLIP 的比较
ZSL 和 CLIP(对比语言-图像预训练)[5] 之间的关系源于它们的共同目标,即使模型能够识别和分类训练数据中不存在的类别的图像。然而,CLIP 代表了 ZSL 基础原理的重大进步和更广泛的应用,利用了一种新颖的学习和泛化方法。
CLIP 和 ZSL 之间的关系可以描述为
ZSL 和 CLIP 都旨在将图像分类为训练期间未见过的类别。然而,虽然传统的 ZSL 方法可能依赖于预定义的语义嵌入或属性来弥合已见类别和未见类别之间的差距,但 CLIP 直接从自然语言描述中学习,使其能够泛化到更广泛的任务,而无需特定于任务的嵌入。
CLIP 是多模态学习的一个典型例子,其中模型从文本和视觉数据中学习。这种方法与 ZSL 一致,在 ZSL 中,辅助信息用于提高分类性能。CLIP 通过直接从原始文本和图像中学习,进一步发展了这个概念,使其能够理解和表示视觉内容和描述性语言之间的关系。
零样本学习评估数据集
每年都会提出新的 ZSL 方法,由于评估方法各不相同,因此很难确定哪种方法更优越。标准化的评估框架和数据集是评估不同 ZSL 方法的首选。[6] 中介绍了一项经典 ZSL 方法的比较研究。常用的 ZSL 评估数据集包括
- Attribute Animal (AwA)
用于基准测试迁移学习算法的数据集,特别是基于属性的分类 [7]。它包含 30475 张图像,共 50 个动物类别,每张图像有六个特征表示。
- Caltech-UCSD-Birds-200-2011 (CUB)
用于细粒度视觉分类任务的数据集。它包含 11788 张图像,共 200 个鸟类子类别。每张图像有 1 个子类别标签、15 个零件位置、312 个二元属性和 1 个边界框。此外,通过 Amazon Mechanical Turk 收集了每张图像的十句描述,并且这些描述经过精心构建,不包含任何子类别信息。
- Sun 数据库 (SUN)
第一个大型场景属性数据库。该数据集包含 130519 张图像,共 899 个类别,可用于高级场景理解和细粒度场景识别。
- Attribute Pascal 和 Yahoo 数据集 (aPY)
一个粗粒度数据集,由来自 3 个大类(动物、物体和车辆)的 15339 张图像组成,进一步细分为总共 32 个子类别。
- ILSVRC2012/ILSVRC2010 (ImNet-2)
ImageNet 大规模视觉识别挑战赛 (ILSVRC) 评估大规模物体检测和图像分类算法 [8]。
参考
- [1] Frome et al., DeViSE: A Deep Visual Semantic Embedding Model, NIPS, (2013)
- [2] Pourpanah et al., A Review of Generalized Zero-Shot Learning Methods (2022).
- [3] Mikilov et al., Efficient Estimation of Word-Representations in Vector Space, ICLR (2013).
- [4] Pennington et al., Glove: Global Vectors for Word Representation, EMNLP (2014).
- [5] Radford et al., Learning Transferable Visual Models From Natural Language Supervision, arXiv (2021).
- [6] Xian et al., Zero-Shot Learning - The Good, the Bad and the Ugly, CVPR (2017).
- [7] Lampert et al., Learning to Detect Unseen Object Classes by Between-Class Attribute Transfer, CVPR (2009).
- [8] Deng et al., Imagenet: A Large-Scale Hierarchical Image Datbse, CVPR (2012).