零样本学习(ZSL)和传统迁移学习都是将知识从一个任务应用到另一个任务的方法,但它们在处理数据和泛化到新场景的方式上有所不同。ZSL 使模型能够在未明确训练过的任务上执行,且在训练过程中无需使用目标任务的任何示例。而传统迁移学习则依赖于使用来自目标任务的小型数据集对预训练模型进行微调。核心区别在于适应过程中目标任务数据是否存在以及知识转移的方式。
在传统迁移学习中,模型首先使用大型数据集(例如,用于图像分类的 ImageNet)在源任务上进行训练。然后,通过使用较小的目标数据集微调其参数,将该模型适应到相关的目标任务(例如,医学图像分析)。例如,开发者可以采用预训练的 ResNet 模型,替换其最终分类层,并在几百张带标签的 X 射线图像上重新训练。模型利用从源任务中学到的模式,但仍需要一些目标数据来调整其权重。这种方法假设目标任务与源任务共享特征,例如图像中的边缘或纹理,但需要针对新领域进行特定调整。
相比之下,零样本学习无需来自目标任务的带标签数据。相反,它依赖于语义关系或辅助信息来泛化到未见过的类别。例如,一个训练用于识别狗和猫等动物的 ZSL 模型,后来可以通过将文本描述(例如,“有条纹的像马一样的动物”)与视觉特征联系起来识别“斑马”。这通常通过将输入数据(例如,图像)和类别描述都嵌入到共享的语义空间来实现。一种常见的实现方式是使用词嵌入(如 Word2Vec)将类名映射到向量,从而使模型能够将输入特征与未见过类别的嵌入进行比较。对于开发者来说,这意味着设计能够对齐多种模态(文本、图像)或利用预定义知识库来处理未见过类别的模型。
实际差异是显著的。迁移学习对开发者来说更直接,因为它建立在熟悉的工作流程(微调现有模型)之上,并且在有少量目标数据集可用时效果很好。然而,ZSL 需要仔细设计语义关系,并且当这些关系定义不清晰时可靠性较低。例如,情感分析的迁移学习方法可能会在少量产品评论上微调预训练语言模型,而零样本系统则会使用基于关键词的提示或嵌入,直接将评论分类到未见过类别(例如,“讽刺”)。当目标数据不可用时,开发者会选择 ZSL,但与迁移学习相比,他们会牺牲一些准确性和可解释性;而迁移学习在即使存在最少的目标数据时也能提供更好的性能。