零样本学习

零样本学习（zero-shot learning，简称：ZSL）3是机器学习中的一种问题设定，指模型在没有目标类别或目标任务标注样本的情况下，对这些“未见”类别或任务作出预测。经典零样本学习通常以类别为单位划分训练和测试：训练集只包含“见过类”（seen classes）的标注样本，测试阶段则要求模型识别训练时没有出现过的“未见类”（unseen classes）。为了实现这种迁移，模型通常需要借助类别属性、文本描述、词向量、知识图谱或其他语义表示，把训练类别和测试类别联系起来。

零样本学习与小样本学习、单一样本学习相近，但含义不同。少样本学习要求模型只用少量标注样本完成新任务，单样本学习通常只给出一个样本；零样本学习则不向模型提供目标类别的标注样本。在大语言模型和提示工程语境中，零样本也常指提示词只说明任务，不给出示例；若提示词包含一个或多个示例，则通常称为单样本或少样本提示。

## 概念与问题设定

在经典分类问题中，模型训练时已经见过所有候选类别，测试样本只是在同一标签空间内作出归类。零样本学习则把标签空间分成训练类别和测试类别，二者没有交集。零样本图像识别可以概括为训练集包含样本及其可见类别标签，测试集则来自不可见类别，且可见类别集合与不可见类别集合不相交，最终分类器需要把输入样本映射到不可见类别。

这种设定的核心困难在于，模型不能单纯依靠目标类别的训练样本学习决策边界，而必须利用辅助语义信息进行迁移。例如在动物图像识别中，训练集中可能没有“斑马”的图像，但类别描述中包含“有条纹”、“四足动物”、“类似马”等属性。模型若已经从其他动物类别中学会这些属性和视觉特征之间的关系，就可能在没有斑马训练图像的情况下识别斑马。

## 发展

零样本学习的思想与迁移学习、语义表示和弱监督学习关系密切。2008年前后，自然语言处理和机器学习研究中已经出现“零数据学习”（zero-data learning）和“无数据分类”（dataless classification）等相关表述。当年发表的的零数据学习研究，讨论了在某些类别或任务没有训练数据、只有任务描述的情况下进行学习的问题。同年的的无数据分类研究则尝试借助语义表示和外部知识，在没有标注训练数据的条件下完成文本分类。

2009年的论文《Zero-Shot Learning with Semantic Output Codes》中系统使用了“zero-shot learning”一词，提出以语义输出编码连接已见类别和未见类别。同年的论文提出通过类别属性迁移来检测未见物体类别，成为计算机视觉中零样本学习的重要早期工作。此后，零样本学习逐渐形成以属性学习、视觉—语义嵌入、生成式模型和广义零样本学习为代表的多条研究路线。

## 方法

零样本学习方法通常需要建立样本特征与类别语义之间的联系。早期视觉识别研究常采用人工定义的属性，如颜色、形状、部件、纹理和行为特征。模型在训练类别中学习图像特征与属性之间的对应关系，再根据未见类别的属性描述作出判断。这一路线具有较强可解释性，但属性标注成本较高，也容易受到属性设计质量的限制。

另一类方法把图像、文本或类别标签映射到共同的语义空间。常见语义空间包括人工属性空间、词向量空间、句向量空间和知识图谱嵌入空间。模型可以学习从视觉特征到语义空间的映射，也可以学习从语义描述到视觉特征空间的映射，或直接学习两者之间的兼容性函数。在深度学习兴起后，研究者还提出了生成式零样本学习方法，用生成对抗网络、变分自编码器等模型合成未见类别的特征，再把零样本问题转化为常规监督分类问题。

传统零样本学习通常假定测试样本全部来自未见类别，但真实应用中，测试样本可能同时来自见过类和未见类。为此，还有研究中又提出“广义零样本学习”（generalized zero-shot learning）。在这一设定下，模型需要同时区分见过类和未见类，且常出现偏向见过类的现象，因为见过类拥有真实训练样本，而未见类只有语义描述。Xian等人指出，零样本学习长期存在数据集划分、评测协议和比较标准不统一的问题，并提出统一评测方案和新的数据集划分。

## 应用

零样本学习最常见的应用领域之一是计算机视觉，包括图像分类、物体检测、动作识别和场景识别。其价值主要体现在长尾类别、稀有类别和标注成本高的场景中。例如，某些动植物、医学影像类别或工业缺陷类型难以收集足够样本，零样本学习可以尝试利用类别描述和相近类别知识完成初步识别。

在自然语言处理中，零样本学习常用于文本分类、情感分析、主题识别和跨领域迁移。零样本文本分类可转化为自然语言推理问题，即给定一段文本和一个候选标签，把“这段文本属于某标签”视为假设，再判断文本是否蕴含该假设。Hugging Face等平台也把零样本文本分类列为自然语言处理任务之一，说明模型可在没有针对目标标签重新训练的情况下，根据提示和候选标签完成分类。

零样本学习也被用于金融文本分析。2023年，两篇研究论文测试了ChatGPT在金融相关任务中的表现。一项任务要求其判断美联储声明偏鹰派还是偏鸽派，另一项任务要求其判断公司新闻标题对股价的潜在影响。报道指出，ChatGPT可在未专门训练的情况下完成类似任务，其中关于美联储文本的研究显示，这种零样本学习表现已超过此前技术，而利用具体样本进行微调后效果进一步提高。

## 大模型与多模态模型中的零样本学习

随着预训练语言模型和多模态模型发展，“零样本”一词的使用范围进一步扩大。在GPT-3论文中，模型使用方式分被为微调、少样本、单样本和零样本等形式。零样本设置下，模型只接收任务说明，不接收示例，也不进行梯度更新；少样本设置下，模型则在上下文中接收少量示例。这种用法更强调模型通过自然语言提示理解任务，而不一定要求训练类和测试类在传统分类意义上完全不相交。

在多模态学习中，OpenAI提出的CLIP模型通过大量图像—文本对训练视觉模型，使模型能够用自然语言标签或提示完成图像分类。OpenAI官方说明称，CLIP可以把候选类别写成文本提示，再比较图像与文本的匹配程度；在没有使用ImageNet全部标注样本进行专门训练的情况下，CLIP的零样本ImageNet表现可接近原始ResNet-50。论文《Learning Transferable Visual Models From Natural Language Supervision》也将这种做法描述为利用自然语言监督实现可迁移视觉模型，并在多个数据集上评估零样本迁移能力。

大语言模型中的零样本提示还可通过提示词设计提高表现。在问题后加入“Let's think step by step”等提示，可在不给出人工示例的情况下提升大型语言模型在若干推理任务上的表现，这类方法通常称为零样本思维链提示。

## 局限

零样本学习依赖辅助语义信息，因此语义描述的质量会直接影响模型表现。若未见类别的属性描述过于粗略，或语义空间与视觉、文本特征之间存在较大差距，模型容易发生误判。视觉零样本学习中还常见“语义鸿沟”“投影偏差”（Projection bias）和“枢纽点问题”（Hubness problem）等现象，即模型在高维语义空间中偏向少数类别，或把样本投射到与真实类别不一致的位置。

评估零样本学习时还需要注意数据泄漏和预训练影响。大规模预训练模型可能在训练阶段已经接触过测试类别名称、图像、文本描述或相近任务，因此“零样本”结果并不总是等同于完全没有先验接触。Xian等人指出，不同论文使用的数据划分和评测协议可能不同，导致结果难以直接比较。在大语言模型和多模态模型中，提示词措辞、候选标签写法和模型偏见也可能显著影响零样本结果。OpenAI在CLIP说明中指出，CLIP在计数、细粒度分类和复杂视觉任务上仍有局限，并可能继承训练数据中的社会偏见。