基于分类层统一化和改进EWC的类增量持续学习方法
文献发布时间:2024-04-18 19:58:53
技术领域
本发明涉及一种基于分类层统一化和改进EWC的类增量持续学习方法,属于人工智能技术领域。
背景技术
深度学习技术是基于数据去训练神经网络模型。一般的训练过程是拿到所有的训练数据,去训练一个神经网络。随着大数据时代的到来,每时每刻都有大量的数据产生。因此,需要神经网络能够在不接触过去数据的前提下,持续地学习新的数据,这样才能足够高效。然而,神经网络在持续学习场景下会发生灾难性遗忘问题,即学习新数据的时候,会遗忘过去所学的数据。
在类增量持续学习场景中,上述现象,使得神经网络在分类以及辨识任务中,会遗忘旧的分类,类增量持续学习指的是,在不断到来的新任务中,神经网络需要学习新的类别,在任务1时,神经网络学习分类猫和狗,在任务2时,神经网络学习分类鸡和鸭,神经网络在学习完新任务之后,会遗忘旧任务,在图1所示例子中,则体现为学习完鸡和鸭的分类后,完全不会分类猫和狗,这个现象称为灾难性遗忘问题。
现有的解决灾难性遗忘问题,一个经典的方法为EWC,该方法的策略是设计一个权重正则化项,具体来说,评估每个权重对于先前任务的重要性程度,在之后的学习过程中,以旧任务的模型参数为基点,限制参数的偏移。但是EWC方案在类增量持续学习场景中依旧存在严重的灾难性遗忘问题,基本只能识别刚学过的任务中涉及的类别,
例如在基于SplitCIFAR100的学习任务中,一共100个类别,分为10个任务,每次学习10个类别,EWC方法在10个任务的的识别准确度如表一所示,
将模型以及识别结果进行可视化分析,混淆矩阵如图1所示,可见模型将几乎所有100个类别都识别为最后学过的10个类别。
因此,EWC方法还有很大的改进空间。
发明内容
为了克服上述问题,本发明人进行了深入研究,设计出一种基于分类层统一化和改进EWC的类增量持续学习方法,
通过训练集对神经网络进行训练,获得辨识模型,通过辨识模型辨识图片中事物的类别,所述训练包括旧任务训练和至少一次新任务训练,
所述旧任务训练为:通过含有旧类别事物的训练集对神经网络进行训练,获得辨识模型,该辨识模型能够对含有旧类别事物的图片进行识别,输出图片中事物分类;
所述新任务训练为:采用具有新类别事物的训练集对辨识模型进行再训练,使得辨识模型即能够对含有旧事物的图片进行识别,又能够对含有新事物的图片进行识别,并输出图片中的事物分类。
在一个优选的实施方式中,所述神经网络基于EWC,具有权重正则化项,以评估每个权重对于旧任务的重要性程度,在再训练过程中,以旧任务的模型参数为基点,限制参数的偏移。
在一个优选的实施方式中,在EWC的基础上,采用同一个线性分类器作为所有样本的输入,线性分类器的最后一层设置为全连接层,表示为:
o=Wz+b
其中,o表示全连接层的输出,z表示分类器输出的特征向量,
W表示全连接层的权重矩阵,其元素为不同任务的权重向量,表示为:
W=[w
w
b表示全连接层的偏差向量矩阵,其元素为不同任务的偏差向量,表示为:
b=[b
b
在一个优选的实施方式中,在EWC的基础上,在每个任务训练完毕后,将该任务所有类别的权重向量幅值的均值调整为1,将该任务所有类别的偏差数值的均值调整为0。
在一个优选的实施方式中,在第t个任务训练完毕后,进行如下处理,实现任务t对应所有类别的权重向量幅值的均值为1:
在第t个任务训练完毕后进行如下处理,同步偏差向量与权重向量的变化:
在第t个任务训练完毕后进行如下处理,实现任务t对应所有类别的偏差数值的均值为0:
其中,S
在一个优选的实施方式中,在旧任务的训练集训练完毕并且进行统一化之后,保存辨识模型中旧任务对应的权重向量和偏差向量,在新任务的训练集训练完毕获得新的辨识模型后,将保存的权重向量替换新辨识模型中旧任务对应的权重向量,将保存的偏差向量替换新辨识模型中旧任务对应的偏差向量。
在一个优选的实施方式中,在EWC的基础上,通过在任务的交叉熵损失中为不同样本的置信度设置权重系数,使得置信度越高的样本,在模型参数重要性估计中影响力越大。
在一个优选的实施方式中,将计算参数重要性时的交叉熵损失L
其中,bs为训练中批量的大小,(y
本发明所具有的有益效果包括:
(1)针对模型偏向于将样本归类为新学类别的问题,本发明提出了分类头权重统一化调整策略,解决了新类别偏向问题,提升了模型的平均准确度;
(2)针对EWC的参数重要性计算,本发明根据不同样本学习效果地好坏,赋予不同样本以不同的权重,进行了改进,提升了模型的平均准确度。
附图说明
图1示出EWC训练完10个任务之后的混淆矩阵;
图2示出根据本发明一种优选实施方式的基于分类层统一化和改进EWC的类增量持续学习方法流程示意图;
图3示出本发明对比例1中分类器权重向量幅值;
图4示出本发明对比例1中分类器偏差数值;
图5示出本发明实施例1中分类器权重向量幅值;
图6示出本发明实施例1中分类器偏差数值。
具体实施方式
下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
根据本发明提供的一种基于分类层统一化和改进EWC的类增量持续学习方法,如图2所示,
通过训练集对神经网络进行训练,获得辨识模型,通过辨识模型辨识图片中事物的类别,所述训练包括旧任务训练和至少一次新任务训练,
所述旧任务训练为:通过含有旧类别事物的训练集对神经网络进行训练,获得辨识模型,该辨识模型能够对含有旧类别事物的图片进行识别,输出图片中事物分类;
所述新任务训练为:采用具有新类别事物的训练集对辨识模型进行再训练,使得辨识模型即能够对含有旧事物的图片进行识别,又能够对含有新事物的图片进行识别,并输出图片中的事物分类。
在本发明中,所述类别是指不同种类的事物,例如猫、狗、桌、椅等均可以为一个类别。
在本发明中,所述神经网络基于EWC,具有权重正则化项,以评估每个权重对于旧任务的重要性程度,在再训练过程中,以旧任务的模型参数为基点,限制参数的偏移。
EWC方法是现有的解决灾难性遗忘问题的主要方法之一,具体结构可参见论文[[1].Kirkpatrick J,Pascanu R,Rabinowitz N,et al.Overcoming catastrophicforgetting in neural networks[J].Proceedings of the national academy ofsciences,2017,114(13):3521-3526.],在此不做赘述
进一步地,所述正则化的损失L
其中,θ
然而,通过实验发现,传统的EWC方法在类增量持续学习场景中依旧存在严重的灾难性遗忘问题,基本只能识别刚学过的任务中涉及的类别。
在本发明中,在EWC的基础上,采用同一个线性分类器作为所有样本的输入。
在本发明中,线性分类器是一种线性映射,将输入的图像特征映射为类别分数,为常用的分类器之一,在本发明中,对其结构不做赘述。
进一步地,根据本发明,在线性分类器的最后一层设置全连接层,表示为:
o=Wz+b
其中,o表示全连接层的输出,z表示线性分类器输出的特征向量,
W表示全连接层的权重矩阵,其元素为不同类别的权重向量,表示为:
W=[w
w
b表示全连接层的偏差向量矩阵,其元素为不同任务的偏差向量,表示为:
b=[b
b
将权重向量的幅值‖w
基于上述发现,在本发明中,不同于传统的EWC,在EWC的基础上,在每个任务训练完毕后,将该任务所有类别的权重向量幅值的均值调整为1,将该任务所有类别的偏差数值的均值调整为0,从而改善新旧任务类别权重向量幅值与偏差数值不平衡问题。并且,调整完毕之后,保留已经学过的任务对应的权重向量和偏差数值,在未来学习新任务后,再加载回去。
进一步优选地,根据本发明,在第t个任务训练完毕后,进行如下处理,实现任务t对应所有类别的权重向量幅值的均值为1:
在第t个任务训练完毕后,进行如下处理,同步偏差向量与权重向量的变化:
在第t个任务训练完毕后,进行如下处理,实现任务t对应类别的偏差数值的均值为0:
其中,S
根据本发明一个优选的实施方式,在旧任务的训练集训练完毕并且进行统一化之后,保存辨识模型中旧任务对应的权重向量和偏差向量,在新任务的训练集训练完毕获得新的辨识模型后,将保存的权重向量替换新辨识模型中旧任务对应的权重向量,将保存的偏差向量替换新辨识模型中旧任务对应的偏差向量。
上述方式,不仅能够保持每个任务对应类别的权重向量幅值的均值都为1、偏差数值的均值都为0,并且达到相当于冻结旧分类器的效果;学习新任务的时候,并不完全冻结住旧任务的分类器,其目的是让模型将新类别的特征向量去与旧类别的分类器权重向量分开。
根据本发明,线性分类器统一化最后一层全连接层的权重向量幅值和偏差数值如图5、6所示,从图中可以看出各个类别的权重向量幅值都接近为1,偏差数值都接近为0,成功消除了新旧任务间分类头权重不平衡的问题。
传统的EWC中,衡量模型参数对任务τ重要性的实际做法是,学习完任务τ之后,将任务τ的数据再输入给模型,计算梯度,以梯度平方的期望作为参数重要性,具体来说,模型参数θ
其中,(x,y)~D
其中bs为训练中批量的大小,批量中各个样本是等权重的,那么在反向转播计算梯度时,各个样本也就是等权重的,因此在参数重要性衡量时,各个样本也就是等权重的。
然而,发明人发现,在学完任务τ之后,模型对于任务τ的样本的学习效果有优劣之分,对于任意样本(x
基于该发现,在本发明中,在EWC的基础上,通过在任务的交叉熵损失中为不同样本的置信度设置权重系数,使得置信度越高的样本,在模型参数重要性估计中影响力越大。
在一个优选的实施方式中,在计算模型参数重要性时,将任务的交叉熵损失L
其中,bs为训练中批量的大小,(y
通过上述设置的交叉熵损失,各个样本不再是等权重的,为各个样本(x
另外,发明人将分类头的模型参数的重要性设置为0,即参数正则化只作用在分类器的backbone参数上。
实施例
实施例1
基于SplitCIFAR100数据集进行实验,该数据集一共100个类别,分为10个任务,每次学习10个类别,即进行1次旧任务训练,9次新任务训练。
在EWC的基础上,采用同一个线性分类器作为所有样本的输入,线性分类器的最后一层设置为全连接层,在任务t训练完毕后,进行如下处理,实现每个任务对应类别的权重向量幅值的均值设置为1:
在任务t训练完毕后,进行如下处理,同步偏差向量与权重向量的变化:
在任务t训练完毕后,进行如下处理,实现每个任务对应类别的偏差数值的均值设置为0:
在任务t训练完毕后,保存辨识模型中旧任务对应的权重向量和偏差向量,在新任务的训练集训练完毕获得新的辨识模型后,将保存的权重向量替换新辨识模型中旧任务对应的权重向量,将保存的偏差向量替换新辨识模型中旧任务对应的偏差向量。
实施例2
进行与实施例1相同的实验,区别在于,在计算模型参数重要性时,进行如下改进。
通过在任务的交叉熵损失中为不同样本的置信度设置权重系数,使得置信度越高的样本,在模型参数重要性估计中影响力越大,在计算模型参数重要性时,将任务的交叉熵损失L
其中,γ=3。
并且,将分类器的分类头的重要性设置为0。
对比例1
进行与实施例1相同的实验,区别在于,使用传统的EWC进行。
实验例1
对比实施例1、对比例1中的分类器权重向量幅值和偏差数值,其结果如图3、4所示,其中,
图3示出了对比例1中分类器权重向量幅值,图4示出了对比例1中分类器偏差数值;
图5示出了实施例1中分类器权重向量幅值,图6示出了实施例1中分类器偏差数值;
从图中可以看出,对比例1中具有明显的新旧任务间分类器权重不平衡的问题,而实施例1解决了该问题。
实验例2
对比实施例1、实施例2、对比例1中进行10次任务后在已训练任务上的准确度,其结果如表二所示,
表二
从表中可以看出,实施例1中的方法,平均准确度远高于对比例1中的方法,说明实施例1中的分类层统一化方法具有较高的有效性。实施例2中的方法,平均精度性比实施例1,有一定的提升,说明实施例2相比实施例1进行了更为有效的改进。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”等指示的方位或位置关系为基于本发明工作状态下的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”“相连”“连接”应作广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
- 基于类Haar和AdaBoost分类器的快速增量学习方法
- 基于类Haar和AdaBoost分类器的快速增量学习方法