少样本学习是一种机器学习范式,它使模型能够基于有限的数据样本进行预测,强调泛化能力而非记忆。本文将深入探讨少样本学习的基础概念和方法论,包括其与传统监督学习的区别,以及“学习到学习”的核心原则。将解析关键术语,如支持集和元学习,并探讨它们在少样本学习场景中的重要性。
少样本学习是指基于有限样本数量进行预测的问题。与传统的监督学习不同,少样本学习的目标不是让模型识别训练集中的图像,然后泛化到测试集。相反,目标是学习“学习到学习”。这个概念听起来难以理解,但可以这样思考:在训练模型时,目标不是让模型知道大象和老虎是什么,而是了解对象之间的相似性和差异性。训练完成后,可以向模型展示两张图像,并询问它们是否是同一种动物。模型能够识别出这两张图像中的内容是同一种对象。再次查看训练数据,训练数据包含5个类别,但不包括松鼠类别。因此,模型无法识别松鼠。当模型看到这两张图像时,它不知道它们是松鼠。然而,模型知道它们看起来很相似。模型可以非常自信地告诉,这两张图像中的内容是同一种对象。
同样的原因,模型在训练期间从未见过兔子。所以,它不知道这两张图像是兔子。但模型知道事物之间的相似性和差异性。模型知道这两张图像的内容非常相似。所以,模型可以告诉它们是同一对象。然后,向模型展示上述两张图像。尽管模型从未见过穿山甲和狗,但模型知道这两种动物看起来非常不同。模型认为它们是不同的对象。
支持集是元学习的术语。少量标记图像被称为支持集。注意训练集和支持集之间的区别。训练集很大。训练集中的每个类别都有很多样本。训练集足够大,可以学习深度神经网络。相比之下,支持集很小。每个类别最多只有几个样本。在训练集中,如果每个类别只有一个样本,那么训练深度神经网络是不可能的。支持集只能在测试时提供额外信息。这是少样本学习的基本思想。不是用大训练集训练大模型。不是训练模型来识别训练集中的特定对象,如老虎和大象,而是训练模型了解对象之间的相似性和差异性。
可能听说过元学习。少样本学习是一种元学习。元学习与传统监督学习不同。传统监督学习要求模型识别训练数据,然后泛化到未见过的测试数据。不同地,元学习的目标是学习。如何理解“学习到学习”?带孩子去动物园。他对看到水中的毛茸茸的动物感到兴奋,他以前从未见过。他问,这是什么?尽管他以前从未见过这种动物,但他很聪明,可以自己学习。现在,给孩子一组卡片。每张卡片上都有一只动物和它的名字。孩子以前从未见过水中的动物。他也从未见过卡片上的动物。但是孩子很聪明,通过看所有的卡片,他知道水中的动物。水中的动物与卡片上的动物最相似。教孩子自己学习被称为元学习。
在去动物园之前,孩子已经能够自己学习。他知道动物之间的相似性和差异性。在元学习中,未知的动物被称为查询。给他一张卡片,让他自己学习。卡片组是支持集。自己学习被称为元学习。如果每个物种只有一张卡片,孩子使用仅有的一张卡片学习识别。这被称为单次学习。
这里比较了传统的监督学习与少样本学习。传统的监督学习是使用大训练集训练模型。模型训练完成后,可以使用模型进行预测。向模型展示一个测试样本,它识别它。少样本学习是一个不同的问题。查询样本以前从未见过。查询样本来自未知类别。这是与传统监督学习的主要区别。
让看看一些重要的术语。k-way意味着支持集有k个类别。n-shot意味着每个类别有n个样本。支持集被称为k-way和n-shot。
在进行少样本学习时,预测准确性取决于方式的数量和射击的数量。随着方式数量的增加,预测准确性下降。可能会问为什么会这样?让看同一个例子。现在,孩子给了3张卡片,被要求从三张中选择一张。这是3-way 1-shot学习。如果孩子被给了6张卡片呢?这将是6-way 1-shot学习。认为哪一个更容易,3-way还是6-way?显然,3-way比6-way更容易。从3中选择一个比从六个中选择一个更容易。因此,3-way的准确性高于6-way。随着射击数量的增加,预测准确性提高。这种现象很容易解释。随着样本数量的增加,预测变得更容易。因此,2-shot比1-shot更容易。
少样本学习的基本思想是训练一个预测相似性的函数。用sim(x, x')表示相似性函数。它测量两个样本x和x'之间的相似性。如果两个样本相同,相似性函数返回1。即,sim(x, x')=1。如果样本不同,它们返回0。即,sim(x, x')=0。训练完成后,学习到的相似性函数可用于对未见查询进行预测。可以使用相似性函数将查询与支持集中的每个样本进行比较,并计算相似性分数。然后,找到具有最高相似性分数的样本,并将其用作预测。