零样本学习 是指让机器学习模型能够识别或处理它在训练阶段从未见过的类别或任务。

这与我们人类的学习能力类似,一个从未见过“斑马”的孩子,如果被告知“它是一种有黑白条纹、像马的动物”,那么当他在动物园第一次看到斑马时,很有可能就能认出来。
为什么需要零样本学习?
传统的监督学习有一个根本性局限:它只能识别训练数据中出现的类别,要增加新类别,就必须重新收集、标注数据并重新训练模型,这在现实世界中成本高昂且不灵活,尤其是在以下场景:
- 类别数量庞大或动态增长:如识别所有动植物物种、互联网上的新商品、层出不穷的新概念。
- 数据难以获取或标注:如医疗罕见病图像、工业故障检测、某些语言翻译对。
- 需要快速适应新任务:如对话系统理解新指令、机器人执行新命令。
ZSL的目标就是让模型具备这种泛化到未知的能力。
关键思想与实现原理
ZSL的核心在于利用先验知识或语义描述,在“所见类别”和“未见类别”之间建立桥梁。
-
两个空间:
- 视觉/特征空间:模型从图像、文本等原始数据中提取的特征(通过CNN提取的图像特征向量)。
- 语义/属性空间:用于描述类别的中间信息,这是连接“已知”与“未知”的关键桥梁。
-
语义/属性空间的形式:
- 人工定义属性:对于动物类别,可以定义“有皮毛”、“有尾巴”、“是肉食的”、“体型大”、“生活在水中”等二元或连续属性,每个类别都可以用一个属性向量表示。
- 词向量:使用像Word2Vec、GloVe或BERT等语言模型,将类别的名称或文本描述转换为语义向量,在向量空间中,语义相近的类别(如“猫”和“老虎”)距离也更近。
- 知识图谱嵌入:利用像Wikipedia或专业知识图谱的结构化信息,将类别嵌入到关系图谱中。
-
核心方法: 模型在训练阶段学习一个映射函数,这个函数能将视觉特征映射到语义空间,或者反过来。
- 训练:使用大量“可见类”数据,学习如何将图像特征与其对应的类别语义向量(如属性向量或词向量)关联起来。
- 预测(推理):
- 当出现一个“未见类”的样本时,模型首先提取其视觉特征。
- 然后将该视觉特征映射到语义空间,得到一个预测的语义向量。
- 在所有类别(包括未见类) 的语义向量集合中,寻找与预测语义向量最接近的那个,这个最接近的语义向量所对应的类别,就是模型的预测结果。
简单比喻:
想象一个学语言的学生。
- 传统监督学习:只教了“苹果 - apple”、“香蕉 - banana”,遇到“橘子”就不认识。
- 零样本学习:教了“苹果 - 一种圆形、红色的水果”,“香蕉 - 一种长条形、黄色的水果”,然后给学生看“橘子”(未见过的类别),并问“这是什么水果?”,学生通过观察“圆形、橙色的水果”这个特征,映射到“水果的属性空间”,推断出它最接近“橘子”的描述,从而猜出这是“橘子”。
常见应用领域
- 图像识别:识别没有训练样本的新物种、新车型、新艺术作品风格等。
- 自然语言处理:
- 文本分类:将文档分类到新出现的主题类别。
- 机器翻译:在缺乏平行语料的情况下,进行零资源语言翻译。
- 语音识别:理解训练数据中未出现过的单词或口音。
- 推荐系统:为用户推荐刚上市、完全没有历史交互数据的新商品。
- 机器人:让机器人理解并执行以自然语言描述的、从未训练过的新指令。
与相关概念的对比
- 少样本学习:允许使用极少量的(如几个或几十个)“未见类”样本来快速适应,ZSL是它的极端情况(样本数为0)。
- 开集识别:主要关注在测试时拒绝不属于任何已知类别的样本,而不一定要求识别出具体的未知类别名称,ZSL则是要主动识别出未知类别的具体标签。
- 迁移学习:从一个相关任务/领域学习知识,并应用到新任务/领域,ZSL可以看作是一种特殊的迁移学习,其“迁移”是通过共享的语义空间实现的。
面临的挑战
- 语义鸿沟:视觉特征空间和语义空间的对齐非常困难,映射函数可能不精确。
- 领域偏移问题:可见类和不见类的数据分布可能不同(可见类的图片都是摄影照片,不见类的图片却是卡通画),导致模型在不见类上表现不佳。
- 偏差问题:模型在训练时只见过可见类,因此容易将任何不见类的样本都预测为某个相似的可见类(称为“偏向可见类”问题)。
零样本学习是机器学习迈向更通用人工智能的重要一步,它通过引入“语义”作为中间媒介,使模型具备了基于知识进行推理和类比的能力,而不仅仅是记忆数据模式,尽管仍面临挑战,但它为数据稀缺、类别无限的现实世界应用提供了极具潜力的解决方案。