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

基于多层次自适应特征融合类增量学习的图像分类方法

2022-06-11 11:22:02 来源:中国专利 TAG:


1.本发明属于计算机视觉领域,尤其涉及一种基于多层次自适应特征融合类增量学习的图像分类方法。


背景技术:

2.计算机视觉中的物体分类方向目前具有非常广泛的应用场景,例如文字识别、商品识别、车辆识别等等,但是传统的模型都是静态的,无法持续学习新的知识,每当有新类别的数据加入时,都必须全部重新训练,需要额外消耗大量的时间和空间,随着新任务越来越多,边际效益越来越低。而类增量学习针对这一现象,提出了解决方案。
3.目前主流的关于类增量学习的方法主要包含以下三类:
4.一、基于回放的类增量学习方法:该方法直接以原始格式存储旧任务的样本,或者使用生成模型来生成旧任务的伪样本,将旧任务的样本合并新任务的样本进行训练。
5.二、基于正则化的类增量学习方法:该方法在对神经网络中的权值更新时,施加更多约束来巩固旧知识。通常是通过加入额外的正则项来实现的,以此惩罚神经网络的映射函数的变化。这类方法主要有两种策略,一种是基于先验概率调整网络参数,另一种是基于数据的。
6.三、基于动态结构的方法:这一类方法主要是在训练时动态地增加神经元或网络层,通过改变网络结构属性来响应新的信息。这类方法主要有两种策略,一种是对于每一新增的任务,增加固定大小的网络层数或神经元,新增的网络参数与之前的网络互相隔离;另一种是通过平衡网络复杂性和损失来自适应的调整网络结构和权重。
7.方法一中直接存储旧样例的工作没有利用旧模型的知识,造成了灾难性遗忘。生成伪样本的方法在实际操作中存在困难,生成的伪样本往往不能满足需求。方法二往往无法准确地量化网络中权重的重要性,因此无法准确约束关键权重,同时也没有利用旧模型的表示能力,导致并不能很好地抵抗灾难性遗忘。方法三会使模型持续扩展,虽然一定程度保留了旧模型,但是随着任务增加,网络结构越发复杂,且在只增加部分网络节点的情况下,运行反向传播算法时,效率低下。


技术实现要素:

8.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于多层次自适应特征融合类增量学习的图像分类方法。
9.为了解决上述技术问题,本发明公开了一种基于多层次自适应特征融合类增量学习的图像分类方法,包括:
10.步骤1,第一次训练,获得第1图像样例集和训练完成的第1模型;
11.步骤2,当需要识别新类型时,进行增量更新,第m次增量更新后,获得第m 1模型,以及第m模型和第m 1模型的融合系数;m表示增量更新的次数,为大于等于1的自然数;
12.步骤3,测试时使用第m 1模型和第m模型按照融合系数进行特征融合,输出预测结
果。
13.进一步地,所述步骤2中当m等于1时,第1次增量更新后,获得第2模型,以及第1模型和第2模型的融合系数包括:
14.步骤2-1,创建新分类器并完成初始化,所述第2模型包括第1模型和新分类器;
15.步骤2-2,获取第二训练图像数据,对所述第二训练图像数据进行预处理,并初始化融合系数;所述第二训练图像数据包括第1图像样例集和增量更新的图像数据集,记第二训练图像数据为n;所述融合系数用于第1模型的特征和第2模型的特征按比例进行特征融合;
16.步骤2-3,进行第1模型和第2模型训练,训练过程分两个阶段进行:
17.第一阶段,将第二训练图像数据分别输入第1模型和第2模型进行训练,第1模型参数和融合系数固定,仅训练第2模型的参数,获得训练后的第2模型参数;
18.第二阶段,在第一阶段训练完成后进行,构建第2图像样例集,将第2图像样例集分别输入第1模型和第2模型进行训练,第1模型和第2模型的所有参数固定,仅训练融合系数,获得训练后的融合系数;
19.当m大于1时,获得第m 1模型,以及第m模型和第m 1模型的融合系数的过程和m等于1时相同,其中第二训练图像数据包括第m-1次增量更新构造的第m图像样例集和第m次增量更新的图像数据集,步骤2-3中第二阶段构建第m 1图像样例集。
20.进一步地,所述第一次训练,获得第1图像样例集和训练完成的第1模型包括:
21.步骤1-1,对第一次训练的图像数据集进行预处理;
22.步骤1-2,建立和训练第1模型,获得训练完成的第1模型;第1模型包括特征抽取网络和分类器层,分类器层节点的个数为所述第一次训练的图像数据集的类别数;使用交叉熵作为损失函数,随后使用梯度下降算法对第1模型进行训练;当损失收敛后,完成第1模型的训练;
23.步骤1-3,从第一次训练的图像数据集中筛选获得第1图像样例集,记第1图像样例集为n0。
24.进一步地,所述步骤2-1中创建新分类器并完成初始化包括:
25.记需要识别y’个新类别的物体,则新建y’个节点的分类器;
26.使用压印权重(imprint weight)初始化新分类器权重;
27.按分类将增量更新的图像数据集样本输入第2模型的特征抽取网络,获得增量更新的图像数据集样本的低维嵌入数据,对所述增量更新的图像数据集样本的低维嵌入数据进行标准化并计算平均值,将得到的结果赋值给对应的分类器节点,完成新分类器初始化。
28.进一步地,所述步骤1-2中的特征抽取网络采用resnet32网络;所述步骤2-3中,进行第1模型和第2模型训练时,第1模型的特征和第2模型的特征按初始融合系数进行特征融合,在resnet32网络中,每5个残差模块(residualblock)进行一次融合。
29.进一步地,所述步骤2-3中,第一阶段包括:
30.记第二训练图像数据样本为x,将第二训练图像数据样本x分别输入第1模型和第2模型的特征抽取网络,获得第二训练图像数据样本在第1模型中的低维嵌入数据f
*
(x)和在第2模型中的低维嵌入数据f(x);
31.对第二训练图像数据样本在第1模型中的低维嵌入数据f
*
(x)和在第2模型中的低
维嵌入数据f(x)进行标准化,获得标准化后的低维嵌入数据,分别记为和
32.对第2模型施加蒸馏损失公式如下所示:
[0033][0034]
其中,表示和之间的余弦相似度;
[0035]
增加一个新的约束l
mr
(x),使得类间距增大,避免类之间混淆,
[0036][0037]
其中m是边界阈值,表示第二训练图像数据样本x真实类别的低维嵌入数据进行标准化,是第k个离该低维嵌入最近的且与第二训练图像数据样本x不同类别的低维嵌入,1≤k≤k,k表示大于等于1的自然数;
[0038]
最终的损失函数l,如下公式所示,
[0039][0040]
其中l
ce
为交叉熵,λ表示新旧类别数量平衡系数,计算方式如下所示,
[0041][0042]
λ
base
表示新旧类别数量平衡基数,为常量,根据图像数据集的不同来调整;cn表示第m次增量更新的图像数据集,即新类别集合,co表示第一次训练的图像数据集与第1次增量更新至第m-1次增量更新的图像数据集合集,即旧类别集合;
[0043]
使用随机梯度下降算法进行训练,等待第2模型收敛后,进入第二阶段。
[0044]
进一步地,所述步骤2-3的第一阶段中对第二训练图像数据样本在第1模型中的低维嵌入数据f
*
(x)和在第2模型中的低维嵌入数据f(x)进行标准化,获得的标准化后的低维嵌入数据是经过l2规范化后的向量,公式如下:
[0045][0046][0047]
分类器层输出经过softmax函数归一化后的输出pi(x)如下面的公式所示;
[0048][0049]
其中,i和j表示分类类别索引,均小于等于分类类别总数,和分别表示分类器层第i个节点和第j个节点标准化后的权重,
[0050]
[0051][0052]
第二训练图像数据θi和θj分别表示分类器层第i个节点和第j个节点的权重,衡量和之间的余弦相似度,η用来将限制在[-1,1]。
[0053]
进一步地,所述步骤2-3中,第二阶段的损失函数仅使用交叉熵,使用随机梯度下降算法进行训练,直至收敛;
[0054]
当m等于1时,第2图像样例集包括第1图像样例集和增量更新图像样例集,所述增量更新图像样例集从所述增量更新的图像数据集中筛选获得;
[0055]
当m大于1时,第m 1图像样例集包括第m-1次增量更新构造的第m图像样例集和增量更新图像样例集。
[0056]
进一步地,步骤1-1和步骤2-2中对图像数据进行预处理包括:对图像数据进行随机的翻转,翻转包括水平翻转和垂直翻转,随后转化成张量,并进行标准化,标准化计算过程为先计算本次训练图像数据的均值和方差,将每一张图片减去均值后再除以方差。
[0057]
进一步地,步骤1-3中的第1图像样例集和步骤2-3第二阶段的增量更新图像样例集均基于herding算法分别对第一次训练的图像数据集和增量更新的图像数据集进行筛选,包括:
[0058]
记被筛选图像数据集为x={x1,x2,...,xy},共有y个类别,y为正整数,类别i包含ni个样本,1≤i≤y,ni为正整数,则类别i的图像数据集为记当前特征抽取网络为为每一类别选取z个样例,1≤z≤min{n1,n2,...,ny},则当为第i类选取样例时,先计算该类别特征均值,计算方法如下式所示,
[0059][0060]
然后令u=1,2,...,z,依照下式找出z个样本p1,p2,...,pz;最后将得到的p1,p2,...,pz组成图像样例集pi。
[0061][0062]
为被筛选图像数据集中的每一类别都执行如上操作,获得筛选后的图像样例集p={p1,p2,...,py}。
[0063]
有益效果:
[0064]
现有的类增量学习方案中,大多舍弃旧模型,仅保存图像样例集,或者仅仅使用旧模型来计算蒸馏损失,这样就浪费了旧模型的表示能力。保存图像样例集可以一定程度上使模型回忆起旧知识,但是新模型一旦进行增量训练,就发生了偏移,逐渐弱化对旧类别物体的表示能力,从而产生遗忘。本发明提出的方法,解决了当前物体识别算法无法持续学习新类别、新知识,以及类增量学习算法不能有效利用旧模型的信息,对旧知识的遗忘程度大的问题。
[0065]
1.不仅在增量学习过程中保存旧样例,同时还保存旧模型,利用旧模型的表示限
learning for image recognition.

proceedings of the ieee conference on computer vision and pattern recognition.2016.
[0082]
当损失收敛后,完成第1模型的训练,接下来从第一次训练的图像数据集中选择合适的图片进行存储,组成第1图像样例集,以便加入下次训练,减轻对旧类别的遗忘。第1图像样例集的筛选算法基于herding算法,记被筛选图像数据集为x={x1,x2,...,xy},共有y个类别,y为正整数,类别i包含ni个样本,1≤i≤y,ni为正整数,则类别i的图像数据集为记当前特征抽取网络为为每一类别选取z个样例,1≤z≤min{n1,n2,...,ny},则当为第i类选取样例时,先计算该类别特征均值,计算方法如公式(1)所示,
[0083][0084]
然后令u=1,2,...,z,依照公式(2)找出z个样本p1,p2,...,pz;最后将得到的p1,p2,...,pz组成图像样例集pi;
[0085][0086]
为被筛选图像数据集中的每一类别都执行如上操作,获得筛选后的图像样例集p={p1,p2,...,py}。
[0087]
至此,第一次训练完成,然后保存图像样例集、训练完成的模型以及权重,以备增量更新。
[0088]
2、增量更新模型:
[0089]
当需要识别新物体时,如果不对模型进行更新,将会出现错误,因为只能输出旧模型所学习过类别中的一种。而大部分物体分类算法如果想要识别更多种类的物体,就需要得到前后所有的训练图像数据,并重新训练模型,不仅浪费了旧模型所学习到的知识,还会多消耗时间和空间。对于这两个问题,本技术提出了有效的解决方案,具体如下:
[0090]
首先复制旧模型(第1模型)得到新模型(第2模型),假设需要识别y’个新类别的物体,则在第2模型中新建y’个节点的分类器,由于随机初始化新分类器权重再训练会消耗更多的时间,为加速这一过程,使用压印权重初始化新分类器权重。如图2所示,按分类将增量更新的图像数据集样本输入第2模型的特征抽取网络,获得增量更新的图像数据集样本的低维嵌入数据,对所述增量更新的图像数据集样本的低维嵌入数据进行标准化并计算平均值,将得到的结果赋值给对应的分类器节点。
[0091]
当新分类器创建好并初始化完成之后,需要整理当前增量训练所需要的图像数据,即第二训练图像数据。第二训练图像数据由两部分组成,第一部分为新增类别的所有图像数据,第二部分为之前任务结束时保存的图像样例集。接着初始化融合系数∈,融合系数一共三个(如图3所示,为三个融合系数,其中为三个融合系数,其中),都初始化为0.5。随后将第二训练图像数据进行预处理,预处理过程同第一次训练一致,首先进行随机翻转,然后转化成张量,最后进行标准化,注意此时图像数据集已经变化,均值和方差也应重新计算,标准化时减去新的均值后再除以新的方差。
[0092]
如图3所示,新旧模型需要进行结合融合系数按比例进行特征融合,在resnet32中,每5个残差块进行一次融合。训练过程分两个阶段进行,第一阶段只训练新模型的参数,
第二阶段只训练融合系数,接下来分阶段具体介绍训练过程:
[0093]
(一)第一阶段
[0094]
该阶段只训练新模型参数,旧模型参数和融合系数固定。
[0095]
由于新类别的图像数据多,旧类别图像数据少,所以会导致分类器的分类结果向新类别倾斜,分析特征抽取网络的低维嵌入可以知道新类别低维嵌入的模往往大于旧类别的低维嵌入,因此需要进行标准化,如图4所示。
[0096]
在常见的cnn(convolutional neural networks,卷积神经网络)中,一个样本的预测值,即分类器层输出经过softmax函数归一化后的输出往往计算方法如公式(3)所示,记第二训练图像数据样本为x,将第二训练图像数据样本x分别输入第1模型和第2模型的特征抽取网络,获得第二训练图像数据样本在第1模型中的低维嵌入数据f
*
(x)和在第2模型中的低维嵌入数据f(x);
[0097][0098]
其中i和j表示分类类别索引,均小于等于分类类别总数,θi和θj分别表示分类器层第i个节点和第j个节点的权重,bi和bj分别表示分类器层第i个节点和第j个节点的偏置项。
[0099]
规范化方法使用余弦归一化(cosine normalization),具体如公式(4)所示,
[0100][0101]
其中,表示经过12规范化后的向量,衡量两个规范化向量之间的余弦相似度,η用来将限制在[-1,1]。
[0102]
对第二训练图像数据样本在第1模型中的低维嵌入数据f
*
(x)和在第2模型中的低维嵌入数据f(x)进行标准化,获得标准化后的低维嵌入数据,分别记为和
[0103][0104][0105]
和分别表示分类器层第i个节点和第j个节点标准化后的权重,
[0106][0107][0108]
增量学习中的一个常见问题就是灾难性遗忘,由于只存储了非常少量的旧类别图像数据,同时涌入大量新类别图像数据,并且随着任务不断增加,模型不断更新,网络会逐渐遗忘以前所学的知识,发生偏移,如图5所示。因此,为了减轻网络的遗忘,对前后类别都有一个比较好的识别能力,需要对第2模型施加一个蒸馏损失,如公式(5)所示,
[0109][0110]
该损失鼓励新旧模型抽取的特征尽量相似,以此来减轻遗忘。在限制新模型变化的同时,需要补充旧模型的知识,将旧模型的知识融合进新模型就可以使网络回忆起旧知识,有效的减轻模型对旧类别的遗忘,提升识别效果。resnet32中有残差模块,以每五个残差模块为节点,将模型分为四个部分,用f1,f2,f3,f4表示,旧模型也分为四个部分,分别用表示,用f1,f2来举例,以第一二部分为例,图像经过f1后输出的特征为经过后输出的特征为此时的融合系数分别为和和假设f2的输入为具体如公式(6)所示,f2,f3类似。
[0111][0112]
随着新类别物体的加入,新旧类别之间的界限会越发模糊,导致互相识别错误,因此需要增大类间距,让类之间不混淆,如图6所示。为此,需要增加一个新的约束,考虑以某样本x真实类别的低维嵌入作为正例,找到新类别中对x产生最高响应的类别作为困难负类,并用它们的低维嵌入作为对应旧样本低维嵌入的负例,具体如公式(7)所示,
[0113][0114]
其中m是边界阈值,为常数,设为0.5,表示第二训练图像数据样本x真实类别的低维嵌入数据进行标准化,是第k个离该低维嵌入最近的且与第二训练图像数据样本x不同类别的低维嵌入,1≤k≤k,k表示大于等于1的自然数,本实施例中,k值设为2。最终的损失函数如公式(8)所示,
[0115][0116]
其中l
ce
为交叉熵,n为第二训练图像数据,no为保存的旧图像样例集,λ的计算方式如公式(9)所示,
[0117][0118]
λ
base
表示新旧类别数量平衡基数,为常量,需要根据图像数据集的不同来调整,本实施例中设为7.5。cn表示第m次增量更新的图像数据集,即新类别集合,co表示第一次训练的图像数据集与第1次增量更新至第m-1次增量更新的图像数据集合集,即旧类别集合;
[0119]
学习率初始值设为0.1,每批训练图像数据的数量设置为128幅,一共训练160个代(epoch),在第80个代时调整为0.01,在第120个代时调整为0.001,动量(momentum)设为0.9,使用随机梯度下降算法进行训练,等待模型收敛后,便可进入第二阶段。
[0120]
(二)第二阶段
[0121]
在第一阶段训练完之后,需要对新类别的样本构建图像样例集,图像样例集的构建方法和第一次训练时一致,构建完成后合并之前的图像样例集,组成第2图像样例集,
[0122]
第2图像样例集将作为第二阶段的训练集。
[0123]
因为新旧类别的图像数据分布有差异,新旧模型进行融合时并不能固定按照1∶1的比例进行融合,所以需要适时地调整融合系数。
lin.learning a unified classifier incrementally via rebalancing.in proceedings of the ieee/cvf conference on computer vision and pattern recognition,pages 831

839,2019.
[0135]
本发明提供了一种基于多层次自适应特征融合类增量学习的图像分类方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

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

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

相关文献