原型网络是一种在少样本学习中使用的方法,用于在每个类别只有少量标记示例(即“shots”)可用时对新数据点进行分类。它的工作原理是为每个类别创建一个代表性的“原型”,通常是该类别中标记示例的特征向量(嵌入)的平均值。在推理过程中,通过使用距离度量(如欧几里得距离或余弦距离)将新数据点的特征向量与这些原型进行比较来对数据点进行分类。最近的原型确定了预测的类别。这种方法是高效的,并且避免了复杂的架构,使其适用于标记数据稀缺的场景。
训练过程包括两个关键步骤。首先,嵌入网络(如卷积神经网络)将原始输入数据(如图像)转换为特征向量。其次,通过平均给定任务中每个类别的标记示例的嵌入来计算原型。例如,在 5-way 1-shot 任务(5 个类别,每个类别 1 个示例)中,每个原型只是单个示例的特征向量。在训练过程中,网络会接触到许多随机抽样的任务(episode),每个任务都有一个小的支持集(标记示例)和查询集(未标记的测试示例)。该模型优化嵌入网络,以最小化查询示例与其正确类别原型之间的距离,同时最大化与不正确类别原型之间的距离。这鼓励网络学习在嵌入空间中将同一类别的示例紧密聚集在一起的特征。
原型网络因其简单性和计算效率而有效。它们在推理期间不需要复杂的元学习规则或参数更新,因此部署速度很快。然而,它们的性能很大程度上取决于嵌入网络的质量,以及类别分布由其原型很好地表示的假设。例如,如果一个类别具有高度可变性(例如,具有非常不同外观的“狗”品种),则单个原型可能无法捕捉到这种多样性。诸如每个类别使用多个原型或动态距离度量之类的扩展可以解决此类限制。实际应用包括稀有物体的图像识别、患者数据有限的医学成像,或使用最少示例将聊天机器人调整为新意图。通过专注于特征表示而不是复杂的架构,原型网络为少样本学习提供了一个简单而强大的基线。