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

一种基于对比类别集中提升连续学习下图分类精度的方法与流程

2021-10-27 20:53:00 来源:中国专利 TAG:下图 精度 视觉 类别 提升


1.本发明涉及计算机视觉处理,尤其涉及一种基于对比类别集中提升连续学习下图分类精度的方法。


背景技术:

2.类增长学习作为连续学习的一种,在工业界以及学界都受到了越来越多的关注。其学习过程不像传统的深度学习范式一样使用全部图片数据来训练模型,而是基于新加入类别数据来连续的更新模型参数且在更新的过程中不再使用过去的数据的学习方式,其更贴近企业数据的更新和淘汰情况。然而,单纯的基于新类别数据微调现有模型会导致模型对于老类别图片的分类精度有明显的下降。我们把这种现象叫做“灾难性遗忘”。
3.现阶段尝试阻止灾难性遗忘的主要策略是通过基于知识蒸馏的方法来保存过去模型所获得的知识,并放宽限制,设置有限的内存容量,在有限的内存中保存少量过去的类别图片数据来减缓灾难性遗忘。然而,在使用知识蒸馏的过程中,我们发现模型的表征在连续学习的过程中会发生新类别覆盖旧类别的现象。我们称其为“表征覆盖”。而这样的表征覆盖则很大程度上影响了模型在连续学习过程中对新老类别图片的分类精度。我们认为影响类增长学习过程中模型表征覆盖的原因主要有两点。其中一点是受限的内存容量,其次则是模型在连续学习过程中对相同类别表征的聚类能力。当内存容量增加时,更多的过去数据可以被保存,在新类别数据加入时,可以通过这些老类别来缓解表征层面的覆盖。然而由于内存容量受到限制,并且带入内存还会导致新老类别数据不平衡以及老类别数据利用率低等问题。这也使得许多基于内存设置的类增长学习方法不能用在无内存的基础框架上。


技术实现要素:

4.本发明的目的是为了克服现有技术的不足,提供一种基于对比类别集中提升连续学习下图分类精度的方法。
5.本发明具体通过以下技术方案实现:
6.一种基于对比类别集中提升连续学习下图分类精度的方法,用于对已经过历史数据训练的图分类模型进行类增长学习,所述图分类模型由特征提取器和分类器组成,其具体方法如下:
7.s1:获取加入新类别的图像分类数据集,图像分类数据集中每个样本均带有其类别标签;
8.s2:获取所述图分类模型在上一轮训练过程中进行参数更新前的旧模型和参数更新后的新模型,然后利用加入新类别的图像分类数据集构建训练数据,按照 s21~s25进行本轮训练;
9.s21:将训练数据输入所述新模型的特征提取器中提取第一样本表征,在真实类别标签监督下计算对比误差损失,用于聚合相同类别样本的表征同时拉远不同类别样本的表
征;
10.s22:将训练数据输入所述旧模型的特征提取器中提取第二样本表征,对所述第一样本表征和第二样本表征进行表征层面的蒸馏并计算表征蒸馏误差损失,用于从表征层面保存模型知识的同时保证表征空间相对稳定;
11.s23:基于所述的第一样本表征,通过所述新模型的分类器进行类别预测得到第一预测类别概率,并计算交叉熵损失;
12.s24:基于所述的第一样本表征,通过所述旧模型的分类器进行类别预测得到第二预测类别概率,并计算第一预测类别概率和第二预测类别概率之间的均方误差损失;
13.s25:以所述对比误差损失、表征蒸馏误差损失、交叉熵损失和均方误差损失之和作为对比类别集中误差损失,通过最小化该对比类别集中误差对所述新模型进行参数优化更新;
14.s3:保存本轮参数更新前的旧模型和参数更新后的新模型,并在进行下一轮训练之前利用本轮参数更新后的新模型进行图分类任务。
15.作为优选,通过内存存储所述图分类模型在训练过程中输入的不同类别的训练样本;其中每一轮训练开始时,将加入新类别的图像分类数据集与内存中存储的所有不同类别的训练样本一起作为训练数据对模型进行训练,每一轮训练结束后,通过随机采样的方式从本轮所输入的训练数据中选择部分属于新类别的样本放入内存中,同时从内存中的每个旧类别中移除固定数量的样本,从而保持内存总容量不变的同时增加类别数。
16.作为优选,所述训练数据在用于本轮训练之前,预先经过数据增广以扩充样本量。
17.进一步的,所述数据增广方式包括随机的切割、翻转、对比度和灰度调整。
18.在上述任一技术方案的基础上,作为进一步优选,所述s21的具体实现步骤如下:
19.s211:将当前第t轮训练对应的训练数据d
(t)
输入所述新模型m
(t)
中,使用内部的特征提取器e
θ(t)
获得训练数据d
(t)
中每一个样本x
i(t)
的特征r
i(t)
,所有样本的特征构成第一样本表征r
(t)

20.s212:基于第一样本表征r
(t)
中每个特征所对应的类别标签,计算每个特征与其他特征之间的相似性;所述相似性使用点乘之后取二范数来表示,任意两个特征r
i(t)
和r
j(t)
之间的相似性s(x
i(t)
,x
j(t)
)计算公式为:
[0021][0022]
式中:||
·
||表示二范数;
[0023]
s213:将相同类别样本的特征视为正样本,不同类别样本的特征作为负样本,通过计算对比误差损失来聚合相同类别样本的表征同时拉远不同类别样本的表征;所述对比误差损失函数公式为:
[0024][0025]
其中:b为输入的训练数据d
(t)
中的样本个数,为训练数据d
(t)
中除样本x
i(t)
之外的其余样本的索引集合。
[0026]
进一步的,所述s22的具体实现步骤包括:
[0027]
s221:将当前第t轮训练对应的训练数据d
(t)
输入所述旧模型m
(t

1)
中,使用内部的特征提取器e
θ(t

1)
获得训练数据d
(t)
中每一个样本x
i(t)
的特征r
i(t

1)
,所有样本的特征构成第二样本表征r
(t

1)

[0028]
s222:结合所述第一样本表征r
(t)
和第二样本表征r
(t

1)
进行表征层面的蒸馏,计算表征蒸馏误差损失计算公式为:
[0029][0030]
其中:表示训练数据d
(t)
中所有样本的索引集合。
[0031]
进一步的,所述s23的具体实现步骤包括:
[0032]
s231:将前述的第一样本表征r
(t)
输入前述新模型m
(t)
中的分类器中进行分类预测,获得当前训练数据中各样本的第一预测类别概率;
[0033]
s232:结合训练数据d
(t)
中各样本的第一预测类别概率和真实标签,计算交叉熵损失
[0034]
进一步的,所述s24的具体实现步骤包括:
[0035]
s241:将第二样本表征r
(t

1)
输入所述旧模型m
(t

1)
中的分类器中进行分类预测,获得当前训练数据的第二预测类别概率;
[0036]
s242:基于训练数据d
(t)
中各样本的第一预测类别概率和第二预测类别概率, 计算均方误差损失计算公式为:
[0037][0038]
式中:和分别表示样本x
i(t)
的第一预测类别概率和第二预测类别概率,n
(t)
表示引入本轮类增长学习后的图片分类类别总数,mse表示计算均方误差。
[0039]
进一步的,所述s25的具体实现步骤包括:
[0040]
s251:将s21~s24中的四种损失进行加和,得到总的对比类别集中误差损失
[0041][0042]
s252:以最小化所述对比类别集中误差损失为目标,对所述新模型进行网络参数优化,完成本轮模型训练。
[0043]
作为优选,所述特征提取器为resnet32网络。
[0044]
相对于现有技术而言,本发明具有以下有益效果:
[0045]
传统的类增长学习都是通过知识蒸馏的方式减缓灾难性遗忘来提高模型在图片上的分类精度,或者通过更好的优化设置内存带来的数据不平衡和数据利用率问题来减缓灾难性遗忘从而提高模型的图片分类精度。而本发明则另辟蹊径,从模型的表征层面着手,通过利用对比学习所特有的类集中方式利用类别信息进行表征聚类从而缓解了表征覆盖
提高了模型的分类精度。本发明的方法不受内存数据影响,实验表明不论是在有内存的设置下还是在无内存的设置下,该方法都提高了模型在连续学习下的精度。
附图说明
[0046]
图1为基于对比类别集中来提高模型在连续学习中的图片分类精度的方法的流程图。
[0047]
图2为本发明在连续学习过程中的表征分布与之前方法的对比结果。图3为一种在有内存的设置下结合数据增广的类增长学习框架示意图。图4为本发明与之前方法在表征层面的类覆盖情况对比结果。
具体实施方式
[0048]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0049]
本发明提供了一种基于对比类别集中提升连续学习下图分类精度的方法,适用于在模型应用过程中依然不断有加入新类别的数据产生状态下的类增长学习。该方法既可以用于有内存的设置下对图分类模型进行类增长学习,也可以用于无内存的设置下对图分类模型进行类增长学习。需说明的是,本发明中的图分类模型基本结构由特征提取器和分类器组成,具体的网络结构不限。在本发明的后续实施例中前述特征提取器采用resnet32网络。
[0050]
下面分别对两种方式的具体实现过程进行展开说明。
[0051]
如图1所示,在本发明的一个较佳实施例中,提供了一种基于对比类别集中提升连续学习下图分类精度的方法,用于无内存的设置下对已经过历史数据训练的图分类模型进行类增长学习,其具体过程如下:
[0052]
s1:从新产生的数据流中获取加入新类别的图像分类数据集,图像分类数据集是由众多图像样本组成的,每个样本均带有其类别标签,作为模型训练的真值。加入新类别的图像分类数据集中存在原来的图分类模型中没有的图片类别,因此需要重新训练图分类模型。
[0053]
s2:由于该图分类模型在本轮训练之前已经经过了训练,因此先获取图分类模型在上一轮训练过程中进行参数更新前的旧模型和参数更新后的新模型,旧模型和新模型的网络结构是完全相同的,其区别仅在于新模型中的网络参数在上一轮训练过程中被更新了。当获取新模型和旧模型后,利用加入新类别的图像分类数据集直接作为本轮训练所需的训练数据。
[0054]
当得到本轮的训练数据后,即可按照s21~s25进行当前轮训练,为了便于描述我们将当前的训练轮数记为第t轮,第t轮训练对应的训练数据记为d
(t)
,新模型记为m
(t)
,旧模型记为m
(t

1)
。下面对s21~s25的具体训练过程详述如下:
[0055]
s21:将训练数据输入前述新模型的特征提取器中提取第一样本表征,在真实类别标签监督下计算对比误差损失,用于聚合相同类别样本的表征同时拉远不同类别样本的表征。在本实施例中,该步骤的具体实现过程如s211~s213所示:
[0056]
s211:将当前第t轮训练对应的训练数据d
(t)
输入前述新模型m
(t)
中,使用内部的特
征提取器e
θ(t)
获得训练数据d
(t)
中每一个样本x
i(t)
的特征r
i(t)
,所有样本的特征构成第一样本表征r
(t)

[0057]
s212:基于第一样本表征r
(t)
中每个特征所对应的类别标签,计算每个特征与其他特征之间的相似性;前述相似性使用点乘之后取二范数来表示,任意两个特征r
i(t)
和r
j(t)
之间的相似性s(x
i(t)
,x
j(t)
)计算公式为:
[0058][0059]
式中:||
·
||表示二范数;
[0060]
s213:将相同类别样本的特征视为正样本,不同类别样本的特征作为负样本,通过计算对比误差损失来聚合相同类别样本的表征同时拉远不同类别样本的表征;前述对比误差损失函数公式为:
[0061][0062]
其中:b为输入的训练数据d
(t)
中的样本个数,为训练数据d
(t)
中除样本x
i(t)
之外的其余样本的索引集合。
[0063]
s22:将训练数据输入前述旧模型的特征提取器中提取第二样本表征,对前述第一样本表征和第二样本表征进行表征层面的蒸馏并计算表征蒸馏误差损失,用于从表征层面保存模型知识的同时保证表征空间相对稳定。在本实施例中,该步骤的具体实现过程如s221~s222所示:
[0064]
s221:将当前第t轮训练对应的训练数据d
(t)
输入前述旧模型m
(t

1)
中,使用内部的特征提取器e
θ(t

1)
获得训练数据d
(t)
中每一个样本x
i(t)
的特征r
i(t

1)
,所有样本的特征构成第二样本表征r
(t

1)

[0065]
s222:结合前述第一样本表征r
(t)
和第二样本表征r
(t

1)
进行表征层面的蒸馏,计算表征蒸馏误差损失来减少表征的相对空间在连续学习过程中的变化,从而更好的缓解了模型的在表征层面的表征覆盖,计算公式为:
[0066][0067]
其中:表示训练数据d
(t)
中所有样本的索引集合。
[0068]
s23:基于前述的第一样本表征,通过前述新模型的分类器进行类别预测得到第一预测类别概率,并计算交叉熵损失。在本实施例中,该步骤的具体实现过程如s231~s232所示:
[0069]
s231:将前述的第一样本表征r
(t)
输入前述新模型m
(t)
中的分类器中进行分类预测,获得当前训练数据中各样本的第一预测类别概率;
[0070]
s232:结合训练数据d
(t)
中各样本的第一预测类别概率和真实标签,计算交叉熵损失
[0071]
s24:基于前述的第一样本表征,通过前述旧模型的分类器进行类别预测得到第二预测类别概率,并计算第一预测类别概率和第二预测类别概率之间的均方误差损失。在本实施例中,该步骤的具体实现过程如s241~s242所示:
[0072]
s241:将第二样本表征r
(t

1)
输入前述旧模型m
(t

1)
中的分类器中进行分类预测,获得当前训练数据的第二预测类别概率;
[0073]
s242:基于训练数据d
(t)
中各样本的第一预测类别概率和第二预测类别概率, 计算均方误差损失来保存新模型的分类器对过去类别的知识,计算公式为:
[0074][0075]
式中:和分别表示样本x
i(t)
的第一预测类别概率和第二预测类别概率,n
(t)
表示引入本轮类增长学习后的图片分类类别总数,mse表示计算均方误差。
[0076]
s25:以前述对比误差损失、表征蒸馏误差损失、交叉熵损失和均方误差损失之和作为对比类别集中误差损失,通过最小化该对比类别集中误差对前述新模型进行参数优化更新。在本实施例中,该步骤的具体实现过程如s251~s252所示:
[0077]
s251:将s21~s24中的四种损失进行加和,得到总的对比类别集中误差损失
[0078][0079]
s252:以最小化前述对比类别集中误差损失为目标,对前述新模型进行网络参数优化,完成本轮模型训练。
[0080]
s3:保存本轮参数更新前的旧模型和参数更新后的新模型,并在进行下一轮训练之前利用本轮参数更新后的新模型进行图分类任务。
[0081]
需注意的是,上述s1~s3的类增长学习过程是可以不断循环进行的,当后续的数据流中出现新类别的数据,且样本量达到一定数量后即可再次执行上述 s1~s3的过程,进而进行新一轮的模型训练,实现对新类别的适应。
[0082]
上述s1~s3的过程是没有内存设置情况下的类增长学习过程,但是加入在有内存设置的情况下,则需要在构建每一轮的训练数据的时候将内存中存储的历史样本一并纳入训练数据范围。
[0083]
如图2所示,在本发明的另一个较佳实施例中,展示了另一种基于对比类别集中提升连续学习下图分类精度的方法,用于有内存的设置下对已经过历史数据训练的图分类模型进行类增长学习,其每一轮的训练过程s21~s25与前一实施例基本类似,区别仅仅在于s1和s3步骤。在图分类模型的历次训练过程中,需要通过内存存储图分类模型在训练过程中输入的不同类别的训练样本。而在内存的设置下,执行s1步骤过程的区别在于:每一轮训练开始前构建训练数据时,除了将加入新类别的图像分类数据集一起作为训练数据之外,还需要将内存中存储的所有不同类别的训练样本也一并加入训练数据,这两部分一起作为训练数据对模型进行训练;对应的,执行s3步骤过程的区别在于:每一轮训练结束后,还需要通过随机采样的方式从本轮所输入的训练数据中选择部分属于新类别的样本放入内存中,同时从内存中的每个旧类别中移除固定数量的样本,从而保持内存总容量不变的同时
增加类别数。
[0084]
上述图1和图2中所展示的方法,从模型的表征层面着手,通过利用对比学习所特有的类集中方式利用类别信息进行表征聚类,因此均可以提高模型在连续学习下的精度。
[0085]
另外需注意的是,不论是有内存的设置还是无内存的设置下构建训练数据时,若构建得到的训练数据d
(t)
的样本量足够多,则可以直接将其作为本轮训练所用的训练数据输入模型即可;但是如果构建得到的训练数据d
(t)
中样本量不足,那么可以考虑对d
(t)
中的已有样本数据先预先经过数据增广获得对应的增广数据,然后再将增广数据加入原训练数据d
(t)
一起作为增广后的训练数据(记为)用于本轮训练,由此实现样本量的扩充。数据增广方式包括随机的切割、翻转、对比度和灰度调整。
[0086]
如图3所示,展示了一种在有内存的设置下结合数据增广的类增长学习框架,图中w表示分类器中的权重参数,其上标表示训练轮数。在该框架下,若从数据流中获取的加入新类别的图像分类数据集为d
(t)
,而从内存中获取的样本集合记为d
mem
,那么两者结合后记得到数据集d
(t*)
,数据集d
(t*)
再经过数据增广,最终得到样本扩充后的在该框架下,最终以数据集作为本轮训练输入模型的训练数据,即
[0087]
为了验证本发明方法在类别分类上的效果,下面使用cifar

100数据集对上述内存的设置还是无内存的设置下的方法进行图片分类精度的测试。最后使用模型在连续学习过程中对过去数据的分类精度和之前所有数据的平均精度作为评价指标。该测试时由于样本量充足因此未做数据增广。另外,为了对于其他现有技术方法与本发明的区别,同步引入了四种现有技术中的主流类增长学习方法进行相同的图片分类任务。其中各主流方法的具体实现方式可参见以下现有技术论文:
[0088]
[1]zhizhongliandderekhoiem.learningwithoutforgetting.ieeetransactionsonpatternanalysisandmachineintelligence,40(12):2935

2947,2017.
[0089]
[2]franciscomcastro,manueljasguil,cordeliaschmid,andkarteekala

hari.end

to

endincrementallearning.inproceedingsoftheeuropeanconferenceoncomputervision(eccv),pages233

248,2018.
[0090]
[3]yuewu,yinpengchen,lijuanwang,yuanchengye,zichengliu,yandongguo,andyunfu.largescaleincrementallearning.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecog

nition,pages374

382,2019
[0091]
[4]sylvestre

alviserebuffi,alexanderkolesnikov,georgsperl,andchristophhlampert.icarl:incrementalclassifierandrepresentationlearning.inpro

ceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,pages2001

2010,2017
[0092]
图4为本发明与之前方法在表征层面的类覆盖情况对比,另外测试精度的量化结果如下表所示:
[0093]
方法2

phase5

phase10

phase20

phaselwf[1](无内存设置方法)52.8047.1539.9029.64
c4il.nomem(本发明在无内存设置下)56.0451.7944.0434.14ete[2]61.1563.4563.6163.28bic[3]64.3164.5062.9962.22icarl[4]62.0963.3161.5259.70c4il.mem(本发明在有内存设置下)65.0266.2566.7966.28
[0094]
从上述结果可见,不论有无内存,本发明基于对比类别集中来提高模型在连续学习中的图片分类精度的方法均明显优于现有主流方法。
[0095]
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜