在AI模型学习方法中,Zero-shot、One-shot、Few-shot 学习是处理数据稀疏情形的几种重要方法,主要用于解决训练数据少、导致模型泛化能力差的问题。
1. Zero-shot Learning(零样本学习)
Zero-shot学习是指在训练过程中完全没有见过某些类别数据,但模型能够在测试阶段成功地对这些新类别进行分类或预测。
原理:Zero-shot学习依赖于类间的语义关系或属性描述。这些描述通常是通过预训练的词嵌入(如Word2Vec、GloVe)或其他语义空间(如视觉-语言对齐模型 CLIP)来获取的。在测试阶段,模型会计算测试样本与各个类别描述的相似度,然后选择相似度最高的类别作为预测结果。
2. One-shot Learning(单样本学习)
One-shot学习是指在训练阶段,每个类别只有一个样本的情况下,模型能够学会识别和分类测试数据中的相似实例。这种方法适用于那些样本数据极其稀缺的场景。
原理:One-shot学习通常采用度量学习或生成模型的方法。在度量学习中,模型学会将相似类别的数据点在特征空间中聚集在一起,并通过计算测试样本与训练样本之间的距离来进行分类。生成模型则通过生成新的样本来补充数据稀缺的问题,从而帮助模型更好地学习和分类。One-shot学习的关键在于模型能够从单个样本中提取足够的特征信息,以区分不同的类别。
3. Few-shot Learning(少样本学习)
Few-shot学习是指在训练阶段,每个类别只有少量样本(通常是几个)的情况下,模型能够学会有效的分类或完成任务。
原理:Few-shot学习通常依赖于迁移学习、数据增强和模型正则化等技术。它利用预训练模型在大规模数据集上学到的知识,通过少量的新类别样本来调整模型,使其能够适应新任务。
这些概念之间的差异在于模型在处理任务时接触到的训练示例数量以及模型从这些示例中学到的能力。Zero-Shot要求模型具有广泛的背景知识和推理能力,而Few-Shot则要求模型能够从少量示例中学习并泛化到新示例。
提示工程
Zero-Shot提示、One-Shot提示、Few-Shot提示是在提示工程(Prompt Engineering)中的概念。
- Zero-Shot提示:模型只根据任务的描述生成响应,不需要任何示例。
- One-Shot提示:只提供一个例子。
- Few-Shot提示:提供几个例子。在提示中的作用是通过少量样本引导模型对特定任务进行学习和执行,例如通过提供少量风格或主题示例,引导模型产出具有相似风格或主题的创作。
与meta学习关系
Meta-Learning(元学习)
是一种学习范式,其中模型通过从一系列相关任务中学习如何学习,以适应新任务。元学习旨在使模型能够在面对新任务时更快地学习和泛化。
Transfer Learning(迁移学习)
是指将在一个任务上学到的知识或模型参数应用于另一个相关任务。迁移学习可以帮助改善Few-Shot和Zero-Shot任务的性能,但它不是这些概念的同义词。