少样本学习是指使用非常少量的训练数据来开发人工智能模型的各种算法和技术。少样本学习努力让 AI 模型在接触相对较少的训练实例后识别和分类新数据。Few-shot训练与训练机器学习模型的传统方法形成对比,传统方法通常使用大量训练数据。少镜头学习主要用于计算机视觉。
为了对小样本学习有更好的直觉,让我们更详细地研究一下这个概念。我们将研究小样本学习背后的动机和概念,探索一些不同类型的小样本学习,并在高层次上介绍小样本学习中使用的一些模型。最后,我们将研究一些小样本学习的应用。
什么是少量学习?
“Few-shot learning”描述了用最少的数据训练机器学习模型的实践。通常,机器学习模型是在大量数据上训练的,越大越好。然而,由于几个不同的原因,few-shot learning是一个重要的机器学习概念。
使用少样本学习的一个原因是它可以显着减少训练机器学习模型所需的数据量,从而减少标记大型数据集所需的时间。同样,在使用通用数据集创建不同样本时,少样本学习减少了为各种任务添加特定特征的需要。少样本学习可以理想地使模型更健壮,并且能够基于更少的数据识别对象,从而创建更通用的模型,而不是标准的高度专业化模型。
少样本学习最常用于计算机视觉领域,因为计算机视觉问题的性质需要大量数据或灵活的模型。
子类别
短语“few-shot”学习实际上只是一种使用很少训练示例的学习。由于您只使用“少数”训练示例,因此有一些小样本学习的子类别也涉及使用最少数据量的训练。“一次性”学习是另一种类型的模型训练,包括教模型在看到该对象的一张图像后识别该对象。one-shot 学习和few-shot 学习中使用的一般策略是相同的。请注意,术语“few-shot”学习可能被用作一个总称,用于描述使用非常少的数据训练模型的任何情况。
少样本学习的方法
大多数小样本学习方法可以归为以下三类之一:数据级方法、参数级方法和基于度量的方法。
数据级方法
小样本学习的数据级方法在概念上非常简单。当你没有足够的训练数据时,为了训练一个模型,你可以得到更多的训练数据。数据科学家可以使用多种技术来增加他们拥有的训练数据量。
类似的训练数据可以备份您正在训练分类器的确切目标数据。例如,如果您正在训练分类器以识别特定种类的狗,但缺少许多您尝试分类的特定物种的图像,您可以包含许多狗的图像,这将有助于分类器确定构成狗的一般特征.
数据增强可以为分类器创建更多的训练数据。这通常涉及对现有训练数据应用转换,例如旋转现有图像,以便分类器从不同角度检查图像。GAN 还可用于根据他们从您拥有的少数真实训练数据示例中学到的知识生成新的训练示例。
参数级方法
元学习
少样本学习的一种参数级方法涉及使用一种称为“元学习”的技术。元学习涉及教模型如何学习哪些特征在机器学习任务中很重要。这可以通过创建一种方法来规范如何探索模型的参数空间来实现。
元学习使用两种不同的模型:教师模型和学生模型。“教师”模式和“学生”模式。教师模型学习如何封装参数空间,而学生算法学习如何识别和分类数据集中的实际项目。换句话说,教师模型学习如何优化模型,而学生模型学习如何分类。教师模型的输出用于训练学生模型,向学生模型展示如何协商因训练数据太少而导致的大参数空间。因此,元学习中的“元”。
少样本学习模型的主要问题之一是它们很容易过度拟合训练数据,因为它们经常具有高维空间。限制模型的参数空间解决了这个问题,虽然它可以通过应用正则化技术和选择适当的损失函数来完成,但使用教师算法可以显着提高少数模型的性能。
小样本学习分类器模型(学生模型)将努力基于其提供的少量训练数据进行泛化,并且通过教师模型引导其通过高维参数空间,其准确性可以提高。这种通用架构被称为“基于梯度的”元学习器。
训练基于梯度的元学习器的全过程如下:
创建基础学习者(教师)模型
在支持集上训练基础学习器模型
让基础学习器返回查询集的预测
训练元学习者(学生)因分类错误而产生的损失
元学习的变化
模型无关元学习是一种用于增强我们上面介绍的基本基于梯度的元学习技术的方法。
正如我们在上面提到的,基于梯度的元学习器使用教师模型获得的先前经验来微调自身并为少量训练数据提供更准确的预测。然而,从随机初始化的参数开始意味着模型仍然可能过度拟合数据。为了避免这种情况,通过限制教师模型/基础模型的影响来创建“模型无关”元学习器。不是直接针对教师模型做出的预测的损失来训练学生模型,而是针对其自身预测的损失对学生模型进行训练。
对于训练与模型无关的元学习器的每一集:
创建当前元学习器模型的副本。
副本在基础模型/教师模型的帮助下进行训练。
副本返回训练数据的预测。
计算损失用于更新元学习器。
度量学习
设计少量学习模型的度量学习方法通常涉及使用基本距离度量来比较数据集中的样本。余弦距离等度量学习算法用于根据查询样本与支持样本的相似性对它们进行分类。对于图像分类器,这意味着仅根据表面特征的相似性对图像进行分类。在选择支持图像集并将其转换为嵌入向量后,对查询集进行相同操作,然后比较两个向量的值,分类器选择与向量化查询集具有最接近值的类.
更先进的基于度量的解决方案是“原型网络”。原型网络将数据点聚类在一起,将聚类模型与上述基于度量的分类相结合。与 K-means 聚类一样,为支持和查询集中的类计算聚类的质心。然后应用欧几里德距离度量来确定查询集和支持集的质心之间的差异,将查询集分配给更接近的支持集类。
大多数其他小样本学习方法只是上述核心技术的变体。
小样本学习的应用
小样本学习在数据科学的许多不同子领域都有应用,例如计算机视觉、自然语言处理、机器人技术、医疗保健和信号处理。
计算机视觉空间中的小样本学习应用包括高效的字符识别、图像分类、对象识别、对象跟踪、运动预测和动作定位。用于小样本学习的自然语言处理应用包括翻译、句子完成、用户意图分类、情感分析和多标签文本分类。小样本学习可用于机器人领域,帮助机器人通过几次演示了解任务,让机器人学习如何执行动作、移动和导航周围的世界。少数药物发现是人工智能医疗保健的新兴领域。最后,few-shot learning可应用于声学信号处理,即分析声音数据的过程。