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

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