嵌入自监督学习的小样本识别方法
作者: 陈琪 徐长文 罗丽 陈思敏
摘要:针对深度学习模型训练依赖大规模数据集的问题,本文提出一种嵌入自监督学习的小样本识别方法。该方法以元学习模型为基本框架,引入一种关注图像关键局部信息的自监督任务,与模型训练协同进行,从而提升模型在小样本学习场景下的能力。实验结果表明,所提方法在多种小样本数据集上显著提高了模型的识别准确率和稳定性。
关键词:小样本学习;图像识别;自监督;元学习;边缘信息
中图分类号:TP183 文献标识码:A
文章编号:1009-3044(2025)04-0022-05 开放科学(资源服务) 标识码(OSID) :
0 引言
小样本学习是图像识别的重要应用领域[1],在小样本识别任务中,通常只需要少量数据集[2]训练模型。现有方法中,如Wang等人[3]通过训练图像生成器扩充数据集的方法,Simon等人[4]通过将样本的特征向量映射到子空间中并在其中进行距离度量的方法,以及Sun等人[5]基于元学习获取良好先验知识的方法,均能在一定程度上缓解数据不足的问题。然而,上述方法大多关注图像的整体,将单个图像作为最小单位,忽略了图像的局部信息,进而限制了模型的表达能力。
基于此,本文提出了一种关注图像局部信息的小样本识别方法。通过引入自监督任务[6],协助模型利用图像边缘信息提取关键局部表征,从而提高模型的识别准确率。所提模型在训练过程中涉及的自监督任务为自动化实现,通过设置边缘信息学习任务自动获取监督信号,无须额外的人工干预。实验结果表明,所提方法能够有效缓解数据集不足的问题,提高模型的识别准确率,对比基准模型,最高可提升1.79% 的准确率。
1 嵌入自监督学习的小样本识别
1.1 局部边缘自监督任务
本方法的核心在于设计一个基于局部边缘信息的辅助自监督任务。该任务利用图像边缘信息引导模型关注关键局部区域,从而提升特征提取能力。在图像分类任务[7]中,数据样本的待分类目标通常占据主体位置,且大多仅包含一个主体,背景干净,几乎无干扰因素。而图像的边缘是物体与背景或不同物体之间的分界线,是图像最基本的特征之一。在仅包含一个主体且背景简单的图像中,边缘信息越密集的地方涵盖的信息量越大,说明该位置包含更多的细节和关键内容。
基于这一特性,本文提出一种利用图像边缘信息协助模型关注局部关键内容的自监督任务(以下简称“边缘自监督任务”) ,并将该任务嵌入小样本学习模型中,用于提高模型的分类识别准确率。具体步骤如下。
1) 提取图像的边缘信息。利用图像灰度值的特点,将像素信息转换为二维矩阵,采用高斯滤波去除噪声;再通过图像的灰度矩阵,突出灰度显著变化的点,使图像的轮廓更加明显;最后通过Sobel算子计算像素点的梯度,提取图像的边缘信息。
2) 关键局部边缘块选取。将图像按井字划分为3×3网格,并以从上到下、从左到右的顺序编号;筛选包含边缘信息最多的三个网格块,并随机打乱其位置,将变化后的顺序作为边缘标签;最后,根据新顺序对原始图像进行相同的变换,生成最终的输入图像。
3) 嵌入自监督任务协同模型训练。在训练过程中,每3个样本中选取1个样本,根据边缘信息进行随机变换,并将变换后的图像作为模型训练的输入,其余样本保持不变。当打乱的图像送入识别模型时,模型除了需要判断图像的类别外,还需要正确输出图像网格块变换的顺序。通过该方法将自监督任务嵌入识别模型,引导模型关注边缘信息较多的位置,从而提高模型的识别能力。
图1为边缘自监督任务的示意图。初始样本通过边缘提取算法生成边缘图像,将图像划分为9块并编号,选取边缘信息最多的三块随机打乱位置以生成边缘标签c。随后,根据打乱后的顺序对初始图像进行相应的变换,生成输入样本用于后续训练。
1.2 模型总体框架
所提模型以元学习框架为基础,通过训练学习者的核心思想实现小样本识别任务。为了提高模型的识别准确率,引入一种关注图像局部边缘信息的自监督任务,辅助模型提取图像的有用表征,从而提升模型在小样本识别任务中的表现。
所提模型的训练过程分为3个阶段:深度神经网络(Deep Neural Networks, DNN) 训练阶段、元学习者训练阶段和元学习者测试阶段。与基准模型不同的是,在DNN训练阶段引入了局部边缘自监督任务,辅助模型训练,使其能够更有效地获取有用的表征信息。模型训练流程如图2所示。
1.2.1 DNN 训练阶段
该阶段的网络模型具有2 个主要功能:1) 将输入图片正确分类,并输出其类别;2) 根据设置的频次选取输入样本x 进行边缘转换处理,生成边缘标签c 和随机变换后的图像 x1。要求模型能够根据变换后的x1输出对应的变换边缘标签c1,并与真实标签进行对比。
在训练过程中,通过损失函数调整模型参数进行优化。其中,用于判断图像类别的损失函数定义如下。
式中:D 为训练数据集,x 为输入样本,x1为变换后的输入样本,y 为图像的类别标签,该部分采用交叉熵损失。
本文的核心思想是通过边缘变换协助模型提取有用表征。具体而言,实现边缘变换的损失函数如公式(2) 所示,其中c 为边缘标签,||.||1表示L1范数。
结合类别损失和边缘变换损失,本文DNN模型的总损失如公式 (3) 所示,其中 λ为超参数。
L DNN = λclaL cla + λlabLlab (3)
在模型训练阶段,通过梯度下降优化模型参数,如公式 (4) 所示。
[Θ ; θ ] = :[Θ ; θ ] - δ∇L D ([Θ ; θ ]) (4)
DNN模型训练完成后,需要固定模型卷积层特征提取器Θ的参数,用于下一阶段训练时为模型提供有用的先验信息与良好的初始化权重,使其能够快速适应新任务,避免发生灾难性遗忘。值得一提的是,对样本进行随机变换并生成相应的辅助标签无须花费任何人工成本,均由模型自动生成。
1.2.2 元训练阶段
该阶段通过多个小样本识别任务,训练出一个优秀的学习者。在元训练阶段,学习者只需关注当前的小样本任务。同时,由于大多数参数在DNN训练中已被固定,因此只需根据当前任务更新少部分参数。该阶段的数学形式表达如下所示。
θ' ← θ - α∇θL D(tarin) ([Θ ; θ ]) (5)
式中:Θ为卷积参数,在该阶段无须更新,仅通过梯度下降更新迭代θ,即分类器参数(如网络中的全连接层参数) ,α 为超参数。
1.2.3 元测试阶段
该阶段用于测试训练好的元学习者对未知任务的适应能力。选取验证集数据组成未知任务,测试学习者的性能,并根据反馈结果对分类器参数进行微调,得到最优学习者。最终,将测试集数据输入模型,计算识别准确率。其微调参数的数学表达形式如下所示。
θ = :θ - β∇θL D(test) ([Θ ; θ' ]) (6)
如同元训练阶段一致,元测试阶段无须更新Θ卷积参数,仅需微调分类参数θ,β为超参数。
2 实验
2.1 数据集与对比模型
本文采用了5种常用的小样本数据集进行实验,包括miniImageNet [9]、Fewshot-CIFAR100(FC100)、tiered-ImageNet、CUB_200_2011和 StanfordDog [10]。前3种数据集为多类别数据集,涉及多种大类别;后2种分别为仅包含200种不同鸟类的数据集和仅包含120种不同狗类的数据集。
1) miniImageNet。该数据集共有100个类别,每个类别包含600个样本。本次实验中,选取 65 个类别作为元训练集,15个类别用于元验证集,20个类别用于测试集。
2) FC100。该数据集共有100个类别,每个类别包含100个样本,其中60个类别的样本用于元训练,元验证和元测试各包含20个类别。该数据集的分辨率低于 miniImageNet,在图像识别任务中更具挑战性。上述两类数据集均为小样本识别任务中常用数据集,且有较多可对比的实验结果。
3) tiered-ImageNet。该数据集包含34个大类,选取其中20个大类作为训练集,6个大类作为验证集,8 个大类作为测试集。每个大类中的小类各选取600 个样本用于模型训练。
4) CUB_200_2011。该数据集包含200个鸟类类别,实验中选取120类作为训练集,验证集和测试集各包含40类。
5) StanfordDog。该数据集包含120种狗类,实验中选取80种类作为训练集,验证集和测试集各包含20种类。
本文选取了多种性能优秀的小样本识别模型进行对比,包含以下模型,MTL[5]:基准模型;DN4[11]和TADAM [12]:基于度量学习的模型;MAML[13]:基于元学习的模型; AFHN[14]:通过生成对抗网络增加样本的数据增强模型;嵌入旋转自监督任务[15]的基准模型。
所有复现实验均在相同的硬件和软件环境下进行。对于所有可复现模型,均进行 6 次完整的训练,取最好 3 次识别准确率的均值作为最佳成绩。如果复现结果低于文献中提出该方法的最优结果,则采用文献中提供的最优结果作为实验结果进行对比;对于不可复现的模型,则直接采用文献中提供的最优结果。
2.2 实验结果
本文从以下4个方面评估所提方法的性能:1) 与基准模型对比识别准确率;2) 数据节约程度;3) 模型稳定性;4) 与其他模型对比。
2.2.1 提高模型在小样本识别任务中的准确率
在5个数据集上分别验证本文与 MTL 基准模型的识别准确率。每个数据集上均进行5-shot和10-shot的两种实验,实验结果如表1所示。
从表 1 中可以看出,所提模型的图像识别准确率均优于基准模型,最高可提升1.79%。在5-shot实验中,模型在FC100数据集上的性能提升最为明显,说明所提模型在分辨率较低的数据集上也有较好的表现。此外,与10-shot实验相比,所提模型在5-shot任务上表现更优异,说明本文所提模型在数据样本较少的情况下对模型性能的提升更加显著。
2.2.2 改善数据样本不足
数据样本不足是小样本学习任务亟待解决的关键问题,数据样本的缺失会导致模型训练效果不佳。为了验证所提模型能够缓解数据样本不足的问题,本文分别在原始数据的基础上减少3%、5%和10%的训练数据量,并与在原始规模数据集上训练的基准模型进行对比。
从表2中可以看出,在模型训练过程中,不同数据集上,所提模型可节约的数据量有所不同。在mini⁃ImageNet数据集上训练时(斜体数据) ,即使数据量减少5%,模型仍能达到基准模型的性能,甚至略优于基准模型。实验结果表明,嵌入局部边缘自监督任务后,能够有效增加数据样本的多样性,从而缓解因数据不足而导致的准确率下降问题。
然而,不同种类数据集可缩减的数据量级存在差异。例如,在FC100数据集上(带下划线数据) ,由于该数据集的样本分辨率较低,当数据量缩减至95%时,在10-shot实验中,结果略低于基准模型;当训练样本缩减至原来的90%时,实验结果均低于基准模型。
根据上述实验结果,本文所提方法在节约数据方面仍有较大的提升空间。如何在显著减少数据样本数量的同时,保持模型性能不受明显影响,将是下一步研究的重点方向。
2.2.3 提高模型的稳定性
为了更加直观地展示所提方法能够提高训练模型的稳定性,对模型训练过程中的损失函数和识别准确率进行了统计。如图3所示,为在 miniImageNet 和FC100 数据集上训练的模型与基准模型进行对比的实验结果。A、C 图为所提模型和基准模型在 mini⁃ImageNet 数据集上进行 DNN 训练时,统计的训练阶段模型识别样本的准确率和损失函数变化趋势示意图;B、D图为在 FC100 数据集上统计的结果。为了使实验结果更加直观,本文每400次迭代统计一次数据。