一种基于三元组多样范例集和梯度正则化的增量学习方法、计算机及存储介质

文档序号:27305699发布日期:2021-11-06 06:00阅读:来源:国知局

技术特征:
1.一种基于三元组多样范例集和梯度正则化的增量学习方法,其特征在于,包括以下步骤:s1.将第一个任务的批次训练数据输入模型进行前向传播得到预测样本特征,将得到的预测样本特征和真实标签输入损失函数进行反向传播更新模型参数;s2.完成第一个任务的批次数据的训练后,再次将第一个任务的批次训练数据输入模型,计算批次数据的原型表示;s3.计算每个类别应保存的正例样本的数量和反例样本的数量;若当前处于第一个任务的训练阶段,执行步骤s5,若当前处于增量状态任务的训练阶段,执行步骤s4,若当前所有类别的准确度都计算完成,程序结束;s4.更新已有类别的范例集应存储的范例的数量;s5.将训练数据预测样本特征划分为正例集和反例集,对两个集合中的样本进行打分,根据样本的分数和每个类别应保存的正例样本的数量和反例样本的数量构建当前类别范例集;s6.开始增量状态任务训练工作,对所有已知类别的范例集进行随机取样获得重演样本集,然后对重演样本集和批次数据中的样本进行前向传播;s7.将批次数据输入损失函数计算损失函数值,得到三种损失函数的梯度;s8.对三种不同梯度进行正则化,得到最终的梯度值进行反向传播更新,反向传播更新完成后,跳转到步骤s3。2.根据权利要求1所述的方法,其特征在于,步骤s1所述将第一个任务的批次训练数据输入模型进行前向传播得到特征,将得到的特征和真实标签输入损失函数进行反向传播更新模型参数的具体方法:s11.随机初始化模型参数,开始第一个任务的训练,从数据集中随机选取一个批次的训练数据,一个批次包含10张图片,将每张图片转换为1
×
3072维度的张量后输入到特征提取器中,得到对应的1
×
100维度的特征,如以下公式所示:v={φ(x
i
;θ)},i∈1,2,...,|b|其中,v是包含了一个批次的图片对应的特征的集合,φ是特征提取器,x
i
是一个批次中的第i个样本的样本值,θ是特征提取器的参数,b代表了一个批次的数据,即10张图片,|b|代表了一个批次里的样本数量,||代表了求第一范数的操作;s12.完成特征提取工作之后,将步骤s11得到的特征集合v输入到分类器中,使用第一个任务的分类损失函数和随机梯度下降来优化模型,如以下公式所示:其中,l0表示第一个任务的分类损失函数,y表示真实标签,v表示样本特征,y
i
表示第i个样本的真实标签,v
i
表示第i个样本的样本特征,是分类器,log()代表了求对数的操作;所述模型包括特征提取器和分类器;步骤s2所述完成第一个任务的批次数据的训练后,再次将第一个任务的批次训练数据输入模型,计算批次数据的原型表示的具体方法是:s21.完成当前批次数据b的训练之后,再次将训练样本输入特征提取器中得到对应的
样本特征,对当前批次数据b中所有属于c类别的样本特征求和并除以对应的样本特征的数量|b
c
|,得到c类别的原型表示,原型表示代表了对应类别在特征空间的中心向量,每个类别都有一个原型表示,如以下公式所示:其中,代表了通过当前批次计算得到的原型表示的集合,b
c
代表了当前批次数据b中所有属于c类别的样本,|b
c
|代表了当前批次数据b中所有属于c类别的样本的数量,φ是特征提取器,代表了当前批次数据b中属于c类别的第i个样本的样本值,n代表了当前批次数据b所包含的类别的数量;s22.在步骤s21得到的原型表示的集合之后,更新对应类别c的原型表示,如以下公式所示:其中,代表了在步骤s21得到的原型表示的集合,代表了集合中属于c类别的原型表示,代表了缓存中存储的原型表示的集合,代表了集合中属于c类别的原型表示,μ代表了一个平衡用的超参数,n代表了当前批次数据b所包含的类别的数量。3.根据权利要求2所述的方法,其特征在于,步骤s3所述计算每个类别应保存的正例样本的数量和反例样本的数量的具体方法是:s31.计算每个类别的准确度;具体是:将c类别的测试数据依次输入到模型中进行预测,将测试样本的预测值和测试样本的真实标签进行比对,两者一致则为分类正确,否则分类错误,累加分类正确的测试样本的数量,将其除以测试样本的数量,得到c类别的准确度acc
c
,如以下公式所示:其中,acc
c
代表了c类别的准确度,t
c
代表了第c类别的测试数据集,|t
c
|代表了集合t
c
所包含的测试样本的数量,φ是特征提取器,是分类器,代表了第c类的第i个测试样本的样本值,代表了第c类的第i个测试样本的真实标签,

代表了同或操作,两者一致则为1否则为0;s32.按照步骤s31中的方法,依次计算所有已知类别的准确度,得到所有已知类别的准确度的集合acc,如以下公式所示:acc={acc
i
},i∈1,2,...,n其中,acc代表了所有已知的类别的准确度集合,acc
i
代表了第i个类别的准确度,n代表了目前已知的类别的数量,目前已知的类别是指到当前时间节点,所有在模型上完成训练
的类别,随着训练的进行,数量n是逐渐上升的;s33.计算每个类别的范例集应存储范例的数量;具体是:由于范例集m是一个固定值,随着训练的进行,已知类别的数量k在逐渐上升,则可分配到已知类别的范例集的额定范例数量m会动态的变化,如以下公式所示:其中,m代表了所有类别的范例集应存储范例的数量,是个固定不变的数值,m代表了已知类别的范例集的额定范例数量,k代表了已知类别的数量,是个动态变化并且逐渐增大的数值;s34.将准确度集合acc与额定范例数量m相乘,得到c类别的范例集中应保存的正例数量和反例的数量对于分类正确的样本称其为正例,对于分类错误的样本称其为反例,如以下公式所示:例,如以下公式所示:其中,代表了第i个类别的范例集中应保存的正例的数量,r是正例的标记,代表了第i个类别的范例集中应保存的反例的数量,w是反例的标记,acc
i
代表了集合acc中第i个类别的准确度,代表了取上界的操作,代表了取下界的操作。4.根据权利要求3所述的方法,其特征在于,步骤s4所述更新已有类别的范例集应存储的范例的数量的具体方法是:减小已有类别的范例集所存储的样本的数量,范例集是一个有优先级的集合,排名高的样本距离中心向量最近,拥有最高的优先级,所以直接保留范例集中的前若干个范例即可,超出范围的直接舍弃,具体的计算方法如下:e
c
={e
i
},i∈1,2,...,m其中,e
c
代表了第c个已知类别的范例集,e
i
代表了第c个已知类别的范例集中的第i个范例。5.根据权利要求4所述的方法,其特征在于,步骤s5所述将训练数据预测样本特征划分为正例集和反例集,对两个集合中的样本进行打分,根据样本的分数和每个类别应保存的正例样本的数量和反例样本的数量构建当前类别范例集的具体方法是:s51.划分正例集和反例集;具体是:将当前任务训练数据输入模型中得到预测结果,将每个类别的预测结果数据集分为不相交的两部分,正例集和反例集,保留正例的样本值、真实标签和特征,并将三者以三元组的形式放入正例集,保留反例的样本值和真实标签,并将二者以二元组的形式放入反例集,如以下公式所示:如以下公式所示:
其中,p
ir
代表了第i个类别的正例集,p
iw
代表了第i个类别的反例集,代表分类正例样本的样本值,代表分类正例样本的真实标签,代表分类正例样本的特征,代表分类反例样本的样本值,代表分类反例样本的真实标签,a代表了训练数据的样本数量;s52.对集合中的样本进行打分;具体是:对第i个类别的正例集和反例集中的样本进行打分,确定需要存储的样本,将范例集中的所有样本输入特征提取器得到样本特征,将其求和;将正例集中的样本输入特征提取器得到样本特征,将其与之前求得的和值进行加和,再将结果除以样本数量k,得到一个伪中心向量,计算伪中心向量和类中心向量的距离值,这个距离值就是样本的得分;计算正例集中所有样本的得分,具体公式如下:例集中所有样本的得分,具体公式如下:其中,e
c
代表了第c个类别的范例集,代表了第c个类别的正例集,代表了第c个类别的反例集,argmin代表了使函数值最小时的自变量取值,|| ||代表了求第二范数的操作,用来计算两个向量之间的距离,γ
c
代表了第c个类别的原型表示,k表示选取的范例的次序,即现在正在进行范例集中第k个范例的选取工作,代表了第c个类别的正例集中的第i个正例,代表了第c个类别的反例集中的第i个反例,e
j
表示了第c个类别的范例集中第j个范例,φ是特征提取器;s53.构建当前类别范例集;具体是:选取得分最高的样本的三元组放入范例集e,以同样的方式对反例集中的样本进行得分的计算,最终选取得分最高的样本的二元组放入范例集e。6.根据权利要求5所述的方法,其特征在于,步骤s6所述对所有已知类别的范例集进行随机取样获得重演样本集的具体方法是:s61.在训练处于增量状态的任务时,即第一个任务训练结束后,对已知类别的范例集进行随机取样,得到重演样本集,重演样本集所包含的样本的数量|e
s
|与批次数据包含的样本的数量|b|相同,如以下公式所示:e
s
=randomsample(e)其中,e代表了所有已知类别的范例集,e
s
代表了从范例集e中随机取样得到的重演样本集,s代表了重演样本集的标记,randomsample()代表了随机取样的操作;s62.从数据集中随机选取一个批次的训练数据b,从步骤s61中得到重演样本集e
s
,这两个集合各自包含|b|和|e
s
|张图片,将每张图片转换为1
×
3072维度的张量后输入到特征提取器中,得到对应的1
×
100维度的特征
其中,b代表了从数据集中随机选取的批次训练数据,e
s
代表了从范例集中取样得到的重演样本集,v
e
包含了来自重演样本集e
s
的图片对应的特征的集合,v
b
包含了来自批次数据b的图片对应的特征的集合,φ是特征提取器,是来自重演样本集e
s
的第i个样本的样本值,e代表了从重演样本集取样得到的标记,b代表了从批次数据b取样得到的标记,是来自批次数据b的第j个样本的样本值,θ是特征提取器的参数,|e
s
|代表了重演样本集e
s
所包含的样本的数量。7.根据权利要求6所述的方法,其特征在于,步骤s7所述将批次数据输入损失函数计算损失函数值,得到三种损失函数的梯度的具体方法是:s71.将步骤s62得到的包含批次数据b的图片对应的特征的集合v
b
和对应的真实标签输入分类损失函数,如以下公式所示:其中,l
t
代表了分类损失函数,y代表了真实标签,v代表了特征集合v
b
中的一个样本特征,y
i
代表了特征集合v
b
中的第i个样本的真实标签,v
i
代表了特征集合v
b
中的第i个样本的样本特征,代表了分类器;s72.将步骤s62得到的包含重演样本集e
s
的图片对应的特征的集合v
e
和对应的真实标签输入分类损失函数,如以下公式所示:其中,l
ce
表示分类损失函数,y表示真实标签,v代表了特征集合v
e
中的一个样本特征,y
h
表示特征集合v
e
中的第h个样本的真实标签,v
h
表示特征集合v
e
中的第h个样本的样本特征,是分类器;s73.将步骤s62得到的包含重演样本集e
s
的图片对应的特征的集合v
e
和重演样本集e
s
中保存的对应样本特征输入分类损失函数,如以下公式所示:其中,l
kd
表示蒸馏损失函数,表示来自重演样本集e
s
的样本特征,v表示来自特征集合v
e
的样本特征,表示了重演样本集e
s
中的第h个样本的样本特征,v
h
表示特征集合v
e
中的第h个样本的样本特征是分类器;s74.对步骤s71、步骤s72和步骤s73得到的三种损失函数进行求导,得到三种不同的梯度值,公式如下:
其中,l
t
代表了步骤s71得到的分类损失函数,l
ce
代表了步骤s72得到的分类损失函数,l
kd
代表了步骤s73得到的蒸馏损失函数,g
t
代表了对分类损失函数l
t
求导得到的梯度,g
ce
代表了对分类损失函数l
ce
求导得到的梯度,g
kd
代表了对蒸馏损失函数l
kd
求导得到的梯度,代表了求导操作,θ代表了模型的参数;步骤s8所述对三种不同梯度进行正则化,得到最终的梯度值进行反向传播更新的具体方法是:s81.利用步骤s74得到的三种不同梯度进行正则化,首先,对梯度g
ce
进行归一化,即除以模||g
ce
||;其次,将结果乘以梯度g
kd
的模||g
kd
||;最后,将结果与梯度g
t
加和,得到了最终的梯度g;如以下公式所示:其中,|| ||代表了求第二范数的操作,即用来计算梯度的模;s82.最后利用步骤s81得到的梯度g进行反向传播更新,如以下公式所示:θ

=θ

αg其中,θ

代表了更新后的模型参数,θ代表了更新前的模型参数,α是学习率;s83.步骤s82完成后,即完成了增量状态任务的训练工作,需要跳转到步骤s3,继续进行测试工作。8.基于权利要求1所述的一种使用三元组多样范例集和梯度正则化解决在线类增量学习的方法实现的一种基于增量学习模型解决图片分类问题的方法,其特征在于,将要预测的图片输入至权利要求1

7任一项所述的模型中输出图片的预测类别。9.一种计算机,其特征在于,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现权利要求1至7任一项所述的一种基于三元组多样范例集和梯度正则化的增量学习方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的一种基于三元组多样范例集和梯度正则化的增量学习方法。

技术总结
本发明提出了一种基于三元组多样范例集和梯度正则化的增量学习方法、计算机及存储介质,属于人工智能领域。首先,得到的预测样本特征和真实标签,并输入损失函数进行反向传播更新模型参数;其次,计算批次数据的原型表示;再其次,计算每个类别应保存的正例样本的数量和反例样本的数量;再其次,更新已有类别的范例集应存储的范例的数量;再其次,对正例集合范例集中的样本进行打分,根据样本的分数构建当前类别范例集;再其次,随机取样获得重演样本集,然后对重演样本集和批次数据中的样本进行前向传播;再其次,计算三种损失函数的梯度;最后,对三种不同梯度进行正则化,得到最终的梯度值进行反向传播更新。本发明解决了灾难性遗忘的问题。忘的问题。忘的问题。


技术研发人员:孙广路 吉宝伦 梁丽丽 李天麟 朱素霞
受保护的技术使用者:哈尔滨理工大学
技术研发日:2021.08.19
技术公布日:2021/11/5
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1