PyTorch深度学习实战(40)——零样本学习
0. 前言
零样本学习 (Zero-Shot Learning
) 是一种机器学习方法,旨在解决传统监督学习中,当训练数据中不存在某个类别的样本时,如何对该类别进行分类的问题。在传统监督学习中,分类模型需要通过训练数据学习到每个类别的特征和模式,并在测试阶段根据这些学习到的知识对新样本进行分类。然而,在现实世界中,我们无法获得所有可能类别的训练样本,因此零样本学习成为了一种重要的解决方案。在本节中,我们将学习零样本学习的基本概念,并使用 PyTorch
实现零样本学习模型。
1. 零样本学习
零样本学习 (Zero-Shot Learning
) 是一种用于在没有相关样本数据的情况下分类或识别新的物体类别的机器学习技术。与传统监督学习不同,它并不需要训练数据集中包含所有可能的类别,而是通过学习如何从类别的语义描述(例如属性或关系)中推断出新类别的特征,并将这些特征用于分类或识别。在实际应用中,零样本学习可以帮助我们克服由于数据收集和标注成本高昂而产生的数据样本不足问题。
在零样本学习中,模型必须利用词向量自动生成属性(没有为训练提供属性),词向量包含单词之间的语义相似性。例如,所有动物都会有相似的词向量,而汽车则与动物之间的词向量表示有较大差距,本节中,我们将使用预训练的词向量。具有相似上下文的单词具有相似的词向量,词向量的 t-SNE
表示示例如下所示: