System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于多层次知识蒸馏类增量学习方法技术_技高网

基于多层次知识蒸馏类增量学习方法技术

技术编号:40309093 阅读:4 留言:0更新日期:2024-02-07 20:52
本发明专利技术公开了基于多层次知识蒸馏类增量学习方法,通过粗粒度知识蒸馏和细粒度蒸馏来保留先前的知识。粗粒度蒸馏的目标是在图像样本之间保留结构层次的信息,从而在图像特征空间中保留图像样本之间的邻居关系。细粒度蒸馏的目标是记忆图像样本的激活值,从而在增量学习阶段保留图像样本级别的信息。通过结合粗粒度和细粒度的知识,本发明专利技术提出的基于多层次知识蒸馏类增量学习的图像分类模型在增量学习任务中取得了更好的性能,并有效地减轻了灾难性遗忘现象。

【技术实现步骤摘要】

本专利技术涉及模式识别和机器学习,以及类增量学习,尤其涉及基于多层次知识蒸馏类增量学习方法


技术介绍

1、近年来,机器学习模型在自然语言处理和计算机视觉等各个领域都取得了显著的成就。在某些情况下,深度学习模型在特定任务上的表现甚至超过了人类,例如atari游戏和物体识别。然而,这些模型经常遇到一个常见的问题,即灾难性遗忘,这是指模型倾向于忘记先前所学的知识。为了缓解这一问题,增量学习越来越受到人们的关注。

2、在图像分类的增量学习中,图像分类模型在一系列任务上进行训练,我们的目标是在尽量减小之前任务遗忘情况下最大化当前任务的性能。为了缓解灾难性遗忘,研究人员提出了不同的方法。这些可以分为三大类:基于正则化的方法,基于网络扩展的方法,以及基于回放的方法。基于正则化的方法惩罚网络权重的变化以保存以前学过的知识。基于网络扩展的方法对不同的任务分配不同的网络参数来防止干扰。基于回放的方法维护内存缓冲区并回放以前任务中的图像样本来巩固知识,此方法在增量学习任务方面更有效。

3、然而,当前的基于回放的方法主要面临两种类型的知识转移问题:实例级别的转移和结构级别的转移。实例级别的转移表示由于缺乏先前的图像数据,当前训练的图像分类模型倾向于偏向当前任务,导致来自先前类别的图像样本被错误分类。另一方面,结构级别的转移指的是在新的图像特征空间中,先前图像特征空间中的某些相邻图像样本发生了显著变化的情况。


技术实现思路

1、针对上述
技术介绍
中的问题,本专利技术的技术目的在于提供了一种更全面、更有效地处理灾难性遗忘问题的方法,使图像分类模型能够更好地在不同任务之间平衡,并且在增量学习中保留更多的旧任务信息。通过多层次知识蒸馏框架的综合应用实现,为增量学习领域带来了更强大的工具。

2、为了保留更多旧任务的信息,本专利技术提出了一个多层次知识蒸馏框架,通过粗粒度知识蒸馏和细粒度蒸馏来保留先前的知识。粗粒度蒸馏的目标是在图像样本之间保留结构层次的信息,从而在图像特征空间中保留图像样本之间的邻居关系。细粒度蒸馏的目标是记忆图像样本的激活值,从而在增量学习阶段保留图像样本级别的信息。通过结合粗粒度和细粒度的知识,本专利技术提出的基于多层次知识蒸馏类增量学习的图像分类模型在增量学习任务中取得了更好的性能,并有效地减轻了灾难性遗忘现象。

3、本专利技术的技术处理流程是:

4、步骤一:训练图像分类模型和数据缓存;

5、s11输入:新任务的图像数据和之前任务的缓冲器,所述缓冲器中包含之前任务的图像数据。

6、s12处理:将新任务图像数据输入到图像分类模型中进行训练。训练完成后,一部分新任务图像数据将被添加到缓冲器中,与之前任务的图像数据混合。

7、s13输出:经过训练后的图像分类模型,以及更新后的图像数据缓冲器。

8、步骤二:知识蒸馏和损失计算

9、s21将步骤一中,更新后的图像数据缓冲器输入至图像分类模型中。

10、s22图像分类模型将同时处理新任务图像数据和缓冲器中的旧任务图像数据。图像分类模型会计算新任务数据的分类损失,以便适应新任务。

11、s23蒸馏过程:图像分类模型使用粗粒度知识蒸馏和细粒度知识蒸馏的技术计算蒸馏损失,包括从旧任务图像数据中提取结构级别知识以及个别图像样本级别的知识,将这些知识应用到新任务图像数据中。

12、s24综合损失:图像分类模型会综合考虑分类损失和蒸馏损失,以优化整体性能。这有助于控制灾难性遗忘,保留旧任务信息,并适应新任务。

13、s25经过蒸馏和损失计算后的图像分类模型,已经适应了新任务并考虑了旧任务的知识。

14、提出通过粗粒度知识蒸馏和细粒度蒸馏分别记忆结构层次信息和实例层次信息。

15、粗粒度蒸馏

16、粗粒度蒸馏的目标是保留在图像样本之间的结构层次信息,在学习新任务时,图像分类模型会努力保留旧任务的高级结构和关系,而不仅仅是个别图像样本的特征,以确保它们之间的关系和相互作用得以保留。这有助于在新旧任务之间实现平衡,并且不会完全丢弃旧任务的核心概念。首先,通过先前的图像分类模型ft-1提取图像样本x的特征,根据欧氏距离在先前的图像特征空间中找到其k个最近邻居nk(x),然后将它们输入新图像分类模型ft以获取在新图像特征空间中的这个图像样本对应的激活值ft(x),最后将当前图像样本x和其在旧任务空间对应的邻居xi∈nk(x)的激活值进行加权,获取平均激活值pcomb(x)。

17、

18、通过要求合并的激活值接近图像样本x的真实激活值y(x)来保留先前任务的图像样本结构,表示为:

19、

20、细粒度蒸馏

21、细粒度知识蒸馏保留了来自局部实例级别的类别信息。图像分类模型会努力记住旧任务中每个图像样本的关键细节和图像特征,以确保这些图像样本在新任务中的影响力得以保留。这有助于减轻灾难性遗忘,因为旧任务的图像样本信息仍然在图像分类模型中存在,即使它们不再是主要关注点。为了促进过去知识的保留,使用一个被标记为m的紧凑回放缓冲区。该缓冲区被设计用来存储有限数量的先前图像样本x,以及在过去任务图像分类模型中相应的输出lx。然后,将m中的图像数据输入到当前任务的图像分类模型ft中,以获得相应的输出zt(x)。细粒度蒸馏损失定义如下:

22、

23、其中ci表示第i个类别,no表示与旧任务关联的类别数量,损失函数衡量了预测分布与实际分布之间的差异。通过最小化这个损失,当前图像分类模型可以通过记住单个图像样本的激活值来减轻灾难性遗忘。在这里,我们采用了交叉熵损失。表示了batchsize的大小,我们的蒸馏损失最终可以定义为:

24、

25、其中,γ为衡量粗细粒度重要性的超参数。

26、在增量学习中,随着时间的推移,图像分类模型可能需要处理日益增多的类别数量。将新旧任务中的类别数分别表示为no、ne。这要求更新存储的激活维度这表示每个激活值在向量空间中都是长为no的向量。一个直接的方法是从内存缓冲区中抽取图像样本,并将它们输入到当前图像分类模型中。这使我们能够获得特定于当前任务的输出然后将此输出与存储在回放缓冲区m中的激活值拼接起来,形成

27、由于与当前任务相关的图像样本远多于存储在内存中的图像样本,图像分类模型可能会对当前类别产生偏见,直接将输出激活连接起来会加剧这个问题。为了解决这个问题,使用以下方程来对与当前任务相关的激活进行缩放

28、

29、其中,是与真实标签对应的激活值,是lcur中的最大激活值。将η∈[0,1]表示为一个超参数,并在实验中将其设置为0.75。

30、分类器

31、旧任务和新任务采用了分开的softmax函数。对于增量任务t,表述为:

32、

33、其中,(x,y)表示一个训练图像样本对,θ表示当前图像分类模型本文档来自技高网...

【技术保护点】

1.基于多层次知识蒸馏类增量学习方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的基于多层次知识蒸馏类增量学习方法,其特征在于,粗粒度蒸馏的目标是保留在图像样本之间的结构层次信息,在学习新任务时,图像分类模型保留旧任务的高级结构和关系;

3.根据权利要求1所述的基于多层次知识蒸馏类增量学习方法,其特征在于,细粒度知识蒸馏保留了来自局部实例级别的类别信息;使用一个被标记为M的紧凑回放缓冲区;该缓冲区被设计用来存储有限数量的先前图像样本x,以及在过去任务图像分类模型中相应的输出lx;然后,将M中的图像数据输入到当前任务的图像分类模型ft中,以获得相应的输出zt(x);细粒度蒸馏损失定义如下:

【技术特征摘要】

1.基于多层次知识蒸馏类增量学习方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的基于多层次知识蒸馏类增量学习方法,其特征在于,粗粒度蒸馏的目标是保留在图像样本之间的结构层次信息,在学习新任务时,图像分类模型保留旧任务的高级结构和关系;

3.根据权利要求1所述的基于多层次知识蒸...

【专利技术属性】
技术研发人员:胡永利刘梦婷姜华杰冯林聪尹宝才
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1