少样本学习中常用的架构是基于度量的学习,它专注于以某种方式比较数据点,使相似的例子聚集在一起,不同的例子分开。 这种方法避免了复杂的模型架构,而是依赖于设计有效的距离度量。 例如,原型网络是一种流行的选择:它们使用少量的可用示例为每个类计算一个“原型”(平均特征向量)。 通过测量新实例到这些原型的距离(通常使用欧几里得距离或余弦距离)来对新实例进行分类。 这种方法是有效的,因为它不需要为新任务重新训练整个模型,这使得它对于数据有限的场景来说是实用的。 开发人员可以使用具有自定义损失函数的标准神经网络来实现这一点,该函数强制同一类的示例之间具有相似性。
另一种广泛使用的架构是 元学习框架,如 与模型无关的元学习 (MAML)。 MAML 在元训练期间在一系列任务上训练模型,优化其初始参数,以便它可以快速适应具有最小更新的新任务。 例如,如果训练一个模型来识别动物物种,MAML 会在元训练期间将该模型暴露于许多分类任务(例如,鸟类与鱼类、猫与狗)。 当面对一项新任务(例如,区分稀有昆虫)时,该模型只需使用几个示例即可微调其预训练参数。 这种方法是灵活的,因为它适用于任何基于梯度的模型架构,例如 CNN 或 transformers,并且只需要对现有训练循环进行少量代码调整。
最后,使用 提示工程 改编的 基于 Transformer 的模型 在少样本学习中获得了吸引力。 像 GPT-3 或 BERT 这样的预训练语言模型可以通过将任务重新定义为文本完成问题来执行只有极少示例的任务。 例如,要对情感进行分类,开发人员可能会提供一个提示,例如“这部电影很刺激。情感:正面。食物很冷。情感:负面。这部剧很无聊。情感:___。” 该模型使用其预训练的知识来填空。 虽然不是传统的“架构”,但这种方法利用了 transformer 从上下文中进行泛化的能力。 开发人员可以使用 API 或像 Hugging Face 的 Transformers 这样的库来实现它,只需要最少的微调。 这些方法——基于度量的学习、元学习和提示驱动的 transformers——为少样本问题提供了实用、灵活的解决方案。