基于语义特征传播图神经网络的小样本图像分类算法

2024-01-15 10:53朱超然
激光与红外 2023年12期
关键词:特征提取语义神经网络

姜 威,汪 洋,尹 晶,朱超然

(1.长春电子科技学院,吉林 长春 130114;2.长春理工大学 计算机科学技术学院,吉林 长春 130022)

1 引 言

目前,大多数成功的深度学习架构都是基于大量的数据集。然而,在特殊的实际应用场景中,由于某些限制,只有少量数据可以使用。因此,出现了多种使用有限的数据来获取新类别的信息即小样本学习(Few-Shot Learning,FSL)方法。其中,Finn等人[1]提出MAML算法,该算法使用一个初始化参数,只需要少数样本就能使得算法迅速收敛,并在遇到新问题时获得良好的结果;但是,MAML算法需要根据不同的任务调整参数,导致训练出来的模型容易产生过拟合。Wang等人[2]使用元学习方法根据任务动态地选择权重,并使用权重分解方法进行计算;但是,小样本数据集没有相应的类别描述信息,这使得元学习表示图像嵌入特征的能力受到影响,与其他算法相比,实验效果并不是很理想。Oriol等人[3]使用匹配网络构建一个端到端最近邻分类器,通过元学习训练模型,该分类器可以快速适应小样本的新任务;但是当标签分布具有明显的偏差时,模型会变得不可用。

图神经网络(Graph Neural Network,GNN)是一个多层权重共享网络,由节点和边组成图像模型,每个节点代表一个输入图像,每个边上的权重代表不同图像之间的关系,这种关系可以用来表示图像间的相似度。具有图神经网络的FSL算法[4]将欧几里得空间的距离度量转移到非欧几里得空间,将标记图像的标签信息传送到查询集图像。Jongmin等人[5]提出的EGNN在GNN方法的基础上,使用边标签预测代替节点标签预测,使用二维边缘特征来明确表达类别之间的相似性和差异,但是忽略了样本的分布信息。大多数基于元学习的GNN方法关注样本间的距离,Yang等人[6]提出的DPGN通过一对多的方式,显式地模拟从一个实例到其他所有实例的分布关系,进一步扩展了这一思想。DPGN提出的双图神经网络模型首先建立两个图之间的循环传播过程,然后将距离和分布情况的关系结合起来,为小样本分类创造一个更好的环境,但是DPGN完全忽略了细粒度分类所需要的语义特征,因此表现出较差的分类性能。Gidaris等人[7]提出了一种使用图神经网络去噪的自动编码器结构,利用节点之间的连接来初始化和更新分类权重向量,但是完全忽略了图像的语义信息。

基于语义信息的分类方法使用目标标签信息作为先验知识来辅助目标分类。Eli等人[8]提出Multiple-Semantics,利用多种语义信息丰富小样本学习的信息源,更接近人类学习新事物的情况。Edgar等人[9]提出了一种变分自动编码器,该编码器结合图像特征和语义特征来构建潜在特征,包含重要的多模型特征对未训练样本进行分类,但是获得准确语义特征的方法是限制这些方法应用的重要因素。Tokmakov等人[10]将图像表示分解成多个属性,并通过添加损失函数约束来提高特征提取网络的表示能力。Aoxue等人[11]提出的分类分级结构使用类别间的语义关系对特征提取网络进行附加监督,并引导其学习附加的可转移特征信息,这有助于KNN算法获得更准确的分类结果;小样本学习中的语义特征增强也使用语义信息来扩展数据,它编码特征数据映射到语义空间,然后通过解码增强信息来执行分类,结果优于图像级的数据增强;Chen等人[12]提出了一种新的语义嵌入框架有效地使用分层分类结构来指导网络特征学习,编码分层类别之间的相关性,并在细粒度图像分类上获得更好的性能。然而,该框架需要手工标注数据集,由于手工标注繁琐耗时,影响了其实际应用性。

针对上述存在的问题,提出了语义特征传播图神经网络(Semantic Feature Propagation Graph Neural Network,SPGN),将语义特征嵌入分布图合并到GNN中,通过循环计算方法来完成细粒度小样本分类任务。

2 语义特征传播图神经网络

语义特征传播图神经网络使用GloVe[13]模型提取类别的标签信息作为语义特征,并利用WordNet模型[14]衡量类分布的相似性,将语义特征嵌入到GNN中,从而解决了细粒度图像特征相似性带来的分类准确率低的问题;使用FReLU[15]函数代替GNN的ReLU激活函数。FReLU函数更适合处理视觉任务,能够进一步提高分类准确率。另外,通过使用马氏距离代替欧氏距离来计算样本之间的距离,具有更好的分类性能;将高效通道注意力[16]和主干网络ResNet-12[17]进行结合得到ECAResNet-12,在不降低通道维数的情况下,可以更好地提取图像的特征,进一步提高GNN的分类性能。

2.1 任务定义

小样本学习任务的目标是在仅给出少量训练数据的情况下,仍然能够保证训练模型的分类精度。小样本学习任务提供支持集S、查询集Q和训练图像数据集Dtrain。N-way K-shot表示任务中包含N个类,每个类的支持集S中有K个样本。小样本学习任务与传统图像分类任务进行了比较,如图1所示,图1(a)表示传统的图像分类,在10类训练集上训练模型,然后使用训练好的模型在测试集上测试准确度。图1(b)表示小样本分类,5-way 5-shot任务类别表示训练集共有5种类别,每个类别支持集S有5张图像。训练好的模型通过测试集S在查询集Q上测试模型的准确率,测试任务流程与训练任务相同。

(a)传统的图像分类任务

2.2 ECAResNet-12

图像特征提取的好坏直接影响图神经网络的分类效果。现有的ResNet-12网络中,图像的不同区域特征被平等对待。但是在分类任务中应该更关注前景而忽略背景。因此所提算法在ResNet-12网络中增加了通道注意机制,构建了ECAResNet-12网络,其结构如图2所示。ECAResNet-12网络能够强化前景,以进一步提高特征提取的质量。在ECAResNet-12主干网络中,随着通道数的增加,特征图的分辨率会降低。在通道注意力学习过程中,如果分辨率或者通道数过低都会导致图像提取质量下降。因此,所提算法设置中间层的通道数为128来加入高效通道注意机制。

2.3 特征提取

语义特征传播图神经网络由0~L层组成,每层包含一个基于图像特征提取模块和语义特征提取模块,其中采用ECAResnet-12骨干网进行特征提取,如图3所示。语义特征传播图神经网络将图像作为图像特征提取模块的初始化信息。根据图像对应的类名,利用GloVe模型嵌入每个类的语义信息作为语义特征提取模块的初始信息。然后根据循环计算方式,更新图像特征提取模块中的节点,生成每一层的图像特征和语义特征分布图。最后,根据图像特征提取模块中节点之间的距离判断图像间的相似程度,从而对查询集图像类别进行分类。

图3 SPGN框架图

2.3.1 图像特征提取模块

图像特征提取模块的作用是对输入的图像信息进行特征提取。每个图像特征提取模块表示为每个实例在样本空间中的位置,其初始化方法,如下式所示,式中,gi表示为每个图像样本实例,fextract()表示为用特征提取的骨干网络:

(1)

(2)

(3)

(4)

(5)

(6)

(7)

在现有的图神经网络中,图像特征提取方法以及度量选择尤为重要。现有的度量选择基于两个不切实际的假设:1)特征维度不相关;2)存在一致的协方差。但是马氏距离认为不同类型的图像可以有不同的协方差,而这些图像的分布更接近真实的情况。马氏距离可以处理高维线性分布数据中各维度间的非独立同分布问题。由于小样本学习任务中数据量较小,因此考虑不同类别图像协方差的差异非常重要,故选择马氏距离来计算样本间的距离。为了验证马氏距离的有效性,通过改变相似度计算的度量方法,对CUB200-2011数据集的分类结果进行比较,实验结果如表1所示。从表1中对比分析可知,曼哈顿距离精度最低,欧氏距离的精度次之,马氏距离精准度最高,所以证明马氏距离更适合用于计算SPGN中类别相似度。

表1 不同度量方式的精度对比

2.3.2 语义特征提取模块

与图像特征提取模块不同,语义特征提取模块是基于语义信息生成的,先用GloVe模型对类别标签进行矢量化,然后使用WordNet计算各模块间的相似度。GloVe模型的语义特征拥有可加减的属性,如公式(8)所示,式中,fg()表示经GloVe模型训练的语义特征。语义特征可加减性便于语义信息在全样本空间中表示,有利于在全样本空间中扩大类之间的距离,从而提高分类性能:

fg(King)-fg(Man)+fg(woman)=fg(Queen)

(8)

(9)

(10)

(11)

(12)

m=Lowhy(x,y)

(13)

2.3.3 循环计算

语义特征提取模块中实例之间的位置表示为不同实例在样本空间的分布情况。经SPGN初始化后,该模型将进行循环计算并结合语义特征学习图像特征并预测图像的分类。

图4 SPGN循环计算流程

(14)

(15)

FReLU是一种简单有效的激活函数,适用于视觉任务。其通过增加可忽略的空间条件开销来改善ReLU,比ReLU更适合于图神经网络。因此,使用FReLU对图像特征提取模块和语义特征提取模块得到的特征进行更新合并,以循环计算的方法得到下一层的图像特征提取模块和语义特征提取模块。FReLU如公式(16)所示,式中,T(x)表示简单高效的空间上下文特征提取器,如公式(17)所示:

fFR(x)=Max(x,T(x))

(16)

T(x)=fBN(fconv2d(x))

(17)

使用FReLU作为激活函数的对比分析,如表2所示,FReLU与LeakyReLU相比,精度有一定程度的提高,从ReLU到FReLU,语义特征传播图神经网络的精度提高了1.83%。

2.3.4 损失函数

语义特征传播图神经网络采用Softmax函数作为分类函数,将图像特征提取模块损失和语义特征提取模块损失结合作为语义特征传播图神经网络的损失函数。网络中每个节点的预测过程,如公式(18)所示,式中,P(yi|xi)表示为置信度最高的类别,xi表示为在图神经网络中最可能属于的类别,yi表示为支持集中第j个样本的标签:

(18)

损失函数的计算包括以下几个部分:

(19)

2)计算语义特征提取模块的损失,如公式(20)所示,式中,Pw(yi|xi)表示为样本xi在语义特征分布图中最可能属于的类别:

(20)

3)通过权重λ计算网络的总损失,如公式(21)所示,当λ取不同值时分类精度,如表3所示:

(21)

表3 λ取值对于模型精度对比

从表3可以看出,随着λ值的增大,分类精度逐渐提高。当λ为0.9时,可以得到最高的准确率,大于0.9时,分类准确率开始下降。语义特征传播图神经网络在λ为0.9时得到最小损失值。因此,实验将λ设置为0.9。

3 实验与结果分析

语义特征传播图神经网络在三个公开数据集上同当前其他算法进行了对比,并在CUB-200-2011数据集上进行消融实验,进一步扩展到珍稀鸟类的应用场景中。

3.1 实验平台及数据集

实验平台操作系统为Windows10,显卡是Nvidia GeForce GTX3060,12G显存,CUDA版本为11.1,内存32GB,CPU为英特尔酷睿i7-11700 2.5GHz,网络结构基于Pytorch平台实现。实验选取标准数据集为MiniImageNet、CUB-200-20110和CIFAR-FS0,每个数据集的图像数量、类别数、训练/验证/测试集划分和图像分辨率的详细信息如表4所示。

表4 所用数据集介绍

3.2 评估指标

采用分类精度作为评价标准,精度越高,则模型性能越好,随机选取n=10000个任务,公布了平均准确率和95%置信区间,如公式(22)所示,式中,Acci表示各任务分类精度:

(22)

3.3 实验对比分析

语义特征传播图神经网络分别将ConvNet、RestNet-12和ECAResNet-12作为特征提取的骨干网络进行对比,分别为5-way 1-shot、5-way 2-shot和5-way 5-shot,在CUB-200-2011数据集上的实验结果,如表5所示。从表5中可以看出,SPGN在3个骨干网和3个任务下的分类精度均高于其他方法。当特征提取骨干网为ECAResNet-12,在5-way-1 shot、5-way-2 shot和5-way-5 shot任务上SPGN的准确率比DPGN分别提高了近9.0%、4.5%和4.1%。在5-way 2-shot任务下,SPGN的准确性比DPGN在5-way-5 shot下的准确性高约2%。实验结果证明SPGN在细粒度分类中表现最好。

表5 CUB-200-2011数据集对比实验结果

在MiniImagenet和CIFAR-FS数据集上的实验结果,如图6所示。其中,DPGN Conv表示为特征提取骨干网为ConvNet的DPGN,SPGN ResNet表示为特征提取骨干网为ResNet-12的SPGN,SPGN ECARes表示为特征提取骨干网ECAResNet-12的SPGN。从图6可以看出,在MiniImagenet数据集和CIFAR-FS数据集上,SPGN在三种任务上的分类准确率均高于DPGN。此外,当特征提取骨干网采用ECAResNet-12时,其分类效果明显优于ConvNet和ResNet-12。实验表明,SPGN在具有较多混淆特征的数据集上表现较好,而CIFAR-FS数据集的精度低于MiniImagenet数据集,因为其可用的语义信息相比于MiniImagenet更少,导致对分类精度的影响较小。

图6 MiniImagenet和CIFAR-FS对比实验结果

与DPGN相比,SPGN在精度提高的前提下,计算量更小,这是因为小样本学习是以任务为单位训练的。对于每个任务,DPGN分布图的第一层初始化需要大量的计算,而SPGN语义特征分布图的第一层只需要获得对应类别的语义特征即可,因此,初始化完成得更快。SPGN和DPGN训练相同轮数所用时间如表6所示,在相同的训练轮数下,SPGN比DPGN需要的计算量要少得多。

表6 SPGN与DPGN训练时间对比

同时,相比于训练轮数,如图7(a)所示,SPGN的损失收敛速度明显快于DPGN,说明SPGN在总体训练时间上更优。从实验中可以看出SPGN在12000轮收敛,SPGN的收敛速度更快,而DPGN需要至少15000轮才能收敛并降低学习率。实验尝试在12000轮下降低DPGN的学习率,但实验结果表明DPGN的准确率却降低了约2%,如图7(b)所示,与DPGN相比,SPGN收敛速度更快且准确度显著提高。由于SPGN模型在计算开销和精度方面都超越DPGN模型,证明其在实际应用中具有推广前景。

图7 SPGN和DPGN收敛速度及模型精度图

3.4 消融实验

为了验证本文创新点的有效性,将所提方法在CUB-200-2011数据集和CIFAR-FS数据集上进行5-way 1-shot任务的消融实验结果如表7所示。从表7中可以看出,在SPGN中加入语义特征提取模块后,两个数据集的分类准确率分别提高了7.23 %和2.1 %;相似度计算方法采用马氏距离后,使得分类精度提高了0.4 %;FReLU激活函数也提高了模型的分类精度,最后,通过将ECA注意模块集成到ResNet-12中,使得模型精度提高了1.2 %。从实验结果可以看出,对于这两个数据集,所提算法的四个创新点都进一步提高了模型的分类精度。

表7 所提算法消融实验

3.5 珍稀鸟类小样本分类

为了证明SPGN在实际应用中的巨大潜力,增加一个将训练后的SPGN应用于特定珍稀鸟类分类的例子。选取鸟类栖息地的珍稀鸟类7种,如图8所示,其中上半部分属于2种鹳类,下半部分属于5种鹤类。从图8中可以看出,尽管这些鸟属于不同的类别,但它们之间的相似性非常高。如果不是专业的鸟类学家,普通人很难区分这七种鸟类。与常见的图像分类问题相比,细粒度分类面临的图像具有更相似的外观特征,此外,细粒度数据集中存在姿态、光照、视角、遮挡、背景等干扰因素,导致类间差异小、类间差异大的特点。

图8 特定珍稀鸟类分类图

通过使用类别标签,SPGN可以首先增加鹳类与鹤类的距离,从语义信息来看,鹳类与鹤类的距离将大于其子类别之间的距离。其次,在鹤类或鹳类的子类别中,语义信息也可以根据类别标签进一步划分。最后,将图像特征嵌入到图神经网络中,借助语义特征对鸟类进行分类。

该示例包含了7种鸟类的350张图像,使用在CUB-200-2011数据集上训练的SPGN模型,通过7-way 1-shot任务来测试这个示例。在这个实验中,SPGN在7-way 1-shot任务上的准确率是82.45 %,而DPGN模型的精确度为72.14 %,而且证明了语义信息可以在不需要人工标记的情况下获得,这个例子说明了SPGN在实际应用中的巨大潜力。

4 结 语

在本文中提出了语义特征传播图神经网络,实验表明,所提算法在细粒度小样本学习中取得了先进的结果。与基线模型相比,5-way 1-shot任务精度提高了近9 %。同时,可以看到语义特征分布传播图神经网络在CUB-200-2011数据集上的精度比其他两个数据集有更大的提高。CUB-200-2011数据集是一个细粒度数据集,包含200种鸟类,类别之间有很大的相似性,语义特征和图像特征的融合可以在该应用场景中发挥更好的作用。在使用语义信息时,语义特征传播图神经网络使用GloVe模型提取语义特征,大大提高了该方法的实用性。语义特征传播图神经网络在珍稀鸟类分类中的应用表明,该网络模型在实际应用中是灵活可行的。在未来的工作中,将进一步探索改进在细粒度小样本学习中嵌入语义信息的不同方法,以提高语义信息对分类精度的影响。

猜你喜欢
特征提取语义神经网络
语言与语义
神经网络抑制无线通信干扰探究
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
“上”与“下”语义的不对称性及其认知阐释
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
认知范畴模糊与语义模糊
基于MED和循环域解调的多故障特征提取