一种记忆增强的连续学习神经网络模型的训练方法及装置

文档序号:27549079发布日期:2021-11-24 21:56阅读:197来源:国知局
一种记忆增强的连续学习神经网络模型的训练方法及装置

1.本发明涉及计算机多媒体技术领域,尤其涉及一种图像分类技术。


背景技术:

2.众所周知,人类可以在不遗忘原有知识的情况下,学会新的技能。而对现有的人工智能,尤其是深度神经网络来说,在学习新的知识时会出现灾难性遗忘问题。对于一个人工神经网络而言,在学习了新的技能情况下遗忘掉了之前习得的内容就叫做灾难性遗忘现象。连续学习即人工神经网络可以连续学习不同任务,克服随着任务数量增多,过往任务准确率不高的问题。所以,如何让人工神经网络可以实现想人类一样的连续学习,克服遗忘问题,在学术和应用领域都十分重要。
3.目前,已经有不少前沿研究开展了连续学习问题的研究工作。机器学习、计算机领域的顶级会议neurips、icml、cvpr相继举办了持续学习的workshops,进行研讨交流。现有连续学习分为三种解决思路。第一种是从数据角度出发。这种解决思路是存储关于过去的任务样本,在新任务中加入样本重演。第二种是从神经网络更新方式出发。这种解决思路主要在损失函数中加入正则项,限制模型更新方向。这种解决思路第三种则是从神经网络结构出发。这种解决思路针对不同任务设计不同网络结构与掩码。虽然现有连续学习研究已经取得了突破性进展,但是距离真正的解决灾难性遗忘问题还有很大距离。在模型学习数量较多以及存储空间大小的限制情况下,现有解决方法很难取得十分有效的结果。
4.同时,现有连续学习方法与人脑记忆模式和深层次的遗忘原因等因素没有进行结合。在人脑中有相应的海马体存储记忆,而人工神经网络缺失记忆模块。人脑缺少记忆模块,将产生遗忘甚至无法记忆的情况。神经网络产生遗忘的深层次原因也是如此,所以如何构建记忆模块进行记忆增强并将海马体的概念引入连续学习领域是一个重要的课题与解决思路。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本发明的第一个目的在于提出一种记忆增强的连续学习神经网络模型的训练方法,以实现在人脑记忆回放的启发下,实现对原有任务的记忆增强效果,解决连续学习问题中出现的对已学习任务的遗忘问题。
7.本发明的第二个目的在于提出一种图像分类方法。
8.本发明的第三个目的在于提出一种记忆增强的连续学习神经网络模型的训练装置。
9.本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
10.为达上述目的,本发明第一方面实施例提出了一种记忆增强的连续学习神经网络模型的训练方法,包括以下步骤:
11.获取输入的训练数据,并对所述训练数据进行预处理;
12.将预处理后的训练数据输入至特征提取网络,输出所述训练数据对应的特征;
13.将所述训练数据对应的特征输入至分类网络,输出所述训练数据对应的类别向量;
14.建立记忆存储区域,将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域;
15.根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络。
16.可选地,在本技术的一个实施例中,对所述训练数据进行预处理,包括:
17.将所述训练数据处理为通用格式的向量的形式,其中,n表示任务的序号,i表示在当前任务下的数据序号,j表示在当前数据下的向量分量。
18.可选地,在本技术的一个实施例中,将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域,包括:
19.针对每个任务n,在所述记忆存储区域m中设置子记忆存储区域m
n

20.n个任务对应的记忆存储区域表示为:m={m1,m2,m3,
……
,m
n
}。
21.可选地,在本技术的一个实施例中,在根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络之前,还包括:
22.构建损失函数;
23.根据所述训练数据对应的特征和所述训练数据对应的类别向量,利用所述损失函数对所述特征提取网络和所述分类网络进行更新。
24.可选地,在本技术的一个实施例中,在将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域之后,还包括:
25.针对当前任务m,将当前任务的向量通过所述特征提取网络得到f
im
,根据所述当前任务m的同一标签下的数据,特征向量集合{f
1m
,f
2m
,f
3m

……
,f
im
}和所述特征向量集合对应的标签y
1m

26.计算所述特征向量集合中特征的均值和方差将计算出的所述均值、所述方差与所述标签存储至所述记忆存储区域中所述当前任务m的子记忆存储区域m
m

27.将所有任务m的k个不同类别均放入所述子记忆存储区域m
m
,以将所述当前任务m的记忆压缩存储至所述记忆存储区域中。
28.可选地,在本技术的一个实施例中,所述均值和方差的计算公式为:
[0029][0030][0031]
将所有任务m的k个不同类别均放入所述子记忆存储区域m
m
中,得到:
[0032][0033]
可选地,在本技术的一个实施例中,在利用所述损失函数对所述特征提取网络和所述分类网络进行更新之后,还包括:
[0034]
通过存储任务m特征的均值和方差,根据所述子记忆存储区域m
m
生成正态分布特
征集
[0035]
根据所述正态分布特征集生成记忆增强数据;
[0036]
根据所述记忆增强数据对所述分类网络进行训练更新。
[0037]
为达上述目的,本技术第二方面实施例提出一种图像分类方法,包括:
[0038]
获取待分类图像的数据集;
[0039]
将所述待分类图像的数据集输入至采用权利要求1

7任一项所述的记忆增强的连续学习神经网络模型的训练方法训练的神经网络,以输出所述待分类图像的分类标签。
[0040]
为达上述目的,本技术第三方面实施例提出一种记忆增强的连续学习神经网络模型的训练装置,包括以下模块:
[0041]
获取模块,用于获取输入的训练数据,并对所述训练数据进行预处理;
[0042]
特征提取模块,用于将预处理后的训练数据输入至特征提取网络,输出所述训练数据对应的特征;
[0043]
分类模块,用于将所述训练数据对应的特征输入至分类网络,输出所述训练数据对应的类别向量;
[0044]
创建模块,用于建立记忆存储区域,将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域;
[0045]
构建模块,用于根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络。
[0046]
为达上述目的,本技术第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现记忆增强的连续学习神经网络模型的训练方法,或者,实现图像分类方法。
[0047]
本技术的技术效果:在人脑记忆回放的启发下,利用简单的数据回放方法,通过存储数据的均值和方差的方式构建可扩展的记忆模块,实现对原有任务的记忆增强效果,解决连续学习问题中出现的对已学习任务的遗忘问题。
[0048]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0049]
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0050]
图1为本技术实施例所提供的一种记忆增强的连续学习神经网络模型的训练方法的流程图;
[0051]
图2为本技术实施例所提供的记忆增强的连续学习神经网络模型示意图;
[0052]
图3为本技术实施例所提供的一种记忆增强的连续学习神经网络模型的训练装置示意图。
具体实施方式
[0053]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0054]
下面参考附图描述本发明实施例的一所提供的一种记忆增强的连续学习神经网络模型的训练方法。
[0055]
如图1所示,为达上述目的,本发明第一方面实施例提出了一种记忆增强的连续学习神经网络模型的训练方法,包括以下步骤:
[0056]
步骤s10、获取输入的训练数据,并对所述训练数据进行预处理;
[0057]
步骤s20、将预处理后的训练数据输入至特征提取网络,输出所述训练数据对应的特征;
[0058]
步骤s30、将所述训练数据对应的特征输入至分类网络,输出所述训练数据对应的类别向量;
[0059]
步骤s40、建立记忆存储区域,将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域;
[0060]
步骤s50、根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络。
[0061]
在本技术的一个实施例中,进一步地,具体而言,本技术实施例提出的记忆增强的连续学习神经网络模型,其原理框图如图2所示,通过在神经网络中引入仿海马体的记忆存储区域,实现对连续学习任务的记忆增强功能。具体来说,在训练部分分为神经网络训练和记忆存储。输入的训练数据通过预处理,在本发明设计的特征提取网络下进行特征提取。提取出的特征分为两个部分,一部分用作训练分类网络,输出当前任务数据的标签。另外一部分提取出的特征用本发明的记忆压缩方式存储在记忆存储区域,生成记忆增强材料。当神经网络连续学习不同任务时,持续上述训练过程,达到特征提取网络和分类网络的训练目的以及任务关联记忆材料的生成。在模型输入未标注数据进行测试阶段,模型固定特征提取网络,激活记忆存储区域,将记忆存储区域存储的任务关联记忆进行记忆增强,更新分类网络,输出记忆增强后的标签,实现对未标注数据的测试与标注。
[0062]
本技术实施例提出的记忆增强的连续学习神经网络模型在训练阶段引入针对任务的记忆存储区域,在测试阶段有效地将这些记忆通过记忆增强的手段反馈给神经网络。利用构建的神经网络模型本身的正则化约束,结合记忆增强手段,在占用较少存储区域以及训练资源的情况下快速收敛,减少神经网络在连续学习多任务情况下出现的任务分类准确率下降现象,实现对连续学习任务的高效记忆,克服灾难性遗忘问题。
[0063]
在本技术的一个实施例中,进一步地,对所述训练数据进行预处理,包括:
[0064]
将所述训练数据处理为通用格式的向量的形式,其中,n表示任务的序号,i表示在当前任务下的数据序号,j表示在当前数据下的向量分量。
[0065]
在本技术的一个实施例中,进一步地,特征提取网络构建,特征提取网络部分主要是用来提取数据所包含的特征,这里可以根据实际需求选用不同网络结构进行搭建,比如resnet、vggnet等。我们选取这些网络的卷积部分,得到我们的特征提取网络s。对于第n个任务的第j个数据通过特征提取网络s可以得到对于的特征f
in
,即
[0066][0067]
对于第n个任务的第j个数据提取出的特征f
in
将会用作训练分类网络以及记忆
压缩方式存储在记忆存储区域。
[0068]
在本技术的一个实施例中,进一步地,分类网络构建,分类网络部分主要将特征提取网络生成的f
in
进行分类,输出一个类别向量。这里采用两层全连接层的结构搭建分类网络,具体输入输出维度与实际数据大小有关。由于本发明属于单标签分类问题,所以最终输出的类别向量只有一个元素。我们得到分类网络为h,对于提取出的特征f
in
的标签可以利用分类网络输出h(f
in
)判断各个分量的关联程度。h(f
in
)中最大的一个输出分量即为我们判断出的数据所属类别。数学表示为:
[0069][0070]
其中代表了数据经过特征提取网络和分类网络判断出的标签。
[0071]
在本技术的一个实施例中,进一步地,在本技术的一个实施例中,进一步地,具体而言,为了实现记忆增强功能,需要先建立一个存储存储空间,预留存储经过特征提取网络的特定内容的区域。根据人脑中海马体记忆的原理启发构建我们的记忆存储区域。对于每一个任务,都需要在存储空间中开辟一个子空间存储各种信息。
[0072]
将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域,包括:
[0073]
针对每个任务n,在所述记忆存储区域m中设置子记忆存储区域m
n

[0074]
n个任务对应的记忆存储区域表示为:m={m1,m2,m3,
……
,m
n
}。
[0075]
神经网络与基于存储区域构建完毕。由于实际应用中数据的大小和存储区域的限制,可以对上面构建进行适当调整。
[0076]
在本技术的一个实施例中,进一步地,本技术实施例考虑到特征提取部分在连续学习多任务时出现的过往特征提取变化导致分类精度降低问题以及分类时出现的新类别混淆问题,设计了如下损失函数:
[0077][0078]
其中,θ表示与标签y
in
之间的差异,l
p
(θ)表示当前任务下求得的交叉熵函数,代表了特征提取部分在当前任务更新前后参数产生的差异变化,代表了分类部分经过更新后出现混淆分类的二次约束关系。特征提取部分在使得特征提取网络的参数变化不会很大,但是依然会沿着l
p
(θ)减小的方向更新,而部分使得分类网络在出现类别混淆后,由于平方的关系,会出现很大的损失函数,限制更新。
[0079]
该损失函数综合考虑了数据遗忘以及不同网络的参数变化情况。在该损失函数的限制下我们对当前任务所有数据进行更新,可以较好地抑制遗忘现象的出现。
[0080]
上面的步骤只是对特征提取网络和分类网络进行了一轮更新。为了更好地进行特征提取和进行分类,获取优异的特征,得到更高的准确率以及一定的抗遗忘效果,需要不断重复上面地步骤,直到特征提取网络训练结果较好,分类网络分类准确率符合要求。由于本发明中特征提取网络具有比较强的鲁棒性,在本发明设置的损失函数下,能够在比较少的
更新轮次下收敛,得到较为不错的特征提取网络,分类网络通过正则化的约束,获得了一定的连续学习能力,可以在少量数据的情况下学习新任务,所以重复的轮次不会很多。
[0081]
可选地,在本技术的一个实施例中,在根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络之前,还包括:
[0082]
构建损失函数;
[0083]
根据所述训练数据对应的特征和所述训练数据对应的类别向量,利用所述损失函数对所述特征提取网络和所述分类网络进行更新。
[0084]
在本技术的一个实施例中,进一步地,在将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域之后,还包括:
[0085]
针对当前任务m,将当前任务的向量通过所述特征提取网络得到f
im
,根据所述当前任务m的同一标签下的数据,特征向量集合{f
1m
,f
2m
,f
3m
,
……
,f
im
}和所述特征向量集合对应的标签y
1m

[0086]
计算所述特征向量集合中特征的均值和方差将计算出的所述均值、所述方差与所述标签存储至所述记忆存储区域中所述当前任务m的子记忆存储区域m
m

[0087]
将所有任务m的k个不同类别均放入所述子记忆存储区域m
m
,以将所述当前任务m的记忆压缩存储至所述记忆存储区域中。
[0088]
在本技术的一个实施例中,进一步地,所述均值和方差的计算公式为:
[0089][0090][0091]
将所有任务m的k个不同类别均放入所述子记忆存储区域m
m
中,得到:
[0092][0093]
上面的步骤是连续学习中单一任务的神经网络更新方式。一共有n个任务时,需要把上述步骤重复n次进行对不同任务的学习。经过上述操作,本技术实施例的神经网络能够连续学习多任务,并且取得了较好的分类效果。下面进行针对神经网络的记忆增强环节。
[0094]
在本技术的一个实施例中,进一步地,在利用所述损失函数对所述特征提取网络和所述分类网络进行更新之后,还包括:
[0095]
通过存储任务m特征的均值和方差,根据所述子记忆存储区域m
m
生成正态分布特征集
[0096]
根据所述正态分布特征集生成记忆增强数据;
[0097]
根据所述记忆增强数据对所述分类网络进行训练更新。
[0098]
利用这些记忆增强数据,可以对分类网络h进行训练更新。这里取更新轮次为1进行记忆增强,也可以适当增加更新轮次,但是要尽量保证增强数据比任务训练数据总量要少。同样地,可以对每个任务进行记忆增强。经过记忆增强操作,分类网络h训练更新后变为h

。此时分类网络h

与特征提取网络s就具备了对连续学习任务比较好的鲁棒性,可以对过往学习过地任务进行较好的标注。
[0099]
测试待分类数据
[0100]
通过上一步对分类网络的记忆增强环节,分类网络h更新为h

,在测试阶段,测试来自任务m的第a个未标注数据可以应用更新的分类网络h

与训练好的特征提取网络s,数学表示为:
[0101][0102]
其中表示通过记忆增强后得到的未标注数据的标签。
[0103]
按照上述全部步骤,即可实现记忆增强的连续学习神经网络模型对为标注数据的分类功能。在构建神经网络模型与记忆存储空间时,网络的维度与存储空间的大小可以根据实际数据的需求进行领过调整。本技术实施例所构建的神经网络模型是一种比较鲁棒,可调整的神经网络模型,针对连续学习任务,可以达到不错的学习效果。
[0104]
在本技术的一个实施例中,进一步地,通过在图像领域的两个标准数据集cifar

10、cifar

100进行实验,本技术实施例提出的记忆增强的连续学习神经网络模型表现出了优异的性能。在cifar

10数据集中,设置任务数量为5,每个任务有两个类别,训练轮次为40;在cifar

100数据集中,设置任务数量为10,每个任务有10个类别,训练轮次为80。在两个实验中,设置模型记忆回放率为原数据集的10%。对于这两个标准数据集,本发明提出的记忆增强模型,在相同训练轮次下,与现有连续学习方法相比,遗忘率分别降低了50%与40%,训练速度与模型收敛速度也得到了相应提高。
[0105]
本技术的技术效果:在人脑记忆回放的启发下,利用简单的数据回放方法,通过存储数据的均值和方差的方式构建可扩展的记忆模块,实现对原有任务的记忆增强效果,解决连续学习问题中出现的对已学习任务的遗忘问题。
[0106]
为达上述目的,本技术第二方面实施例提出一种图像分类方法,包括:
[0107]
获取待分类图像的数据集;
[0108]
将所述待分类图像的数据集输入至采用本技术第一方面实施例的记忆增强的连续学习神经网络模型的训练方法训练的神经网络,以输出所述待分类图像的分类标签。
[0109]
如附图3所示,为达上述目的,本技术第三方面实施例提出一种记忆增强的连续学习神经网络模型的训练装置,包括以下模块:
[0110]
获取模块,用于获取输入的训练数据,并对所述训练数据进行预处理;
[0111]
特征提取模块,用于将预处理后的训练数据输入至特征提取网络,输出所述训练数据对应的特征;
[0112]
分类模块,用于将所述训练数据对应的特征输入至分类网络,输出所述训练数据对应的类别向量;
[0113]
创建模块,用于建立记忆存储区域,将所述训练数据对应的特征中满足预设条件的目标特征存储至所述记忆存储区域;
[0114]
构建模块,用于根据所述特征提取网络、所述分类网络和所述记忆存储区域构建神经网络。
[0115]
为达上述目的,本技术第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现记忆增强的连续学习神经网络模型的训练方法,或者,实现图像分类方法。
[0116]
本技术的技术效果:本发明提出一种数据回放模型,通过存储数据的均值和方差,在占用较小存储空间情况下实现了对抗灾难性遗忘能力,达到了学而不忘的目的;本发明提出一种深度神经网络记忆模块的构建方法,通过构建扩展记忆模块,提高深度神经网络的鲁棒性,记忆模块扩展能力较强,移植性较好,可以为不同深度神经网络进行扩展;本发明提出一种记忆增强方法,通过模仿人脑皮层与海马体记忆模式,构建记忆模块,实现对过往任务的记忆增强,解决了灾难性遗忘问题。
[0117]
尽管参考附图详地公开了本技术,但应理解的是,这些描述仅仅是示例性的,并非用来限制本技术的应用。本技术的保护范围由附加权利要求限定,并可包括在不脱离本技术保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
[0118]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0119]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0120]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0121]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0122]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0123]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0124]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0125]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1