梳理一下关于少样本学习(如few-shot learning)、零样本学习(zero-shot learning)、单样本学习(one-shot learning)中的support set和query set的概念,以及为何测试集中会涉及到“unseen”(未见过)的新类。
关键概念解析
-
Support Set:在少样本学习任务中,support set是用来训练模型的一组有标签的样本,这些样本代表了任务中的类别。在训练过程中,每个类别只有少量样本(例如,在N-way K-shot任务中,每个类别有K个样本,总共有N个类别)。
-
Query Set:query set包含了用来测试或调整模型的样本,这些样本同样来自于任务中的类别,但不包含在support set中。模型需要利用在support set上学到的知识来正确分类query set中的样本。
训练与测试过程
-
训练过程:在训练阶段,模型通过学习support set中的样本来尝试理解每个类别的特征,并通过query set来调整和改善模型的性能。这一过程可能会重复多次,每次都使用不同的类别和样本来构成新的support set和query set。
-
测试过程:在测试阶段,模型面对的是完全未见过的新类别(unseen classes)。这意味着这些类别既没有出现在训练阶段的support set中,也没有出现在query set中。测试过程中,模型需要使用在训练阶段学到的知识,来分类这些新类别的样本。
为何称之为"unseen"
当我们提到测试集中的类别是“unseen”的,意味着这些类别在训练阶段完全未被模型见过。这是少样本学习特别设计的挑战,目的是检验模型学习到的知识是否能够泛化到新的、未知的情况。即使support set中每个类别的样本非常少,模型也需要能够抓住这些样本的关键特征,并将这种能力迁移到全新的类别上。
例子中的概念应用
在您的例子中,训练过程选择了数据集中的一部分类别和样本来训练模型,使用剩下的样本作为query set来测试和调整模型。测试过程则针对完全新的类别进行,这些新类别之前未参与模型的训练,因此被称为“unseen”。模型需要利用之前学到的知识,通过与support set的样本进行比较,来正确识别query set中样本的类别。
这种设计模仿了人类面对新情况时的学习和适应能力,即用有限的信息快速学习新概念,并将学到的知识应用于识别未知类别的能力。希望这能帮助您更好地理解这些概念。