AI 基础
什么是少样本学习?

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












