首页> 中国专利> 一种基于转导式推理的均衡小样本任务分类方法

一种基于转导式推理的均衡小样本任务分类方法

摘要

本发明公开了一种基于转导式推理的均衡小样本任务分类方法。该方法包括确定数据集和分类网络,采用二阶段训练方法训练分类网络;利用分类网络提取小样本任务中的图片特征;对这些特征之间的相似矩阵进行迭代更新至符合预设要求;利用相似矩阵来迭代调整支撑集输出的原型特征,并生成新的相似矩阵,直至新的相似矩阵符合预设要求;利用生成的相似矩阵进行均衡小样本任务分类。本发明为了解决现有技术没有考虑到同一个小样本任务内的支撑集与询问集特征之间的约束关系,没有充分利用转导式推理的优势的问题,利用支撑集和询问集样本之间的相似矩阵的不断更新来解决他们内部特征不匹配的问题,进一步提升了在小样本分类的基准数据集上的性能。

著录项

  • 公开/公告号CN112819075A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN202110142249.6

  • 申请日2021-02-02

  • 分类号G06K9/62(20060101);G06K9/46(20060101);G06N3/04(20060101);G06N3/08(20060101);G06N5/04(20060101);

  • 代理机构51229 成都正华专利代理事务所(普通合伙);

  • 代理人李蕊

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域

本发明涉及一种均衡小样本任务分类方法,尤其涉及一种基于转导式推理的均衡小样本任务分类方法。

背景技术

深度学习模型在各种任务中都达到了人类的水平。这些模型的成功很大程度上依赖于从大规模标记数据集中进行的学习。尽管如此,如果只给定一些新类的几个带标签实例的话,他们很难泛化到这些新的类上。相比之下,人类可以利用以往的经验和相关背景,很容易地从少数例子中学习新的任务。小样本学习已经成为弥合这一差距的吸引人的例子。在标准的小样本学习场景下,模型首先在初始数据集(通常称为基类)上根据大量标记数据进行训练。然后,对于新类的数据的监督学习将被限制在每类仅有1个或几个的情况。该模型在小样本任务上进行评估,每个任务由每个新类的几个带标签的数据(支撑集)以及未带标签的数据构成(询问集)。

一个具体的小样本任务是这样构造的:给定一个数据集(模型训练的时候使用基类数据集,测试的时候使用新类的数据集),这个数据集对应着一个标签空间。我们首先从这个标签空间中采样出N个不同的标签(即N个类别),然后我们对这N类中的每类,都从数据集中采样出一定的样本。对于采样得到的样本,我们从每类中随机选择K个打上标签,提供给模型学习任务特征,剩余的混在一起,用于进行N类的分类任务。这些打上标签的样本属于支撑集,剩余的待分类的样本属于询问集。支撑集和询问集共同组成了一个小样本分类任务。特别的,如果分类数目是N,支撑集中每类的样本数目为K,就称这个任务是N-way K-shot小样本分类任务。如果我们能在分类之前确保询问集中,每类的样本数目也是相同的,我们就称它是均衡的小样本分类任务,否则是不均衡的。我们考虑的是均衡的情况。

针对一个测试时的小样本任务,往往有转导式推理或者归纳推理两种方式。转导式推理会对任务的所有未标记的询问集样本联合执行类预测,而归纳推理一次只预测一个样本。转导式学习通常表现要比归纳式的要好,比较典型的是使用图网络来进行标签的传播的方法(英文简称TPN,一种转导推理算法,在2018年提出)以及利用简单的初次迭代的分类结果来优化下次迭代分类中心的问题,但是这些转导式方法没有考虑到同一个小样本任务内的支撑集与询问集特征之间的约束关系,没有充分利用转导式推理的优势。

发明内容

针对现有技术中的上述不足,本发明提供了一种基于转导式推理的均衡小样本任务分类方法。

为了达到上述发明目的,本发明采用的技术方案为:

一种基于转导式推理的均衡小样本任务分类方法,包括以下步骤:

S1、选取数据集和分类网络,采用二阶段训练方法训练分类网络;

S2、利用步骤S1中训练好的分类网络提取小样本任务中的图片特征;

S3、对步骤S2提取的特征之间的相似矩阵进行更新;

S4、判断步骤S3中更新后的相似矩阵是否符合预设要求,若是,执行步骤S5,否则返回步骤S3;

S5、利用步骤S3中更新好的相似矩阵调整支撑集输出的原型特征,并生成新的相似矩阵;

S6、判断步骤S5中生成的新的相似矩阵是否符合预设要求,若是,执行步骤S7,否则返回步骤S3;

S7、利用步骤S5生成的相似矩阵进行均衡小样本任务分类。

本发明具有以下有益效果:本发明相较于现有技术更加充分的利用了转导推理的特性,缓解了支撑集和询问集特征矛盾的情形,同时采用了多种转导推理的方法,通过迭代的方式自然将其融合在了一起,因此模型整体性能很高,在均衡小样本任务分类方法中处于领先水平。

优选地,步骤S1包括以下分步骤:

S11、选取基准数据集,将其划分为训练集、验证集和数据集,将训练集作为基类数据集,测试集作为新类数据集;

S12、对深度残差网络进行调整,得到18层的残差网络ResNet-18,将其作为分类网络;

S13、采用交叉熵作为损失函数,在基类数据集上对分类网络进行训练;

S14、将步骤S13训练后的分类网络的全连接层去掉并固定其余网络层的参数,得到训练好的分类网络。

该优选方案具有以下有益效果:采用了二阶段的训练方法训练分类网络,在性能上比传统的端到端的训练方法性能更好。

优选地,步骤S2具体包括:

利用训练好的分类网络对新类数据中的图片进行特征提取,并对支撑集和询问集重新进行定义:

S←{f

Q←{f

其中S为支撑集,Q为询问集,x为新类数据中的图片,f

该优选方案具有以下有益效果:经过步骤S1采用二阶段训练方法训练得到的分类网络在本步骤特征提取过程中不涉及网络参数的更新,有利于后续分类算法中的参数调整,减少了运算量。

优选地,步骤S3包括以下分步骤:

S31、定义相似矩阵A和相似矩阵B,A和B内的元素a

a

b

其中d(·)为一种比较相似性的函数;

S32、对相似矩阵A和相似矩阵B执行归一化操作;

S33、对相似矩阵A进行更新,更新方法如下:

其中AB为矩阵乘法,α为调整偏好的超参数,

该优选方案具有以下有益效果:对矩阵A进行更新满足了支撑集和询问集特征匹配的问题,减少了特征提取网络在不同类数据集上的表现差异,提高了模型的性能。

优选地,步骤S4具体包括:

利用步骤S33更新后的相似矩阵A进行小样本任务分类,若连续多次迭代的分类结果保持不变或此处判断次数已到上限,执行步骤S4,否则返回步骤S33。

该优选方案具有以下有益效果:若连续多次迭代的分类结果能够保持不变,就可以认为相似矩阵A的更新过程已经比较稳定,此时就可以停止A的更新进行后续步骤,设置迭代次数上限避免了算法的运行时间过长。

优选地,步骤S5包括以下分步骤:

S51、采用加权平均的方法移动调整原型:

其中,c表示该元素属于N类中的第c类,N为小样本分类任务中的分类数目,P

S52、使用域迁移操作减少支撑集S和询问集Q之间的差异:

X

其中下标s和q表明该元素属于支撑集或者询问集,|S|表示支撑集中的元素的数量,|Q|表示询问集中的元素的数量,

该优选方案具有以下有益效果:步骤S3更新完成后的A因为包含了一些询问集内部的数据特性,与原先的支撑集的内部特征(即原型)将不再一致,通过调整原型可以减缓这两者之间的矛盾,在原型移动的方法之外,还进一步使用了域迁移操作,减少了支撑集和询问集之间的差异。

优选地,步骤S6具体包括:

利用步骤S52生成的新的相似矩阵A进行小样本任务分类,若连续两次迭代的分类结果保持不变或此处判断次数已到上限,执行步骤S7,否则返回步骤S3。

该优选方案具有以下有益效果:步骤S5原型调整后会生成新的相似矩阵A,新的相似矩阵A与B可能依旧存在矛盾,需要多次迭代来尽可能的减缓二者之间的矛盾,当一轮迭代过后,相似矩阵A对应的预测标签不再发生变化时,表明二者不存在矛盾,就终止迭代,设置迭代次数上限避免了算法的运行时间过长。

附图说明

图1是本发明一种基于转导式推理的均衡小样本任务分类方法的流程图;

图2是本发明实施例中对于基类数据和新类数据的使用情况示意图;

图3是本发明实施例中相似矩阵A的更新过程示意图,其中图3(1)为A和AB分类结果一致时的更新过程示意图,图3(2)为A和AB分类结果存在分歧时的更新过程示意图;

图4是本发明实施例中的算法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

请参照图1,本发明提供了一种基于转导式推理的均衡小样本任务分类方法,该方法采取了二阶段的训练方法,采用原型调整的转导式推理的方法,并利用支撑集和询问集样本之间的相似矩阵的不断更新来解决他们内部特征不匹配的问题,从而在基准数据集miniImageNet上的取得了更好的表现,该方法包括以下步骤:

S1、选取数据集和分类网络,采用二阶段训练方法训练分类网络;

本发明实施例中,步骤S1包括以下分步骤:

S11、选取基准数据集,本实施例中选取miniImageNet作为本发明的数据集,它在小样本分类中被作为一个基准的测试数据集。miniImageNet是从ILSVRC-12(Imagenetlarge scale visual recognition challenge)中采样得到的。miniImageNet一共包含100个类别,每类600张图片。数据集被划分为三个部分:训练集,验证集以及测试集,每个类别分别包括64类,16类和20类的数据(即这三个数据集的标签空间是不重叠的),将训练集作为基类数据集,测试集作为新类数据集,两个数据集中数据的使用情况请参照图2所示;

S12、对深度残差网络进行调整,得到18层的残差网络ResNet-18,这个模型基于现有技术中的深度残差网络架构做了一些调整,首先去除了前两个下采样层,将第一个卷积层的步长设置为1,并移除第一个最大池化层。第一层的卷积核使用的是3×3的大小而不是7×7,ResNet-18有8个残差块,每个残差块中包括两个卷积层,两个批次归一化层以及一个ReLU非线性激活层。残差块中的卷积层使用的卷积核都是3×3的大小,并使用步长为1,填充为1的设置。在8个残差块之后进行全局平均池化操作,后接一个全连接层,将提取到的特征从512维映射到64维,从而达到分类效果,将其作为本发明的分类网络;

S13、采用交叉熵作为损失函数,同时采用了标签平滑策略(参数设置为0.1),优化器选用了SGD。在基类数据集上对分类网络进行训练,在训练的过程中,利用验证集的数据进行早停操作来减少过拟合的影响;

S14、将步骤S13训练后的分类网络的全连接层去掉并固定其余网络层的参数,得到训练好的分类网络,在使用新类数据进行想样本任务的分类时,用来提取小样本分类任务中的图片的特征。之后针对这些特征再执行本发明的转导式分类方法。

S2、利用步骤S1中训练好的分类网络提取小样本任务中的图片特征;

本发明实施例中,步骤S2具体包括:

利用训练好的分类网络对新类数据中的图片进行特征提取,为了描述更加清楚,对支撑集和询问集重新进行定义:

S←{f

Q←{f

其中S为支撑集,Q为询问集,x为新类数据中的图片,f

S3、对步骤S2提取的特征之间的相似矩阵进行更新;

本发明实施例中,步骤S3包括以下分步骤:

S31、定义相似矩阵A和相似矩阵B用来描述支撑集和询问集之间的元素相似度以及询问集自身内部的元素相似度,A和B内的元素a

a

b

其中d(·)为一种比较相似性的函数,此处使用的是余弦相似度;

S32、对相似矩阵A和相似矩阵B执行归一化操作,使得这些矩阵的某一行或者某一列的元素和为1,现在矩阵内部的元素可以看作是一种概率;

S33、对相似矩阵A进行更新以满足之前说明的支撑集和询问集特征匹配的问题,如果两个图片都是同一个类的话,那么这两个图片应该是比较像的。具体到小样本任务中,支撑集中的特征是有标签的,我们可以直接比较询问集样本与支撑集样本之间的相似性来分类(比如直接使用A矩阵来分类),这个分类结果应该满足的一个标准是分类到同一个类的样本之间应该较为相似(即A与B之间应该有某种对应关系),利用如下的更新方法来强化这种对应关系:

其中AB为矩阵乘法,α为调整偏好的超参数,在实际代码实现的时候,α待选列表为(0.1,0.3,0.5,0.7,0.9,1.1,1.3,1.5,1.7,1.9,2.1,2.3,2.5),通过测试比较这些不同的α在训练集(基类数据)上的效果来选择出一个最佳的超参数,

本步骤中的更新过程请参照图3所示,其中浅色的圆圈表示支撑集样本,深色的圆圈表示询问集样本,浅色箭头代表着相似矩阵A中权重较大的一部分,深色箭头表示相似矩阵B中权重较大的部分,弯曲的箭头表示矩阵A和B相乘后权重较大的部分。A和AB都能表示支撑集和询问集之间的相似性,当这两者之间的分类结果是一致的时候,情况如图3(1)中所示,更新过程不会过分影响A的概率分布,当这两者存在分歧的时候,情况如图3(2)中所示,更新过程会使得A逐渐变化,直至A与AB相互对应。

这种操作的合理性在于,AB实际上表意和A一样,也是支撑集样本与询问集样本之间的相似性。但是A是直接进行了比较,而AB则是将某个支撑集样本和询问集样本同时与全体询问集样本进行比较,然后将这些概率加权求和得到该支撑集样本与该询问集样本之间的相似性,是一种全概率定理的使用。简单来说,A是直接的,AB是间接的。因此,经过更新之后,会使得相似矩阵A开始包含B中的一些因素,从而达到支撑集与询问集特征相互匹配的目的。

S4、判断步骤S3中更新后的相似矩阵是否符合预设要求,若是,执行步骤S5,否则返回步骤S3;

本发明实施例中,步骤S4具体包括:

利用步骤S33更新后的相似矩阵A进行小样本任务分类,若连续三次迭代的分类结果保持不变或此处判断次数已到上限20次,执行步骤S5,否则返回步骤S33。即利用更新后的A来产生分类结果,如果连续三次的迭代的分类结果能够保持不变,那么就认为这个更新过程已经比较稳定,然后停止A的更新,输出更新好的A。

S5、利用步骤S3中更新好的相似矩阵调整支撑集输出的原型特征,并生成新的相似矩阵;

对于一个N-way K-shot小样本分类任务来说,N的典型数值是5,K的典型数值是1或5。即我们一般进行5分类任务,每类将会给出1个或者5个带标签的样本。如果直接使用比较向本之间的相似度来进行分类,那么我们需要为这N个类的每个类确定一个类中心。如果K为1,那么这个带标签的样本就可以看作是类中心,如果K为5,一般的做法是将这五个特征的均值作为类中心。类中心又称为这个类的原型。我们在步骤S22中的公式通过度量函数来进行分类,实际上就是使用这些原型与询问集内部的样本进行比较。

本发明实施例中,步骤S5包括以下分步骤:

S51、更新完成后的相似矩阵A因为包含了一些询问集内部的数据特性,与原先的支撑集的内部特征(即原型)将不再一致,因此通过调整原型的方式来减缓这两者之间的矛盾,采用加权平均的方法移动调整原型,以满足新的相似矩阵A:

其中,c∈[1,N]且为整数,表示该元素属于N类中的第c类,N为小样本分类任务中的分类数目,P

S52、除了原型移动的方法,进一步使用域迁移操作减少支撑集S和询问集Q之间的差异:

X

其中下标s和q表明该元素属于支撑集或者询问集,|S|表示支撑集中的元素的数量,|Q|表示询问集中的元素的数量,

该步骤比较了支撑集和询问集之间的均值差异,然后将询问集加上这个均值差异,经过此步骤调整后的询问集和支撑集之间的均值就相等了。

S6、判断步骤S5中生成的新的相似矩阵是否符合预设要求,若是,执行步骤S7,否则返回步骤S3;

本发明实施例中,步骤S6具体包括:

利用步骤S52生成的新的相似矩阵A进行小样本任务分类,若连续两次迭代的分类结果保持不变或此处判断次数已到20次,执行步骤S7,否则返回步骤S3。

原型调整之后会生成新的矩阵A,新的矩阵A与B可能依旧存在矛盾,因此这里天然存在一个迭代的过程。我们为这个迭代设置了一个上限:当一轮迭代过后,A矩阵对应的预测标签不再发生变化时,就终止迭代。为了避免算法的运行时间过长,人为地为循环次数设置了一个上限,内外的最大循环次数都是20。

S7、利用步骤S5生成的相似矩阵进行均衡小样本任务分类。

请参照图4,用l(A)表示矩阵A对应的预测结果:

①用S和Q计算出相似矩阵A,B

②利用步骤S31和S51的公式计算A

③利用新的原型P′

④执行公式

⑤若

⑥执行公式

⑦若l(A

⑧输出l(A

其中终止条件1是使用A矩阵作分类预测,分类预测的结果连续三次不变或者在此处判定次数到达20次。终止条件2是使用A矩阵做分类预测,分类结果连续两次不变或者在此处的判定次数到达20次。

本发明中的方法与一些经典的算法在基准数据集miniImageNet上的性能的比较如表1所示。

表1

从表1中可以看出,相较于现有技术中的常用算法,本发明在基准数据集miniImageNet上的性能达到了领先的水平。

本领域的普通技术人员将会意识到,这里所描述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号