一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于小样本持续学习的图像分类方法、装置及存储介质与流程

2021-12-08 00:32:00 来源:中国专利 TAG:


1.本技术涉及计算机算法领域,尤其涉及一种基于小样本持续学习的图像分类方法。


背景技术:

2.图像分类是根据目标在图像信息中反映出的不同特征,把不同类别的目标区分开的一种图像处理方法。深度神经网络能够很好的提取图像的特征,并能自动的学习图像的特征来进行分类。
3.对于图像信息不断增加,图像分类任务持续改变的情形,我们希望机器具备和人类一样持续学习的能力,能够完成新的分类任务。但是,目前的深度学习模型一旦被用于学习新任务,虽然可能在新任务上取得比较高的正确率,但是往往严重遗忘甚至彻底遗忘旧任务,这种遗忘被称为灾难性遗忘。
4.为了解决灾难性遗忘的问题,提出了持续学习的概念,目标是用同一个模型连续学习多个任务而不会遗忘之前学习过的任务。目前的持续学习分为基于网络架构修改的持续学习、基于回放的持续学习以及基于正则化的持续学习。然而,基于网络架构修改的持续学习往往需要在测试时提供任务的编号,这不符合现实生活中的大部分情形;基于回放的持续学习需要一部分额外的内存来存储回放样本,在具有海量类别的情况下这种方法性能显著下降;而基于正则化的持续学习一方面可能限制了模型迁移能力,即学习新任务的能力,另一方面在很多实验中的正确率并不令人满意。
5.还有在一些图像数据收集困难的领域,例如医学领域,不能提供大量的样本进行训练学习,只能采用小样本数据集,小样本学习应用于学习样本不充足的情形,初始阶段模型有一个较大的基本训练集,之后学习每个新类的时候每一类只能学习到极少数的样本。小样本学习旨在提高模型在新学类别上的学习能力,而不在乎初始阶段学习的基本训练集的正确率。这与人的学习大相径庭。人学习新任务时已经有一定的其他知识的储备,但新任务的学习不会大量影响到旧任务的记忆。
6.目前,有一部分研究开始关注小样本学习中的初始训练集的正确率。这些研究有的根据初始训练集产生虚拟任务来通过元学习训练新任务的分类器,虽然被称为小样本持续学习,但是不符合持续学习的情境与定义。按照记忆机制,在持续学习新样本的时候,无论是对于已有的初始训练集的记忆还是对已学习到的新类的记忆,都要避免灾难性遗忘。


技术实现要素:

7.针对上述问题,本技术提供了一种基于小样本持续学习的图像分类方法、装置及系统。本技术的技术方案如下:
8.根据本技术实施例的第一方面,提供一种基于小样本持续学习的图像分类方法,包括:
9.s1,获取图片样本数据集,所述样本数据集包括用于预训练的大样本数据集和多
个用于新任务训练的小样本数据集;
10.s2,通过所述大样本数据集对模型进行训练,并存储每个类别的特征中心以及回放样本;
11.s3,通过所述小样本数据集以及存储的每个类别的特征中心以及回放样本对模型进行训练,并计算模型分类器的多个损失;
12.s4,将多个所述损失加权求得总的损失函数,通过梯度下降算法对模型进行更新,模型更新后,存储每个类别的特征中心以及回放样本;
13.s5,重复步骤s3和步骤s4,直到所有新任务的小样本数据集学习完成,得到最终的模型分类器。
14.根据本技术实施例的第二方面,提供一种采用基于记忆机制的小样本持续学习的图像分类装置,包括:
15.获取模块,用于获取图片样本数据集,所述样本数据集包括用于预训练的大样本数据集和多个用于新任务训练的小样本数据集;
16.第一训练模块,用于通过所述大样本数据集对模型进行训练,并存储每个类别的特征中心以及回放样本;
17.第二训练模块,通过所述小样本数据集对模型进行训练,并计算模型分类器的多个损失;
18.模型更新模块,将多个所述损失加权求得总的损失函数,通过梯度下降算法对模型进行更新,模型更新后,存储每个类别的特征中心以及回放样本;
19.重复求解模块,用于重复执行第二训练模块和模型更新模块,直到所有新任务的小样本数据集学习完成,得到最终的模型分类器。
20.根据本技术实施例的第三方面,提供一种电子设备,包括:
21.处理器;
22.用于存储所述处理器可执行指令的存储器;
23.其中,所述处理器被配置为执行所述指令,以实现上述第一方面所述的基于小样本持续学习的图像分类方法。
24.根据本技术实施例的第四方面,提供一种存储介质,当所述存储介质中的指令被处理器执行时,能够实现上述第一方面所述的基于小样本持续学习的图像分类方法。
25.本技术的实施例提供的技术方案至少带来以下有益效果:
26.本技术实施例的基于小样本持续学习的图像分类方法,更加符合人的学习与记忆过程,设置了随机回放样本以及难学习回放样本两种回放,有助于模型巩固对于之前学习任务的记忆,从而避免灾难性遗忘问题;根据大脑存储与处理长期记忆、短期记忆的不同模式,存储回放样本与类别特征均值两种数据,更具有可解释性;同时考虑到小样本数据集的两种情形,具备兼容性、普遍性;通过计算新样本到类别中心的距离来判断样本的类别,由此解决小样本持续学习中容易出现过拟合的情况,具有较强的迁移能力;还有需要存储的样本容量固定,而需要存储的类别中心数据可以忽略不计。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
28.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。
29.图1是根据一示例性实施例示出的基于小样本持续学习的图像分类方法的流程图。
30.图2是根据一示例性实施例示出的基于记忆机制的小样本持续学习方法框架图;
31.图3是根据一示例性实施例示出的任务边界分明的情形示意图;
32.图4是根据一示例性实施例示出的无任务边界的情形示意图;
33.图5是根据一示例性实施例示出的基于小样本持续学习的图像分类装置框图。
具体实施方式
34.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
35.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
36.相关技术中,定义了小样本持续学习(few

shot class

incremental learning,fscil)的问题,并提出了基于神经气体解决该问题的框架。但是,神经气体的解决方法虽然可以比较好的避免灾难性遗忘以及提高新任务学习的迁移能力,但是与人的学习习惯与记忆行为相去甚远,不具备可解释性。同时,定义的fscil的问题没有考虑到现实生活中的任务学习是不具备相似的分布、流式出现的。因此,定义一个与记忆机制类似的小样本持续学习的情境并且给出解决问题的框架至关重要。
37.图1是根据本技术实施例示出的一种基于小样本持续学习的图像分类方法的流程图,所述方法可以包括如下步骤。
38.需要说明的是,本技术实施例定义的小样本持续学习问题如下:
39.在开始小样本持续学习之前,神经网络模型已经在一部分类别的大量样本上训练过了。用已经经过预训练的神经网络模型进行小样本持续学习,每一个任务有部分新类别,新类别与预训练的类别不重复。在小样本持续学习的过程中,每个新类别只能学习到极少数的m个训练样本。训练完n个新任务之后模型完成训练得到最终的模型。此过程中,既需要保证模型在持续学习过程中学习到的新类别上的正确率,又要保证模型在预训练的类别上的正确率。
40.本技术提出的基于记忆机制的小样本持续学习方法的框架如图2所示。参见所述图2,本方法的数据集包括两个,数据集1为大量样本预训练需要的数据集,数据集2为小样本持续学习数据集。主要的步骤包括预训练、存储样本信息、计算新模型损失以及更新新模型。学习过程中需要存储的内容包括训练过程中的记忆信息以及训练得到的最终模型。存
储的记忆信息包括每种类别的特征中心以及一部分真实样本。此处存储的真实样本分为两部分,一部分是每类随机选出的样本,另一部分是学习过程中比较难于学习的样本。
41.上述存储机制类似于记忆的过程,在复习阶段,每种类别均会复习一部分样本以保证不会忘却任何一种类别,同时,会将一部分比较难以学习的样本记录下来着重复习。另外,对于每个类别既存储样本又存储特征中心的方法类似于人脑处理记忆信息的模式,人脑将一部分短期记忆存储在海马复合体,而内侧前额叶皮层用于存储长期记忆。各个类别的均值中心正好像经过处理的记忆信息,是对已有的所学样本的记忆,相当于存储在前额叶皮层的长期记忆,而存储的一部分原始样本,相当于是短期记忆。
42.综上所述,本技术提出的解决小样本持续学习问题的框架参考了大脑学习与记忆的原理,可以有效避免灾难性遗忘与学习过程中迁移性差的问题。
43.根据上述框架,本技术实施例的所述基于小样本持续学习的图像分类方法,可以包括如下步骤:
44.在步骤101中,获取图片样本数据集,分为用于预训练的大样本数据集和多个用于新任务训练的小样本数据集;
45.在本实施例中,将现有的数据集,例如,cub(caltech

ucsd birds

200

2011,加州理工学院鸟类200

2011数据集)、cifar100数据集、tiny imagenet数据集进行拆分使之适用于本技术提出的小样本持续学习的情境。将数据集的40%

60%的类别设为预训练的大样本类别,剩下的样本类别每类选出少量(小于50个)样本作为小样本持续学习的新任务样本训练集。这些新任务样本按照有任务边界与无任务边界两种情况进行区分,即分为几个任务依次出现或是一个一个任务随机出现。
46.在本技术实施例中,将小样本持续学习的场景分为两种。第一种为任务边界分明的情况,第二种为无任务边界的情况,即新任务中各个类别的样本流式出现(一个接一个随机出现)。这两种情况分别如图3与图4所示。
47.在图3中,通过大量样本类别预训练的任务被记作task 0,之后小样本持续学习的任务被记为task 1

taskn。每一个任务单独出现,在学习当前任务时,当前任务所有的样本都可以访问,但之前任务的样本与预训练的样本不可以访问。但是,在训练过程中可以选出有限的样本加入记忆库,记忆库固定容量,学习过程中随时可以访问。在这种情况下,任务挨个出现、边界分明,每个任务的样本类别无交集。
48.图4中,小样本持续学习阶段的新任务样本挨个随机出现。图4情形与图3情形的不同在于,图4中除了预训练阶段之外,其他所有的新样本随机出现,没有确定的任务边界。新类别的样本一个接一个出现,训练时不能访问之前出现过的样本,但同样可以将部分样本加入固定容量的记忆库,记忆库中的样本可以在学习过程中随时访问。
49.针对两种新任务场景的具体的问题描述如下:
50.1)任务边界分明的情况
51.假设一共n 1个学习任务,其中第一个为大量样本的预训练任务,之后的n个为小样本持续学习的新任务。整体的训练数据集为其中,为第t个任务的训练数据集。为第t个任务样本的总数,
为第t个任务的第j个样本的图片,为第t个任务的第j个样本的类别标记。
52.由于预训练的数据集中的数据量大大的大于之后的小样本学习的数据量,因此,数据集需要满足:本技术中用l
(t)
表示第t个任务训练数据的类别,此处要求每个任务中学到的类别不重合,即
53.2)无任务边界的情况
54.预训练的数据集为小样本持续学习的数据集记为与任务边界分明的情况中的任务相比,此处的持续学习任务中,所有任务没有明确的边界,新类别的样本一个接一个的随机出现。如果用l
(0)
表示预训练数据集中数据的类别,l
(i)
表示持续学习数据集中数据的类别,那么预训练与持续学习训练中的类别不重合。
55.例如,通过数据集训练学习模型分类器θ,使之一方面不产生灾难性遗忘(保证在预训练类别以及当前已经学习的新类上的正确率),另一方面,面对新学习类别的少量数据,分类器θ不会产生过拟合的现象。
56.在步骤102中,通过所述大样本数据集对模型分类器进行训练,并存储每个类别的特征中心、难学样本以及随机样本。
57.本实施例选用resnet18网络结构作为模型分类器,训练所述预训练数据集模型可以记作
[0058][0059]
g(z
i
)=y
i
[0060]
其中,为特征提取器,将样本x
i
的特征提取为z
i
,在模型层面可以理解为除了全连接层的最后一层以外的模型。g是线性分类器,用于将提取出的特征z
i
,映射到样本的类别logits(即最后一层输出,也是softmax的输入)输出y
i
,再通过softmax函数最终得到可能类别。
[0061]
其中,每个类别c的特征中心μ
c
,所述难学样本用于回放、所述随机样本用于回放。
[0062]
在一些实施例中,每个类别的特征中心μ的计算方法:
[0063]
对于预训练样本集合中的类别c,计算该类别对应的特征中心:
[0064][0065]
其中,d
c
是c类的样本图片集合,满足:是c类的样本图片集合,满足:如上文所述,是模型的特征提取部分。将计算出的μ
c
向量存储下来。
[0066]
对于task0之后的样本,对于任务边界清晰的情况,计算类别的特征中心的步骤相同,可以在每个任务学习完之后进行。公式中的不同之处在于,对于任务t,
[0067]
然而,对于没有任务边界的流式学习情况,计算类别的特征中心的公式需要实时根据新样本更新:
[0068]
|d
c
|=|d
c

| 1
[0069][0070][0071]
其中,x为当前出现的样本且对应的y=c,d
c

为样本x出现之前c类样本的集合,此处只需要记录总数|d
c

|。μ

c
为样本x出现之前c类样本的特征均值。μ
c
与|d
c
|为调整后的类别均值与数量。
[0072]
相比图片数据而言,μ
c
只要存储浮点型向量并且每一类只需要存储一个向量,需要的额外容量可以忽略不计。
[0073]
在一些实施例中,每个类别的随机样本集的计算方法如下:
[0074]
采用随机选中的方法存储样本到集合x
rand
。固定所有类别可以存储的总样本数为m。首先计算每类可以存储的样本数目m
c
=m/|c|。对于出现的新样本(x,y=c),若c类实际存储的样本数小于m
c
,则直接存入,若大于或等于m
c
,则通过生成随机数判断是否替代原有样本中的一个,或者放弃该样本(x,y)。
[0075]
在一些实施例中,每个类别的难学习样本集的计算方法如下:
[0076]
本实施例中,样本学习的难易程度通过学习该样本后,通过在x
rand
集合上的分类损失函数的上升数值来判断。损失函数的上升数值大的,意味着与该样本为易混淆样本,对于已有知识的影响比较大。如果损失函数的上升数值δl大于某一阈值,则可以将该样本存入难学习样本集x
diff
。难学习样本集中根据上升数值δl排序,如果已经存满则将δl最小的样本丢弃。
[0077]
在步骤103中,通过所述小样本数据集以及之前存储的每个类别的特征中心以及回放样本对模型进行训练,并计算模型的多个损失;
[0078]
所述损失包括回放样本分类损失、特征提取偏移损失以及新任务分类损失。
[0079]
其中,所述回放样本分类损失l
replay
、特征提取偏移损失l
deviation
以及新任务分类损失l
classification
的计算方法如下:
[0080]
在一些实施例中,通过计算当前模型在随机样本集合x
rand
与难学样本集合x
diff
上的类别输出logits与之前存储的logits之间的欧几里得距离得到所述回放样本分类损失l
replay

[0081][0082]
其中,为当前学习得到的模型分类器以及特征提取器;为学习完回放样本x时的模型分类器以及特征提取器。此处为了节省存储,可以不用记录模型,只需要记
录回放样本对应的logits即可。
[0083]
在一些实施例中,对于每个类别,均记录了该类别的特征中心,为了避免特征提取器偏移太大,此处采用特征提取偏移损失来限制特征提取器的改变。每个样本(x,y)的特征提取偏移损失l
deviation
的计算公式为:
[0084][0085]
其中,μ
c
为存储的c类样本的特征均值,为当前特征提取器。
[0086]
在一些实施例中,计算所述新任务分类损失l
classification
;针对有任务边界的情况,可以一批一批计算损失函数:
[0087][0088]
其中,b为一个批次的样本数量,i为当前样本编号,c为当前类别,c为总的类别数目,当样本i属于真实类别为c时,y
ic
=1,否则y
ic
=0,p
ic
为softmax层输出的样本i属于类别c的概率。本技术中输入softmax层的数据为样本特征到各类特征目前存储的中心的距离,而非logits输出。针对流式学习的情况,需要对于单个样本计算。单个样本的损失函数计算公式为交叉熵函数:
[0089][0090]
其中,x
i
为当前样本,i为当前样本编号,c为当前类别,c为总的类别数目,当样本i属于类别c时,y
ic
=1,否则y
ic
=0,p
ic
为softmax层输出的样本i属于类别c的概率。
[0091]
在步骤104中,将多个所述损失加权求得总的损失函数,通过梯度下降算法对模型进行更新,模型更新后,存储每个类别的特征中心、难学样本以及随机样本;
[0092]
在步骤105中,重复步骤103和步骤104,直到所有新任务的小样本数据集学习完成,得到最终的模型分类器。
[0093]
本技术提出了基于记忆机制的小样本持续学习方法更加符合人的学习与记忆过程的小样本持续学习情境,该学习情境应用于机器学习领域时,与对不断发展、日新月异的学习需求相符合。并且,本技术将小样本持续学习分为两种情况,既包含了任务边界明显的持续学习的情境,又包含了任务边界模糊的流式学习情境,使其更具备兼容性、普遍性。
[0094]
本技术方法根据人的学习记忆原理,针对该小样本持续学习的情境设计了一种持续学习的方法。根据人的复习行为与难题整理行为,本技术方法设置了随机回放样本以及难学习回放样本两种回放,有助于模型巩固对于之前学习任务的记忆,从而避免灾难性遗忘。另一方面,根据大脑存储与处理长期记忆、短期记忆的不同模式,本技术分别存储回放样本与类别特征均值两种数据。综上,本技术的方法更具有可解释性。
[0095]
本技术通过计算新样本到类别中心的距离来判断样本的类别,由此解决小样本持续学习中容易出现过拟合的情况。由此,学习新任务时,具有较强的迁移能力。
[0096]
本技术需要存储的样本容量固定,而需要存储的类别中心数据可以忽略不计。因此,对于不断增长的任务数,该方法需要的存储空间几乎不变。对于不断增长的任务数量,本技术的网络架构、模型参数数量也几乎不变。
[0097]
图5是根据本技术实施例示出的一种采用基于记忆机制的小样本持续学习的图像分类装置框图。参照图5,该装置包括获取模块510、第一训练模块520、第二训练模块530、模型更新模块540和重复求解模块550。
[0098]
获取模块510,用于获取图片样本数据集,所述样本数据集包括用于预训练的大样本数据集和多个用于新任务训练的小样本数据集;
[0099]
第一训练模块520,用于通过所述大样本数据集对模型进行训练,并存储每个类别的特征中心以及回放样本;
[0100]
第二训练模块530,用于通过所述小样本数据集以及存储的每个类别的特征中心以及回放样本对模型进行训练,并计算模型分类器的多个损失;
[0101]
模型更新模块540,将多个所述损失加权求得总的损失函数,通过梯度下降算法对模型进行更新,模型更新后,存储每个类别的特征中心以及回放样本;
[0102]
重复求解模块550,用于重复执行第二训练模块和模型更新模块,直到所有新任务的小样本数据集学习完成,得到最终的模型分类器。
[0103]
本技术实施例示出的一种电子设备,包括:
[0104]
处理器;
[0105]
用于存储所述处理器可执行指令的存储器;
[0106]
其中,所述处理器被配置为执行所述指令,以实现上述第一方面所述的基于小样本持续学习的图像分类方法。
[0107]
本技术实施例示出的一种存储介质,当所述存储介质中的指令被处理器执行时,能够实现上述第一方面所述的基于小样本持续学习的图像分类方法。
[0108]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献