我正在尝试理解微调
和小样本
学习的概念。
我理解微调的需要。它本质上是将一个预训练模型调整到一个特定的下游任务。然而,最近我看到大量的博客文章提到零样本学习、单样本学习和小样本学习。
- 它们与微调有何不同?在我看来,小样本学习是微调的一种特化。我在这里遗漏了什么吗?
谁能帮帮我?
回答:
微调 – 当你已经有一个模型训练完成并能执行你想要的任务,但数据集不同时,你可以使用预训练的权重进行初始化,并在目标(通常较小)的数据集上进行训练(通常使用较小的学习率)。
小样本学习 – 当你想使用极少的样本在任何任务上训练模型时。例如,你有一个在不同但相关任务上训练的模型,你可以(可选地)对其进行修改,并使用少量示例在目标任务上进行训练。
例如:
微调 – 训练一个用于意图分类的模型,然后在不同的数据集上对其进行微调。
小样本学习 – 在大型文本数据集上训练一个语言模型,并修改它(通常是最后几层)以通过在小型标记数据集上训练来分类意图。
小样本学习可能有更多种方式。再举一个例子,训练一个模型来分类图像,其中某些类别的训练样本非常少(对于零样本学习为0,对于单样本学习为1)。在这里,推理时,正确分类这些在训练中罕见的类别成为小样本学习的目标。