一种基于原型网络的自编码器网络机制解决小样本图像分类的系统、方法、设备及存储介质与流程

专利2022-05-10  31



1.本技术涉及一种小样本图像分类的系统、方法、设备及存储介质,尤其涉及一种基于原型网络的自编码器网络机制解决小样本图像分类的系统、方法、设备及存储介质,属于计算机视觉技术领域。


背景技术:

2.小样本图像分类问题是计算机视觉领域的一个重要问题,也是目前非常具有挑战性的热点问题。该问题的目标是当新类仅存在少量训练样本时,可以提高模型的泛化能力和图像分类的准确率。
3.目前大多数小样本学习(few shot learning)方法主要集中在图像分类的问题上,它们的方法大多是将支持集样本映射到一个特定的隐空间,再将测试样本与已知样本进行度量来预测测试样本的标签;或者利用对抗生成网络为支持集生成更多的样本,以提高分类器的性能。这两种方法都有各自的优点,但是这样的方法仅仅关注类间或者类内的样本分布,没有同时利用类间与类内的样本分布情况,所以不能取得较为满意的效果。


技术实现要素:

4.有鉴于此,本技术提供一种基于原型网络的自编码器网络机制解决小样本图像分类的系统、方法、设备及存储介质,以解决现有技术中无法同时利用样本类内与类间分布情况的不足。本技术将利用原型网络捕获样本类间的依赖关系,使用自编码器捕获类内样本的差异信息,本技术首先利用原型网络学习样本类间的依赖关系,然后利用自编码器学习类内样本间的差异信息,最后计算新类测试样本的空间分布,并预测其样本标签。
5.本技术的技术方案是这样实现的:
6.方案一:一种基于原型网络的自编码器网络机制解决小样本图像分类的系统,包括:
7.原型网络模型,所述原型网络模型为基于映射学习的原型网络模型,用于计算出各基类的类原型表征和新类支持集样本的类原型表征;
8.自编码器,所述自编码器包括编码器和解码器,编码器用于学习样本间的差异信息,解码器用于解码差异信息和类原型表征生成重构样本;
9.分类器,所述分类器为重构样本与新类支持集样本一起训练获得,用于预测新类样本的标签并对新类测试样本进行分类。
10.进一步地:所述原型网络模型包括四个卷积块,每个卷积块包括一个卷积核大小为3*3的卷积层、一个batch标准化层、一个relu非线性层和一个2*2的最大池化层。
11.进一步地:所述编码器与解码器各包含一个多层感知机mlp,mlp包括一个8192单元的隐藏层和一个relu的激活层。
12.方案二:利用基于原型网络的自编码器网络机制解决小样本图像分类的方法,包
括:
13.步骤一,对于输入的基类数据集,训练一个基于映射学习的原型网络,计算出各基类的类原型表征和新类支持集样本的类原型表征,然后训练自编码器;
14.步骤二,依次从基类数据集中随机选出n个与新类支持集样本的类原型表征相似的样本,并将其与对应的类原型表征输入到自编码器中;将编码后得到的n个差异信息与类原型表征输入到解码器,最后解码器输出n个重构样本;
15.步骤三,将新类支持集样本与重构样本一起训练一个线性分类器,再用新类的测试样本输入到分类器来计算分类准确率。
16.进一步地,所述步骤一,具体步骤为:
17.1.1利用基类数据集训练一个由四个卷积块组成的原型网络模型,使用欧氏距离来度量测试样本与类原型表征的距离,离测试样本最近的类原型表征的类别作为预测类别,使用交叉熵损失函数优化原型网络模型参数;
18.1.2将各基类和新类支持集的样本输入到预训练的原型网络模型,得到样本在特定隐空间的向量表示;
19.1.3对映射到特定隐空间的基类样本的支持向量点取均值,得到各基类的类原型表征;
20.1.4将1.3得到的类原型表征分别与该类对应的样本输入到编码器,编码器计算出其差异信息;
21.1.5将1.4得到的差异信息和1.3得到的类原型表征输入到解码器,输出重构样本,通过最小化重构损失,最终训练出自编码器。
22.进一步地,所述步骤1.1,具体步骤为:
23.将基类数据集中类别k(k=1,2,...,k)的样本x
i
通过原型网络映射到隐空间,然后对分布到隐空间的支持向量点取均值,得到类别k的一个1600维的原型表征:
[0024][0025]
其中,f
φ
是将样本转换成1600维特征表示的映射学习函数,φ是可学习的参数,s
k
是基类数据集s中属于类别k的样本,x
i
是类别k的样本,y
i
是对应于样本x
i
的样本标签;
[0026]
原型网络为基类数据集中的每一个类描述出特征空间的分布情况,给定一个样本x
i
,将x
i
映射到隐空间,得到对应的特征向量,并对该样本的特征向量与类原型表征进行度量并归一化,
[0027][0028]
其中,d表示欧式距离的度量函数,y
i
表示x
i
的样本标签,k'表示类原型表征的编号,c
k'
表示第k'个类原型表征,函数exp表示以自然常数e为底的指数函数,p
φ
表示在参数φ下样本x
i
的标签为k的概率函数;
[0029]
通过随机梯度下降的方法,最小化交叉熵损失函数:
[0030]
j(φ)=

logp
φ
(y
i
=k|x
i
)。
[0031]
进一步地,所述步骤1.4,具体步骤为:
[0032]
利用原型网络得到基类数据集各个类别的原型表征{c1,c2,c3,...,c
k
},并分别将其与对应的样本输入到编码器;然后,以该类的原型表征c
k
作为注意力模型的被关注的对象,以输入的样本{x1,x2,x3,...,x
n
}作为注意力模型的n个查询,并计算相似度得分:
[0033][0034]
其中,w是权重矩阵,作为缩放因子,score函数表示计算相似度的打分函数;
[0035]
计算出归一化后的每个样本与原型表征的相似度得分:
[0036][0037]
其中,exp表示以自然常数e为底的指数函数,soft target softmax函数表示对齐函数,t表示soft target softmax函数的参数;
[0038]
然后计算出每个样本与类原型表征之间的差异信息d
i
=1

s
i

[0039]
进一步地,所述步骤1.5,具体步骤为:
[0040]
将得到的差异信息{d1,d2,d3,...,d
n
}与类原型表征输入到解码器,生成n个重构样本为了最小化重构损失,优化目标公式设置为:
[0041][0042]
最终训练出一个自编码器。
[0043]
所述方案二是基于方案一所述系统实现的。
[0044]
方案三:一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,
[0045]
其中,所述处理器用于运行所述计算机程序时,执行方案二所述方法的步骤。
[0046]
方案四:一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案二所述方法的步骤。
[0047]
本技术有益效果体现在:
[0048]
相比一般的小样本图像分类解决方案,本技术借助基于映射学习的原型网络,学习一个映射度量空间,使分类器更好地泛化到新类样本,同时利用自编码器捕获同类样本间的差异信息,并将其迁移到新类样本数据,能更有效地生成样本,训练出一个性能更好的线性分类器。本技术在小样本图像分类问题中所取得的效果相比于传统的方法更好。本技术不仅捕获了类间的依赖关系,还获取了类内样本间的差异信息,使得重构样本的特征分布更真实有效,大大提高了分类器的性能和泛化能力。本技术还可以作为一个数据增强模块,嵌入到其他的模型中,具有可扩展性强的性能。
附图说明
[0049]
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
[0050]
图1为本技术实施例一提供的一种基于原型网络的自编码器网络机制解决小样本
图像分类的系统框图;
[0051]
图2为本技术实施例二提供的利用基于原型网络的自编码器网络机制解决小样本图像分类的方法流程图;
[0052]
图3为本技术所使用的对于小样本图像分类问题的基于原型网络的自编码器网络的整体示意图;
[0053]
图4为本技术对于训练原型网络及训练自编码器的流程图;
[0054]
图5为本技术的一种电子设备的结构示意图。
具体实施方式
[0055]
下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与申请相关的部分。
[0056]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0057]
实施例一
[0058]
本技术实施例一提供了一种基于原型网络的自编码器网络机制解决小样本图像分类的系统(参见图1),包括:原型网络模型,所述原型网络模型为基于映射学习的原型网络模型,所述原型网络模型包括四个卷积块,每个卷积块包括一个卷积核大小为3*3的卷积层、一个batch标准化层、一个relu非线性层和一个2*2的最大池化层,用于计算出各基类的类原型表征和新类支持集样本的类原型表征;自编码器,所述自编码器包括编码器和解码器,所述编码器与解码器各包含一个多层感知机mlp,mlp包括一个8192单元的隐藏层和一个relu的激活层,编码器用于学习样本间的差异信息,解码器用于解码差异信息和类原型表征并生成重构样本;分类器,所述分类器为重构样本与新类支持集样本一起训练获得,用于预测新类样本的标签并对新类测试样本进行分类。
[0059]
实施例二
[0060]
本技术实施例二提供了一种利用基于原型网络的自编码器网络机制解决小样本图像分类的方法(参见图2

图4),该方法具体为:
[0061]
s1,对于输入的基类数据集,训练一个基于映射学习的原型网络,计算出各基类的类原型表征和新类支持集样本的类原型表征,然后训练自编码器;
[0062]
在这一步骤中,具体操作为:
[0063]
s1.1利用基类数据集训练一个由四个卷积块组成的原型网络模型,使用欧氏距离来度量测试样本与类原型表征的距离,离测试样本最近的类原型表征的类别作为预测类别,使用交叉熵损失函数优化原型网络模型参数;更为具体地,
[0064]
将基类数据集中类别k(k=1,2,...,k)的样本x
i
通过原型网络映射到隐空间,然后对分布到隐空间的支持向量点取均值,得到类别k的一个1600维的类原型表征:
[0065][0066]
其中,f
φ
是将样本转换成1600维特征表示的映射学习函数,φ是可学习的参数,s
k
是基类数据集s中属于类别k的样本,x
i
是类别k的样本,y
i
是对应于样本x
i
的样本标签。
[0067]
原型网络为基类数据集中的每一个类描述出特征空间的分布情况,给定一个样本x
i
,将x
i
映射到隐空间,得到对应的特征向量,并对该样本的特征向量与类原型表征进行度量并归一化,
[0068][0069]
其中,d表示欧式距离的度量函数,y
i
表示x
i
的样本标签,k'表示类原型表征的编号,c
k'
表示第k'个类原型表征,函数exp表示以自然常数e为底的指数函数,p
φ
表示在参数φ下样本x
i
的标签为k的概率函数;
[0070]
通过随机梯度下降的方法,最小化交叉熵损失函数:
[0071]
j(φ)=

logp
φ
(y
i
=k|x
i
)。
[0072]
s1.2将各基类和新类支持集的样本输入到预训练的原型网络模型,得到样本在特定隐空间的向量表示;
[0073]
s1.3对映射到特定隐空间的基类样本的支持向量点取均值,得到各基类的类原型表征;
[0074]
s1.4将s1.3得到的类原型表征分别与该类对应的样本输入到编码器,编码器计算出其差异信息;更为具体地,
[0075]
利用原型网络得到基类数据集各个类别的原型表征{c1,c2,c3,...,c
k
},并分别将其与对应的样本输入到编码器。然后,以该类的原型表征c
k
作为注意力模型的被关注的对象,以输入的样本{x1,x2,x3,...,x
n
}作为注意力模型的n个查询,并计算相似度得分:
[0076][0077]
其中,w是权重矩阵,作为缩放因子,score函数表示计算相似度的打分函数;
[0078]
计算出归一化后的每个样本与原型表征的相似度得分:
[0079][0080]
其中,exp表示以自然常数e为底的指数函数,soft target softmax函数表示对齐函数,t表示soft target softmax函数的参数;
[0081]
然后计算出每个样本与类原型表征之间的差异信息d
i
=1

s
i

[0082]
s1.5将s1.4得到差异信息输入到解码器,输出重构样本,通过最小化重构损失,最终训练出自编码器;更为具体地,
[0083]
将得到的差异信息{d1,d2,d3,...,d
n
}与类原型表征输入到解码器,生成n个重构样本为了最小化重构损失,优化目标公式设置为:
[0084][0085]
最终训练出一个自编码器。
[0086]
s2,依次从基类数据集中随机选出n个与新类支持集样本原型表征相似的样本,并将其与对应的原型表征输入到自编码器中;将编码后得到的n个差异信息与类原型表征输入到解码器,最后解码器输出n个新类支持集的重构样本。
[0087]
s3,将新类支持集样本与新类支持集的重构样本一起训练一个线性分类器,再用新类的测试样本输入到分类器来计算分类准确率。
[0088]
实施例三
[0089]
本技术实施例三提供一种电子设备,参见图5,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器或者处理单元,用于存储能够在处理器上运行的计算机程序的存储器,连接不同系统组件(包括存储器、一个或者多个处理器或者处理单元)的总线。
[0090]
其中,所述一个或者多个处理器或者处理单元用于运行所述计算机程序时,执行实施例二所述方法的步骤。所述处理器所用类型包括中央处理器、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
[0091]
其中,总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0092]
实施例四
[0093]
本技术实施例四提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例二所述方法的步骤。
[0094]
需要说明的是,本技术所示的存储介质可以是计算机可读信号介质或者存储介质或者是上述两者的任意组合。存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。存储介质还可以是存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0095]
对本技术进行效果验证
[0096]
本技术在互联网上下载小样本图像分类常用的两个数据集miniimagenet、cifar100,并在miniimagenet数据集、cifar100数据集上进行实验验证,其中miniimagenet
数据集、cifar100数据集各包含100个类别,每个类别包含600张图像。本技术对于miniimagenet数据集和cifar100数据集进行如下预处理:
[0097]
1)对于每一个数据集均随机选取80个类别作为训练集,剩下的20个类别作为测试集,并且把每张图像都设置为84
×
84尺寸大小;
[0098]
2)对于每一张图像,本技术利用训练好的原型网络模型来提取1600维的图像特征。
[0099]
为了客观地评价本技术的性能,本技术在所选出的测试集,使用了5way

accuracy(五分类的准确率)来对于本技术的效果进行评价。分为以下2种设置进行测试,5way

1shot(每个新类仅提供一个支持集样本),5way

5shot(每个新类仅提供五个支持集样本)。对于实验中的自编码器网络中的初始权重按高斯分布随机初始化,初始的学习率设定为1e

3,每一个epoch训练后设定的抛弃率(dropout rate)为0.5。自编码器设置训练50个epoch,批数据集大小(batch size)为128,使用了adam(adaptive moment estimation)的梯度下降技术。另外,对于miniimagenet数据集和cifar100数据集,分别按照5way

1shot和5

way

5shot两个设置分别求取测试结果。按照具体实施方式中描述的步骤,所得的实验结果如表1所示:
[0100]
settingminiimagenet数据集cifar100数据集5way

1shot64.8%70.4%5way

5shot78.7%84.6%
[0101]
表1本技术针对于miniimagenet数据集和cifar100数据集对于5way1

shot和5way

5shot两种不同设置的测试结果。
[0102]
以上所述的实施例,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的实施例而已,并不用于限定本技术的保护范围,凡在本技术的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本技术的保护范围之内。
转载请注明原文地址:https://doc.8miu.com/read-1719044.html

最新回复(0)