零样本学习 (ZSL) 使机器学习模型能够通过利用关于这些类别的语义或辅助信息来识别在训练期间未遇到的类别。 ZSL 不是仅仅依赖于带标签的示例,而是使用共享属性、文本描述或已知和未知类之间的关系来推广到新的类别。 例如,一个训练来识别狮子和老虎等动物的模型可以通过组合“条纹”、“四条腿”和“稀树草原栖息地”等属性来推断“斑马”的存在,即使它从未在训练数据中看到斑马。 这种方法绕过了在新数据上进行重新训练的需求,使其在稀缺或无法获得未见过类别的带标签示例的场景中非常有效。
核心机制涉及将输入数据(例如,图像或文本)映射到编码类之间关系的语义空间。 在训练期间,模型学习将输入特征(如图像中的像素模式)与语义属性或嵌入(例如,来自描述的词向量)相关联。 例如,视觉模型可以使用预训练的 ResNet 来提取图像特征,然后将其投影到与类名称的 Word2Vec 嵌入对齐的空间中。 在推理时,模型会将未见过的输入的投影特征与所有可能的类(包括未见过的类)的嵌入进行比较,以预测最可能的匹配项。 一个实际的例子是区分“马”和“斑马”:如果模型知道“条纹”是斑马的关键属性,即使没有斑马的特定训练图像,它也可以区分它们。
ZSL 面临着诸如领域转移(训练和测试数据分布之间的差异)和“枢纽性”问题(某些嵌入主导预测)等挑战。 为了解决这些问题,诸如生成模型(例如,GAN)之类的方法会根据未见过类别的语义描述合成特征,从而改善对齐。 其他技术使用基于图的关系来对类层次结构进行建模。 例如,在动物属性 (AwA) 数据集中,模型通过利用已知和未知物种之间的共享属性(例如,“有蹄”)来推断未见过的动物类别。 虽然 ZSL 并不完美,但它在诸如稀有物种识别、利基产品分类或处理 NLP 任务中出现的新概念等领域特别有用,在这些领域中,标记新数据是不切实际的。 开发人员可以使用诸如 PyTorch 或 TensorFlow 之类的框架来实现 ZSL,并将预训练的特征提取器与语义嵌入相结合,从而有效地适应新类别。