什么是 零样本学习?
零样本学习是一组迁移与评测设定:在明确声明的协议下,模型没有目标评测类别的标注样本,或没有目标任务的 Prompt 示例,但仍要预测目标类别或完成目标任务。
快速了解
| 创建时间 | 概念源自 2000 年代,LLM 上下文从 2020 年开始 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
只有先声明缺少的是什么,「零」才有技术意义。在经典零样本学习(Zero-Shot Learning,ZSL)中,Seen Class 有标注样本,目标 Unseen Class 没有标注样本;属性、类别描述、语言 Embedding、Knowledge Graph 或预训练多模态表示提供连接两组类别的 Semantic Side Information。模型可以学习输入与类别表示之间的 Compatibility Function,再对输入和已声明的 Unseen Candidate Label 评分。Conventional ZSL 假设所有评测输入都来自 Unseen Class;Generalized Zero-Shot Learning(GZSL)的候选空间同时包含 Seen 与 Unseen,更容易暴露模型偏向 Seen Class 的问题。Inductive ZSL 在优化期间不使用无标签评测实例,Transductive ZSL 则可以利用无标签目标数据,两者结果不能直接混报。LLM Zero-Shot Prompting 是另一套协议:当前请求包含任务指令,但没有 Input-Output Demonstration,调用期间也不执行任务特定 Gradient Update。System Prompt、标签描述、检索上下文、Tool 和历史 Pretraining 仍然提供信息。因此,没有 Prompt 示例不能证明模型在 Pretraining、Instruction Tuning 或评测污染中从未见过相同任务、标签、答案或模板。CLIP 风格 Zero-Shot Transfer 同样表示没有针对评测任务做 Dataset-Specific Training,而不是 Web 规模预训练里没有相关概念。零样本学习也不同于 Open-Set Recognition:后者可能只拒绝未知输入,而不是给出具体 Unseen Label;Open-Vocabulary Classification 描述的是可变 Label 接口,也不是统一训练协议。可复现评测必须冻结 Model、数据与类别 Split、Side Information、Candidate Label、Label 顺序、Prompt 或 Hypothesis Template、Decoding 和 Transductive Access,并审计原始样本、类别、来源族、语义描述及预训练 Backbone 的重叠。经典 ZSL 应报告 Unseen Per-Class Accuracy;GZSL 应同时报告 Seen、Unseen Per-Class Accuracy 及 Harmonic Mean 或校准权衡。LLM 评测还要包含任务指标、Chance 与 Few-Shot 或 Supervised Baseline、Calibration 或 Abstention、Prompt 变体、随机采样的重复运行和明确的 Contamination Status。Zero-Shot 分数只证明这份冻结协议下的结果,不证明普遍泛化。
主要特点
- 必须声明「零」对应目标类标签、任务样本、Prompt Demonstration 还是 Dataset-Specific Training
- 使用 Semantic Side Information 或预训练表示把 Seen Class 知识迁移到 Unseen Class
- 区分 Conventional ZSL 与 GZSL,后者必须在联合候选空间评测 Seen-Class Bias
- 区分 Inductive 评测与使用无标签目标实例的 Transductive 设定
- 把 LLM Zero-Shot Prompting 定义为 Prompt 中无 Demonstration,而不是证明 Pretraining 或 Instruction Tuning 没有暴露
- 要求冻结 Split、Template、Label、Model Identity,审计污染并使用经过校准且有 Baseline 的指标
常见用途
- 在缺少标注样本时,根据稳定类别描述识别新商品、文档或视觉类别
- 在冻结 Candidate Label 协议下,用视觉语言表示执行 Open-Vocabulary 检索或分类
- 在投入 Few-Shot 示例、Retrieval 或 Fine-Tuning 前建立无 Demonstration 的 LLM Baseline
- 目标标签有 Semantic Side Information 但没有标注目标样本时评测跨语言或跨 Domain 迁移
- 在污染审计后的 Split 上比较 Conventional ZSL、GZSL、Few-Shot 与 Supervised 系统
示例
Loading code...常见问题
经典零样本学习与 LLM Zero-Shot Prompting 有什么区别?
经典 ZSL 不给目标类别提供标注样本,而是用 Semantic Side Information 从 Seen Class 向 Unseen Class 迁移。LLM Zero-Shot Prompting 则在当前 Prompt 中只提供指令,不提供 Input-Output Demonstration,调用期间也没有任务特定 Gradient Update。两者都使用「零样本」一词,但在不同阶段移除了不同证据。
Zero-Shot 是否表示模型训练时从未见过该任务或标签?
不是。它只表示某个协议提供零个目标类标注样本、零个 Prompt Demonstration 或零次 Dataset-Specific Training。Foundation Model 仍可能在 Pretraining 或 Instruction Tuning 中见过相关概念、任务格式、标签或 Benchmark 内容。应审计已知重叠,并把无法核验的训练暴露标为 unknown。
Conventional ZSL 与 Generalized ZSL 有什么区别?
Conventional ZSL 只评测来自 Unseen Class 的输入,并在 Unseen Label 中预测。GZSL 同时评测 Seen 与 Unseen 输入,候选空间也是二者并集,因此能暴露模型偏向熟悉类别的问题。应分别报告 Seen 与 Unseen Per-Class Accuracy,再报告 Harmonic Mean 或校准后的权衡。
零样本学习与 Open-Set Recognition、Few-Shot Learning 相同吗?
不同。Open-Set Recognition 可以只把输入拒绝为未知,不必识别具体 Unseen Class;经典 ZSL 要借助 Side Information 预测某个已声明的 Unseen Label。Few-Shot Learning 会为目标提供少量标注 Support Set 或 Prompt Demonstration,有效 Zero-Shot 协议则不能为声明的「零」单位提供这些样本。
零样本学习应如何评测?
应冻结 Model、数据与 Class Split、Semantic Description、Candidate Label、Prompt Template、Label 顺序、Decoding 和 Transductive Access,并审计重复样本、来源族、类别重叠、Side-Information Leakage 与预训练 Backbone 污染。报告 Per-Class 与切片指标、Chance 和 Few-Shot 或 Supervised Baseline、Calibration 或 Abstention、Prompt 敏感性、重复运行不确定性与失败案例。