零样本学习是什么?没见过的类别也能认出来
零样本学习(Zero-Shot Learning,ZSL)是指模型在没有见过某个类别的任何训练样本的情况下,也能够识别出这个类别,或者完成一项新任务的能力。它模拟的是人类的一种能力:即使从没见过某种东西,只要听过对它的描述,就能在第一次见到时把它认出来。
一个经典的例子
假设一个孩子从没见过斑马,但他见过马,知道什么是黑白条纹。大人告诉他:“斑马长得像马,身上有黑白相间的条纹。”当他第一次在动物园看到斑马时,就能一下子认出来。零样本学习想让机器也具备这样的能力:利用已知类别的知识和对新类别的描述,去识别从未见过的新类别。
它是怎么实现的
零样本学习的关键在于借助一些辅助信息,在已知类别和未知类别之间搭起一座桥梁。早期的方法常常使用人工定义的属性:比如用“有没有条纹”“是什么颜色”“有没有四条腿”“生活在哪里”等属性来描述每一种动物。模型在已知的动物上学会从图片中识别这些属性,遇到新的动物时,先识别出它的属性,再与各个类别的属性描述进行对比,找出最匹配的类别。后来的方法更多地利用文字的语义信息:把类别的名称或描述转换成语义向量,把图像也映射到同一个语义空间中,再根据它们之间的距离来判断类别。
大模型时代的零样本能力
2021 年,OpenAI 发布的 CLIP 模型在网上收集的约四亿对图片和文字说明上进行训练,学会了把图像和文字对应起来。使用时,只需要用文字写出各个候选类别,比如“一张狗的照片”“一张猫的照片”,模型就能判断图片与哪段文字最匹配,从而在没有针对具体任务进行任何训练的情况下完成图像分类,在很多数据集上的效果接近甚至达到了专门训练的模型。
大语言模型的零样本能力更加广泛:只需要用自然语言描述一个任务,比如“把下面这段话翻译成英文”“判断这条评论是正面还是负面”,不需要提供任何示例,模型就能直接完成。这被称为零样本提示。与之相对的是少样本学习:在提示中提供少量的示例,帮助模型更好地理解任务。GPT-3 的论文展示了大模型在零样本和少样本情况下的强大能力,引起了广泛关注。
挑战
零样本学习的效果很大程度上依赖于辅助信息的质量,以及已知类别与未知类别之间的相关程度;如果新类别与已知的知识相差太远,效果就会明显下降。模型还容易偏向于预测训练时见过的类别。对于大模型来说,在零样本的情况下也可能误解任务的要求,提供清晰的说明或少量示例通常能明显改善效果。