面向小样本图像分类的任务相关度量学习方法及装置

文档序号:31289833发布日期:2022-08-27 03:04阅读:199来源:国知局
面向小样本图像分类的任务相关度量学习方法及装置

1.本发明涉及计算机视觉领域中图像分类,尤其涉及一种面向小样本图像类内共性特征的任务相关度量学习方法及装置。


背景技术:

2.近年来,随着计算机技术的发展,人们浏览的信息日益丰富,每天都有大量图片被上传到网络,由于数量巨大,人工已经无法对此进行分类。在很多大样本图像分类任务上,机器的识别性能已经超越人类。然而,当样本量比较少时,机器的识别水平仍与人类存在较大差距。因此,研究高效可靠的图片分类算法有很迫切的社会需求。
3.人类具体通过极少量样本识别一个新物体的能力,例如小朋友只需要看过书中的个别图片,就可以准确的判断什么是“香蕉”或者是“草莓”。小样本学习指的是研究人员希望机器学习模型在学习一定类别的大量数据后,遇到新的类别后,只需要少量的数据就可以快速的学习,实现“小样本学习”。
4.小样本分类属于小样本学习范畴,往往包含类别空间不相交的两类数据,即基类数据和新类数据。小样本分类旨在利用基类数据学习的知识和新类数据的少量标记样本(支持样本)来学习分类规则,准确预测新类任务中未标记样本(查询样本)的类别。
5.在小样本图像分类的研究方法中,基于深度度量的方法简单而且高效,主要通过比较样本间或者样本与类原型间的距离来判断类别。常常结合数据增强、迁移学习等技术来弥补数据量不足以及模型容易过拟合的缺陷,在很多小样本分类任务上获得了较好的分类性能。但与大样图像分类相比,现有小样本图像分类的性能仍不尽人意,很大程度上限制了小样本图像分类技术的实用化,在自适应的度量学习中还面临着以下问题亟待解决:
6.现有小样本分类方法中,大多假设小样本分类任务使用一个单一的度量方式,例如余弦距离、欧氏距离或一个可学习的度量网络模块。不同的任务包含不同的类别,有些任务适用余弦距离,有些任务适用欧氏距离。因此,如何构建任务自适应的度量也是小样本图像分类值得研究的问题。


技术实现要素:

7.本发明针对上述技术问题,提出一种面向小样本图像分类的任务相关度量学习方法及装置,引入了注意力机制的思想,利用任务自适应度量学习的方式,通过考虑不同任务之间的差异性,并学习任务相关的空间映射,解决了小样本图像分类中存在任务自适应的度量问题,对于图像的分类效果十分明显,具有很高的实用价值。
8.为了实现上述目的,本发明提供如下技术方案:
9.一方面,本发明提供了一种面向小样本图像分类的任务相关度量学习方法,包括以下步骤:
10.s1、对数据进行预处理,其中数据包括训练集d
train
和测试集d
test
,训练集d
train
和测试集d
test
的类别空间互斥;
11.s2、构建面向小样本图像分类的任务相关度量学习模型,模型由嵌入模块和任务相关度量模块组成;其中,嵌入模块包含四个卷积块,每个卷积块均包括卷积层、池化层以及非线性激活函数;任务相关度量模块由注意力模块和余弦度量模块组成;
12.s3、将训练集数据送入面向小样本图像分类的任务相关度量学习模型进行训练,求解模型参数;
13.s4、利用训练后的面向小样本图像分类的任务相关度量学习模型对新类任务进行预测,测评模型的性能。
14.进一步地,步骤s1的预处理方法为:从训练集d
train
中随机选出c个类别,每个类别中随机选出m个样本,其中k个样本作为支持样本si,其余m-k个样本作为查询样本qi,si和qi构成一个任务ti,同样对于测试集d
test
也有任务tk。
15.进一步地,步骤s2中,每个卷积块包含一个带有64个滤波器的3
×
3的卷积,一个批量归一化,一个relu非线性层,一个2
×
2最大池化层,裁剪了最后两个块的最大池化层,全连接层共128维。
16.进一步地,步骤s3具体包括:
17.s301、对于d
train
中的一个任务ti,首先将所有支持样本和查询样本输入嵌入模块中;
18.s302、利用嵌入模块中的卷积神经网络,将支持样本依次经过卷积层、池化层和激活层,最终提取图像的特征
19.s303、将支持样本特征fs∈r
hw
×c分别作为v和k输入到任务相关度量模块中;
20.s304、将查询样本中特征fq∈r
hw
×c,将其作为q输入到任务相关度量模块中,其中h和w代表特征空间的大小,c代表特征的通道数;
21.s305、将v,k,q分别经过三个权重不同的线性层将提取出来的特征投影到低维,得到转换后特征,表示为公式如下:
[0022][0023]
在公式(1)中,fs代表支持样本特征,fq代表查询样本特征,wv,wk,wq代表三个权重不同的线性层,分别代表fs经过wv、fs经过wk、fq经过wq所得到的转化后的特征;公式(1)表示将v,k,q经过wv,wk,wq三个权重不同的线性层投影到低维;
[0024]
s306、利用公式(2)计算所有支持样本的预测概率,公式如下:
[0025][0026]
在公式(2)中,代表矩阵的对应元素相乘,代表经过公式(1)转化后的特征,c代表特征的通道数,softmax代表softmax激活函数,fa代表经过公式(2)后得到的加权特征;公式(2)表示求得加权注意力权重后的特征;
[0027]
s307、将fa再经过一个线性层后得到任务自适应的支持样本特征fa∈r
hw
×c;
[0028]
s308、将查询样本特征q和任务自适应的支持样本特征fa共同输入到余弦度量模
块中,度量模块采用余弦分类器,用于查询样本的分类;
[0029]
s309、使用交叉熵损失函数计算支持样本与查询样本的分类预测损失l0,将l0作为整个网络的总损失loss;
[0030]
s310、根据求得的loss使用mini-batch和adam优化器更新嵌入模块和任务相关度量模型的可学习参数,重复训练多个任务,直到网络收敛。
[0031]
进一步地,步骤s308中余弦度量模块运算公式如下:
[0032][0033]
在公式(3)中,fq代表查询样本特征,fa代表任务自适应的支持样本特征,代表矩阵的对应元素相乘,||a||表示求矩阵a的二范数,f代表求得的余弦相似度矩阵,公式(3)表示求出任务自适应的支持样本特征fa和查询样本特征fq之间的余弦相似度矩阵。
[0034]
进一步地,步骤s309中的交叉熵损失函数公式如下:
[0035][0036]
在公式(4)中,n代表种类数量,y代表类标签,若类别是i,则yi=1且其他位为0,pi代表类别是i的概率,其值为公式(3)算出来的f矩阵中的对应位置的元素值,loss代表计算后得到的当前损失值,公式(4)表示根据交叉熵损失函数,计算当前的网络模型情况下的损失值。
[0037]
进一步地,s310中使用的adam学习率自适应优化算法具体步骤如下:
[0038]
s3101、对数据进行初始化:
[0039]vdw
=0,s
dw
=0,v
db
=0,s
db
=0
[0040]
w代表w1,w2,

,wn的集合,b代表b1,b2,

,bn的集合,在第t次迭代中,用当前的mini-batch计算w和b的微分dw,db;
[0041]
s3102、momentum算法:
[0042]
根据公式(5)和(6)计算梯度微分的指数加权平均数:
[0043]vdw
=β1v
dw
+(1-β1)dw
ꢀꢀꢀ
(5)
[0044]vdb
=β1v
db
+(1-β1)db
ꢀꢀꢀ
(6)
[0045]
s3103、rmsprop算法:
[0046]
根据公式(7)和(8)计算梯度微分平方的指数加权平均数:
[0047]sdw
=β2s
dw
+(1-β2)(dw)2ꢀꢀꢀ
(7)
[0048]sdb
=β2s
db
+(1-β2)(db)2ꢀꢀꢀ
(8)
[0049]
s3104、对两种算法进行偏差修正:
[0050]
根据公式(9)和(10)进行momentum算法偏差修正:
[0051][0052][0053]
根据公式(11)和(12)进行rmsprop算法偏差修正;
[0054][0055][0056]
s3105、根据公式(13)和(14)进行梯度下降,更新参数:
[0057][0058][0059]
在公式(5)-(14)中,v
dw
,v
db
,s
dw
,s
db
分别代表有偏差的一阶和二阶矩估计,t代表次数,α代表学习率,ε代表用于数值稳定的小常数,β1,β2代表矩估计的指数衰减率,dw,db分别代表w和b的微分,代表经过偏差修正后的一阶和二阶矩估计。
[0060]
进一步地,步骤s4的具体步骤为:
[0061]
s401、将新类的任务输入训练好的嵌入模块中;
[0062]
s402、将嵌入模块输出的矩阵特征经过任务相关度量模块,得到查询样本与支持样本各类别的余弦度量;
[0063]
s403、将相似度最高的类作为预测标签,根据预测结果评估模型性能。
[0064]
另一方面,本发明还提供了一种面向小样本图像分类的任务相关度量学习装置,用以实现上述的任一项方法,包括以下模块:
[0065]
数据预处理模块:用于对数据进行预处理,将数据划分成为训练集和测试集并且确定模型的训练方式;
[0066]
网络模型构建模块:用于引入注意力机制和自适应度量学习,构建面向小样本图像分类的任务相关度量学习模型,模型由嵌入模块和任务相关度量模块组成;其中,嵌入模块包含四个卷积块,每个卷积块均包括卷积层、池化层以及非线性激活函数;任务相关度量模块由注意力模块和余弦度量模块组成;
[0067]
训练模型参数模块:用于面向小样本图像分类的任务相关度量学习模型进行训练,求解模型参数;
[0068]
测试模型性能模块:利用训练好的面向小样本图像分类的任务相关度量学习模型对新类的任务进行预测,测评模型的性能。
[0069]
与现有技术相比,本发明的有益效果为:
[0070]
本发明引入注意力机制的思想,建立了一种面向小样本图像分类的任务相关度量学习方法及装置,通过考虑不同任务之间的差异性,并学习任务相关的空间映射,利用任务自适应度量学习的方式,解决了小样本图像分类中存在的自适应度量学习问题,从而提高在小样本条件下目标任务分类的准确性,改善了图像的分类效果,具有很高的实用价值。
附图说明
[0071]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0072]
图1为本发明实施例提供的面向小样本图像分类的任务相关度量学习方法的阶段流程图。
[0073]
图2为本发明实施例提供的面向小样本图像分类的任务相关度量学习模型结构图。
[0074]
图3为本发明实施例提供的面向小样本图像分类的任务相关度量学习模型的功能模块构成图。
[0075]
图4为本发明实施例提供的嵌入模块结构图。
[0076]
图5为本发明实施例提供的特征矩阵经过三个权重不同的线性层示意图。
[0077]
图6为本发明实施例提供的注意力机制运算示意图。
具体实施方式
[0078]
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079]
根据本文公开的一个方面,提供了一种面向小样本图像分类的任务相关度量学习方法,如图1所示,包括以下阶段步骤:
[0080]
s1、数据预处理阶段:对数据进行预处理,其中数据包括训练集和测试集;
[0081]
s2、构建网络模型阶段:引入注意力机制和自适应度量学习,构建面向小样本图像分类的任务相关度量学习模型;
[0082]
s3、训练模型参数阶段:将训练集数据送入面向小样本图像分类的任务相关度量学习模型进行训练,求解模型参数;
[0083]
s4、测试模型性能阶段:利用训练后的面向小样本图像分类的任务相关度量学习模型对新类任务进行预测,测评模型的性能。
[0084]
在一些实施例中,所述阶段步骤s1包括以下子步骤:
[0085]
s101、将数据分为和两个部分,且这两个部分的类别空间互斥。将d
train
作为基类数据训练模型,d
test
作为新类数据测评模型性能;
[0086]
s102、对于c-way k-shot分类任务,从d
train
中随机选出c个类别,每个类别中随机选出m个样本,其中k个样本作为支持样本si,其余m-k个样本作为查询样本qi,si和qi构成一个任务ti,同样对于d
test
也有任务tk。
[0087]
在一些实施例中,所述步骤s2包括以下步骤:
[0088]
构建面向小样本图像分类的任务相关度量学习模型,其结构如图2所示,网络模型划分为嵌入式模块和任务相关度量模块,如图3所示。嵌入式模块由输入层、卷积层、池化层
以及激活函数组成,如图4所示,目的是为了提取样本的局部特征;其中,在遵循四层卷积架构来形成特征提取器每个块包含一个带有64个滤波器的3
×
3的卷积,一个批量归一化,一个relu非线性层,一个2
×
2最大池化层,裁剪了最后两个块的最大池化层,全连接层共128维。
[0089]
任务相关度量模块由注意力模块和余弦度量模块组成,目的是通过考虑不同任务之间的差异性,并学习任务相关的空间映射,从而提高在小样本条件下目标任务分类的准确性。
[0090]
在一些实施例中,所述步骤s3包括以下子步骤:
[0091]
s301、对于d
train
中的一个任务ti,首先将所有支持样本和查询样本输入嵌入模块中;
[0092]
s302、利用嵌入模块中的卷积神经网络,将支持样本依次经过卷积层、池化层和激活层,最终提取图像的特征
[0093]
s303、将支持样本特征fs∈r
hw
×c分别作为v和k输入到任务相关度量模块中;
[0094]
s304、将查询样本中特征fq∈r
hw
×c,将其作为q输入到任务相关度量模块中,其中h和w代表特征空间的大小,c代表特征的通道数;
[0095]
s305、将v,k,q分别经过三个权重不同的线性层将提取出来的特征投影到低维,得到转换后特征,表示为公式如下:
[0096][0097]
在公式(1)中,fs代表支持样本特征,fq代表查询样本特征,wv,wk,wq代表三个权重不同的线性层,分别代表fs经过wv、fs经过wk、fq经过wq所得到的转化后的特征;公式(1)表示将v,k,q经过wv,wk,wq三个权重不同的线性层投影到低维,如图5。
[0098]
s306、利用公式(2)计算所有支持样本的预测概率,公式如下:
[0099][0100]
在公式(2)中,代表矩阵的对应元素相乘,代表经过公式(1)转化后的特征,c代表特征的通道数,softmax代表softmax激活函数,fa代表经过公式(2)后得到的加权特征,公式(2)表示求得加权注意力权重后的特征,如图6所示。
[0101]
在公式(2)中,对经过运算后的矩阵使用softmax激活函数,表示两个特征矩阵的对应元素相乘,即是将f
sk
转置后与f
qq
进行矩阵相乘,softmax激活函数分别对每一行、每一列进行归一化得到注意力权重矩阵α∈r
hw
×
hw
,使用这种方法可以保持梯度的稳定。
[0102]
s307、将fa再经过一个线性层后得到任务自适应的支持样本特征fa∈r
hw
×c。
[0103]
s308、接着将查询样本特征q和任务自适应的支持样本特征fa共同输入到余弦度量模块中,度量模块采用余弦分类器,用于查询样本的分类。
[0104]
采用的余弦度量模块,其运算公式如下:
[0105][0106]
在公式(3)中,fq代表查询样本特征,fa代表任务自适应的支持样本特征,代表矩阵的对应元素相乘,||a||表示求矩阵a的二范数,f代表求得的余弦相似度矩阵。公式(3)表示求出任务自适应的支持样本特征fa和查询样本特征fq之间的余弦相似度矩阵。
[0107]
s309、使用交叉熵损失函数计算支持样本与查询样本的分类预测损失l0,将l0作为整个网络的总损失loss。
[0108]
交叉熵损失函数公式如下:
[0109][0110]
在公式(4)中,n代表种类数量,y代表类标签,若类别是i,则yi=1且其他位为0,pi代表类别是i的概率,其值为公式(3)算出来的f矩阵中的对应位置的元素值,loss代表计算后得到的当前损失值。公式(4)表示根据交叉熵损失函数,计算当前的网络模型情况下的损失值。
[0111]
s310、根据求得的loss使用mini-batch和adam优化器更新嵌入模块和任务相关度量模型的可学习参数,重复训练多个任务,直到网络收敛。
[0112]
使用的adam学习率自适应优化算法具体步骤如下:
[0113]
s3101、为了简化描述,w代表w1,w2,

,wn的集合,b代表b1,b2,

,bn的集合。
[0114]
对数据进行初始化:v
dw
=0,s
dw
=0,v
db
=0,s
db
=0。
[0115]
在第t次迭代中,用当前的mini-batch计算w和b的微分dw,db。
[0116]
s3102、momentum算法
[0117]
公式计算梯度微分的指数加权平均数:
[0118]vdw
=β1v
dw
+(1-β1)dw
ꢀꢀꢀ
(5)
[0119]vdb
=β1v
db
+(1-β1)db
ꢀꢀꢀ
(6)
[0120]
s3103、rmsprop算法公式计算梯度微分平方的指数加权平均数:
[0121]sdw
=β2s
dw
+(1-β2)(dw)2ꢀꢀꢀ
(7)
[0122]sdb
=β2s
db
+(1-β2)(db)2ꢀꢀꢀ
(8)
[0123]
s3104、对两种算法都进行偏差修正:
[0124]
1)momentum算法偏差修正:
[0125][0126][0127]
2)rmsprop算法偏差修正;
[0128]
[0129][0130]
s3105、进行梯度下降,更新参数:
[0131][0132][0133]
在公式(5)-(14)中,v
dw
,v
db
,s
dw
,s
db
分别代表有偏差的一阶和二阶矩估计,t代表次数,α代表学习率,ε代表用于数值稳定的小常数,β1,β2代表矩估计的指数衰减率,dw,db分别代表w和b的微分,代表经过偏差修正后的一阶和二阶矩估计。
[0134]
mini-batch算法优点:把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大,更加便于计算。
[0135]
adam优化算法优点:动量直接并入了梯度一阶矩(指数加权)的估计,将动量应用于缩放后的梯度。包括了偏差修正步骤,修正从原点初始化的一阶矩(动量项)和(非中心的)二阶矩估计。
[0136]
在一些实施例中,所述步骤s4包括以下子步骤:
[0137]
s401、将新类的任务输入训练好的嵌入模块中;
[0138]
s402、将嵌入模块输出的矩阵特征经过任务相关度量模块,得到查询样本与支持样本各类别的余弦度量;
[0139]
s403、将相似度最高的类作为预测标签,根据预测结果评估模型性能。
[0140]
根据本文公开的另一个方面,本发明还提供了一种面向小样本图像分类的任务相关度量学习装置,用于实现上述面向小样本图像分类的任务相关度量学习方法,包括:
[0141]
数据预处理模块:对数据进行预处理,将数据划分成为训练集和测试集并且确定模型的训练方式;
[0142]
网络模型构建模块:引入注意力机制和自适应度量学习,构建面向小样本图像分类的任务相关度量学习模型;模型由嵌入模块和任务相关度量模块组成;其中,嵌入模块包含四个卷积块,每个卷积块均包括卷积层、池化层以及非线性激活函数;任务相关度量模块由注意力模块和余弦度量模块组成;
[0143]
训练模型参数模块:用面向小样本图像分类的任务相关度量学习模型进行训练,求解模型参数;
[0144]
测试模型性能模块:利用训练好的面向小样本图像分类的任务相关度量学习模型对新类的任务进行预测,测评模型的性能。
[0145]
以上结合附图对所提出的面向小样本图像分类的任务相关度量学习方法及模型的具体实施方式进行了阐述。通过以上实施方式的描述,所属领域的技术人员可以清楚的了解该方法以及装置的实施。
[0146]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其他设备固有相关。各种通用系统也可以与基于在此地启示一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本文公开的也不针对任何特定的编程语言。但是应当了解,可以利用各种编程语言实现在此描述的本文公开的内容,并且上面对特定语言所做的描述是为了披露本文公开的最佳实施方式。
[0147]
类似的,应当理解,为了使本文尽量精简并且帮助理解各个公开方面中的一个或多个,在上面对本文公开的示例性实施例的描述中,本文公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即要求所保护的本文公开的要求比在每个权力要求中所明确记载的特征具有更多的特征。更确切地说,如下面的权力要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例子。
[0148]
以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特殊进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1