神经网络的训练方法、神经网络的训练装置和电子设备与流程

文档序号:23223217发布日期:2020-12-08 15:06阅读:139来源:国知局
神经网络的训练方法、神经网络的训练装置和电子设备与流程

本申请涉及深度学习领域,且更为具体地,涉及一种神经网络的训练方法,神经网络的训练装置和电子设备。



背景技术:

深度神经网络通过其在各种感知任务中的优异性能显著增强了人工智能的发展。但是,目前深度神经网络中的计算资源消耗问题限制了深度神经网络在诸如用于移动终端的嵌入式系统中的实现,从而期望开发网络压缩技术。

网络压缩技术可以加速诸如移动终端等设备上的用于实时应用的神经网络,并且,网络压缩技术可以包括诸如网络剪枝,量化,知识蒸馏和紧密网络设计等多个类型。

其中,通过知识蒸馏,深度网络压缩取得了显著的进步。在知识蒸馏中,通过使用预定损失函数来实现老师网络-学生网络的学习方式。

近年来,越来越多的研究聚焦于采用对抗训练来最小化来自老师网络和学生网络的输出的分布之间的差异。但是,这些对抗训练大多数强调结果导向的学习,同时忽略过程导向的学习,这导致整个网络中包括的丰富信息遭受损失。

因此,期望改进的用于知识蒸馏的神经网络的训练方法。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种神经网络的训练方法、神经网络的训练装置和电子设备,其通过注意力估计器从中间特征图和全局特征图来获得知识提取向量,并基于知识提取向量计算损失函数值以更新神经网络的参数,从而提高训练后的神经网络的性能。

根据本申请的一方面,提供了一种神经网络的训练方法,包括:通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图;获得所述第一神经网络的至少一个第一中间层输出的至少一个第一中间特征图,以及,获得所述第二神经网络与所述至少一个第一中间层对应的至少一个第二中间层输出的至少一个第二中间特征图;通过至少一个第一注意力估计器分别从所述至少一个第一中间特征图和所述第一全局特征图获得至少一个第一知识提取向量;通过至少一个第二注意力估计器分别从所述至少一个第二中间特征图和所述第二全局特征图获得至少一个第二知识提取向量;基于所述至少一个第一知识提取向量和所述至少一个第二知识提取向量计算中间损失函数值;以及,基于所述中间损失函数值更新所述第二神经网络和所述至少一个第二注意力估计器的参数。

根据本申请的另一方面,提供了一种神经网络的训练装置,包括:全局特征图获得单元,用于通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图;中间特征图获得单元,用于获得所述第一神经网络的至少一个第一中间层输出的至少一个第一中间特征图,以及,获得所述第二神经网络与所述至少一个第一中间层对应的至少一个第二中间层输出的至少一个第二中间特征图;第一知识提取向量获得单元,用于通过至少一个第一注意力估计器分别从所述中间特征图获得单元所获得的所述至少一个第一中间特征图和所述全局特征图获得单元所获得的所述第一全局特征图获得至少一个第一知识提取向量;第二知识提取向量获得单元,用于通过至少一个第二注意力估计器分别从所述中间特征图获得单元所获得的所述至少一个第二中间特征图和所述全局特征图获得单元所获得的所述第二全局特征图获得至少一个第二知识提取向量;中间损失函数值计算单元,用于基于所述第一知识提取向量获得单元所获得的所述至少一个第一知识提取向量和所述第二知识提取向量获得单元所获得的所述至少一个第二知识提取向量计算中间损失函数值;以及,第一参数更新单元,用于基于所述中间损失函数值计算单元计算的所述中间损失函数值更新所述第二神经网络和所述至少一个第二注意力估计器的参数。

根据本申请的再一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的神经网络的训练方法。

根据本申请的又一方面,提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如上所述的神经网络的训练方法。

本申请提供的神经网络的训练方法,神经网络的训练装置和电子设备通过注意力估计器从中间特征图和全局特征图来获得知识提取向量,并基于知识提取向量计算损失函数值以更新神经网络的参数,可以结合过程导向的学习方式和结果导向的学习方式,有效地和紧凑地从老师网络向学生网络传递信息,从而提高训练后的神经网络的性能。

并且,本申请提供的神经网络的训练方法,神经网络的训练装置和电子设备通过注意力估计器可以以更加紧凑的方式来压缩用于中间监督的信息,从而促进经由中间监督的网络训练的收敛的稳定性。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1图示了根据本申请实施例的神经网络的训练方法的流程图。

图2图示了根据本申请实施例的神经网络的训练方法的网络架构的示意图。

图3图示了根据本申请实施例的神经网络的训练方法中的更新过程的示例的流程图。

图4图示了根据本申请实施例的神经网络的训练方法中的对抗学习过程的示例的流程图。

图5图示了根据本申请实施例的神经网络的训练方法中的第一知识提取向量的获得过程的示例的流程图。

图6图示了根据本申请实施例的神经网络的训练方法中的第二知识提取向量的获得过程的示例的流程图。

图7图示了根据本申请实施例的神经网络的训练方法中的第一注意力估计器的训练过程的示例的流程图。

图8图示了根据本申请实施例的神经网络的训练装置的框图。

图9图示了根据本申请实施例的神经网络的训练装置中的第一参数更新单元的示例的框图。

图10图示了根据本申请实施例的神经网络的训练装置中的鉴别器损失函数值计算子单元的示例的框图。

图11图示了根据本申请实施例的神经网络的训练装置中的第一注意力估计器的示例的框图。

图12图示了根据本申请实施例的神经网络的训练装置中的第二注意力估计器的示例的框图。

图13图示了根据本申请实施例的神经网络的训练装置中的第一注意力估计器的训练示例的框图。

图14图示了根据本申请实施例的电子设备的框图。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

如上所述,边缘计算在包括ai芯片,手机移动端,iot终端等的高速发展,对于深度学习模型的压缩和加速技术方面带来了极大的需求。知识蒸馏(knowledgedistilling,kd)是一类非常有效的模型压缩技术。

在知识蒸馏中,主要包括两个角色:教师(teacher:t)网络和学生(student:s)网络;其中,教师网络一般是训练好的结构比较复杂、计算量大的大型网络模型;学生网络一般是结构精简、利于边缘计算使用的轻量级模型。目前,现有的知识蒸馏方法一般是使用kl散度等损失函数让学生网络的输出接近老师网络的输出,但是如何设计好一个最佳的损失函数是一个很困难的问题。

针对上述技术问题,本申请的基本构思是提出一种基于生成式对抗学习(gan)的带有知识导向的、有中间过程监督的用于实现知识蒸馏的神经网络的训练方法。

具体地,本申请提供的神经网络的训练方法,神经网络的训练装置和电子设备首先通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图;并获得所述第一神经网络的至少一个第一中间层输出的至少一个第一中间特征图,以及,获得所述第二神经网络与所述至少一个第一中间层对应的第二中间层输出的至少一个第二中间特征图;然后通过至少一个第一注意力估计器分别从所述至少一个第一中间特征图和所述第一全局特征图获得至少一个第一知识提取向量;并通过至少一个第二注意力估计器分别从所述至少一个第二中间特征图和所述第二全局特征图获得至少一个第二知识提取向量;再基于所述至少一个第一知识提取向量和所述至少一个第二知识提取向量计算中间损失函数值;最后基于所述中间损失函数值更新所述第二神经网络和所述至少一个第二注意力估计器的参数。

这样,本申请提供的神经网络的训练方法,神经网络的训练装置和电子设备通过注意力估计器从中间特征图和全局特征图来获得知识提取向量,使得所述知识提取向量可以以结合过程导向的学习方式和结果导向的学习方式来获得中间特征图和全局特征图中的信息。

并且,进一步基于所述第一神经网络的所述第一知识提取向量和所述第二神经网络的所述第二指示提取向量计算损失函数值以更新第二神经网络的参数,可以有效地和紧凑地从所述第一神经网络向所述第二神经网络传递信息,从而提高训练后的第二神经网络的性能。

并且,本申请提供的神经网络的训练方法,神经网络的训练装置和电子设备通过注意力估计器可以以更加紧凑的方式来压缩用于中间监督的信息,从而促进经由中间监督的网络训练的收敛的稳定性。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性方法

图1图示了根据本申请实施例的神经网络的训练方法的流程图。

如图1所示,根据本申请实施例的神经网络的训练方法包括如下步骤。

在步骤s110中,通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图。如上所述,所述第一神经网络可以是老师网络,即,训练好的结构比较复杂、计算量大的大型网络模型。并且,所述第二神经网络可以是学生网络,即,结构精简、利于边缘计算使用的轻量级模型。

图2图示了根据本申请实施例的神经网络的训练方法的网络架构的示意图。如图2所示,将输入图像in输入第一神经网络t1,以获得第一全局特征图fg1,并且同时,所述输入图像in输入第二神经网络t2,以获得第二全局特征图fg2。这里,所述第一全局特征图fg1和所述第二全局特征图fg2可以分别是所述第一神经网络t1和所述第二神经网络t2的softmax层的输入特征图。

在步骤s120中,获得所述第一神经网络的至少一个第一中间层输出的至少一个第一中间特征图,以及,获得所述第二神经网络与所述至少一个第一中间层对应的至少一个第二中间层输出的至少一个第二中间特征图。

也就是,参考图2,所述第一神经网络t1可以被划分为两个部分t11和t12,针对所述输入图像in,从第一部分t11获得其中间层输出的第一中间特征图ft1。这里,在本申请实施例中,所述第一神经网络t1也可以被划分为更多个部分,从而获得多个第一中间层输出的多个第一中间特征图。另外,在本申请实施例中,所述多个部分可以是将所述第一神经网络平均划分成的,例如,对于60层的第一神经网络,可以分别获得其第20层和第40层输出的第一中间特征图。另外,所述多个部分也可以是将所述第一神经网络以非平均的方式任意划分成的,例如,对于60层的第一神经网络,可以分别获得其第10层和第30层输出的第一中间特征图。

继续参考图2,所述第一神经网络t2也可以被划分为两个部分t21和t22,针对所述输入图像in,从第一部分t21获得其中间层输出的第二中间特征图ft2。这里,所述第二神经网络t2的所述至少一个第二中间层与所述第一神经网络t1的所述至少一个第一中间层对应。也就是,所述至少一个第二中间层在所述第二神经网络t2中的位置应该与所述至少一个第一中间层在所述第一神经网络t1中的位置对应。

例如,对于60层的第一神经网络,在分别获得其第20层和第40层输出的第一中间特征图的情况下,对于15层的第二神经网络,则应当分别获得其第5层和第10层输出的第二中间特征图。或者,对于60层的第一神经网络,在分别获得其第10层和第30层输出的第一中间特征图的情况下,对于12层的第二神经网络,则应当分别获得其第2层和第6层输出的第二中间特征图。

在步骤s130,通过至少一个第一注意力估计器分别从所述至少一个第一中间特征图和所述第一全局特征图获得至少一个第一知识提取向量。也就是,通过所述第一注意力估计器,所述第一知识提取向量可以不仅包括所述第一全局特征图中所包含的信息,也包括所述至少一个第一中间特征图中所包含的信息,从而以紧凑的形式集成结果信息和过程信息。

参考图2,第一注意力估计器ae1从第一中间特征图ft1和第一全局特征图fg1获得第一知识提取向量kv1。另外,在本申请实施例中,还可以进一步获得所述第一神经网络t1的第二部分t12输出的另一第一中间特征图ft1’,并通过所述第一注意力估计器ae1从第一中间特征图ft1’和第一全局特征图fg1获得第一知识提取向量kv1’。

在步骤s140,通过至少一个第二注意力估计器分别从所述至少一个第二中间特征图和所述第二全局特征图获得至少一个第二知识提取向量。也就是,通过所述第二注意力估计器,所述第二知识提取向量可以不仅包括所述第二全局特征图中所包含的信息,也包括所述至少一个第二中间特征图中所包含的信息,从而以紧凑的形式集成结果信息和过程信息。

参考图2,第二注意力估计器ae2从第二中间特征图ft2和第二全局特征图fg2获得第一知识提取向量kv2。另外,在本申请实施例中,还可以进一步获得所述第二神经网络t2的第二部分t22输出的另一第二中间特征图ft2’,并通过所述第二注意力估计器ae2从第二中间特征图ft2’和第二全局特征图fg2获得第二知识提取向量kv2’。

在步骤s150,基于所述至少一个第一知识提取向量和所述至少一个第二知识提取向量计算中间损失函数值。具体地,可以计算所述第一知识提取向量和所述第二知识提取向量的l2距离,即:

其中,是所述第一知识提取向量(i=1,...,n)的集合,n指的是所述第一知识提取向量的个数,即,上述第一神经网络的中间层的层数。是所述第二知识提取向量(i=1,...,n)的集合,n指的是所述第二知识提取向量的个数,即,上述第二神经网络的中间层的层数,其与所述第一神经网络的中间层的层数相等。这里,所述多个第一知识提取向量或者所述多个第二知识提取向量可以通过级联的方式形成上述第一知识提取向量或者第二知识提取向量的集合。

此外,在本申请实施例中,所述中间损失函数值也可以计算为所述至少一个第一知识提取向量和所述至少一个第二知识提取向量的l1距离,或者交叉熵损失函数值。

在步骤s160,基于所述中间损失函数值更新所述第二神经网络和所述至少一个第二注意力估计器的参数。通过基于所述中间损失函数值更新所述第二神经网络,可以通过中间监督的方式使得所述第二神经网络有效地学习所述第一神经网络的全局特征图和中间特征图中包含的知识。

这样,所述第二神经网络的训练结合了过程导向的学习方式和结果导向的学习方式,并且可以有效地和紧凑地获得从所述第一神经网络向所述第二神经网络传递的信息,提高了训练后的第二神经网络的性能。

并且,在本申请实施例中,所述第二注意力估计器的参数可以与在所述第二神经网络的训练过程中,与所述第二神经网络的参数一起更新,从而提高了网络训练的效率。

图3图示了根据本申请实施例的神经网络的训练方法中的更新过程的示例的流程图。

如图3所示,在如图1所示的实施例的基础上,所述步骤s160进一步包括以下步骤。

在步骤s1601,使用所述第一全局特征图的第一逻辑层输出和所述第二全局特征图的第二逻辑层输出计算全局损失函数值。在本申请实施例中,通过注意力估计器获得的知识提取向量来实现了过程导向的学习,因此,所述全局损失函数值可以基于所述全局特征图的逻辑层输出而不是所述全局特征图来计算,从而考虑全局损失函数值作为结果导向的指引。

并且,在本申请实施例中,所述全局损失函数值可以计算为l2损失函数值,即:

其中x是输入,分别是所述第一神经网络和所述第二神经网络的逻辑(logits)层的输出。

在步骤s1602,将所述第一逻辑层输出和所述第二逻辑层输出输入鉴别器网络以计算出鉴别器损失函数值。与上面所述的相同,所述鉴别器损失函数值基于所述全局特征图的逻辑层输出而不是所述全局特征图来计算,从而考虑所述鉴别器损失函数值作为结果导向的指引。

返回参考图2,所述第一全局特征图fg1的逻辑层输出为l1,且所述第二全局特征图fg2的逻辑层输出为l2。通过对抗学习的思想,基于gan的框架,利用gan的鉴别器(discriminator:d)来匹配所述第一神经网络和所述第二神经网络的输出。这样,参考图2,基于gan的架构,将生成器替换为第二神经网络t2,然后将逻辑层输出l1和l2送入鉴别器网络d,鉴别器网络d判断输入来自于第一神经网络t1还是第二神经网络t2,节可以将gan应用在知识蒸馏模型中。

在步骤s1603,基于所述全局损失函数值、所述鉴别器损失函数值和所述中间损失函数值更新所述第二神经网络、所述至少一个第二注意力估计器和所述鉴别器网络的参数。

也就是,所述全局损失函数值和鉴别器损失函数值在高维特征空间上对所述第一神经网络和所述第二神经网络进行约束,这可以被定义为结果导向的学习。而在现实的学习过程中,不仅是在结果上进行学习,学习同样发生在过程中。因此,如上所述,中间损失函数值作为过程导向的损失函数值,和结果导向的损失函数值一起,提高了知识蒸馏的效果。因此,在本申请实施例中,总损失函数值为:

l=λ1lb+λ2ladv+λ3lis

其中,lb为全局损失函数值,ladv为鉴别器损失函数值,且lis为中间损失函数值。λ1,λ2和λ3为加权系数。

因此,通过将生成式对抗学习结合到根据本申请实施例的神经网络的训练方法中,可以使得所述第二神经网络的输出的分布更加接近所述第一神经网络的输出的分布,从而进一步提高训练好的所述第二神经网络的性能。

图4图示了根据本申请实施例的神经网络的训练方法中的对抗学习过程的示例的流程图。

如图4所示,在如图3所示的实施例的基础上,所述步骤s1602进一步包括以下步骤。

在步骤s16021中,基于所述第一逻辑层输出和所述第二逻辑层输出计算出对抗损失函数值。这里,所述对抗损失函数值的目标是混淆鉴别器网络d对于所述第一神经网络和所述第二神经网络的输出判断,定义为:

其中,x是输入,分别是所述第一神经网络和所述第二神经网络的所述第一逻辑层和所述第二逻辑层的输出,且pt和ps分别是所述第一逻辑层和所述第二逻辑层的输出分布。

在步骤s16022中,基于所述第二逻辑层输出和所述鉴别器网络的参数计算出正则损失函数值。这里,所述正则损失函数值是为了进一步地让所述第二神经网络得到更有价值的梯度,其定义为:

其中,ωd是鉴别器网络d的参数,第一项|ωd|和第二项用于减缓鉴别器的收敛速度,使之与所述第二神经网络相匹配,第三项是对抗样本约束,用于增强鉴别器的表达能力。μ用于控制正则损失函数值的贡献,例如可以简单地设置为1。

在步骤s16023中,基于所述第一神经网络和所述第二神经网络的输出标签计算出类监督损失函数值。上述的对抗损失函数值和正则损失函数值更加侧重于所述第一神经网络和所述第二神经网络的输出的概率分布的一致性,而类监督损失函数值用于提取类别标签信息,定义为:

其中,l(x)是所述输入图像的标签,ct(x)和cs(x)分别是所述第一神经网络和所述第二神经网络网络的输出标签。

在步骤s16024中,基于所述对抗损失函数值、所述正则损失函数值和所述类监督损失函数值,确定所述鉴别器损失函数值。例如,所述鉴别器损失函数值定义为所述对抗损失函数值、所述正则损失函数值和所述类监督损失函数值之和,即:

其中,ladv是所述鉴别器损失函数值,是所述对抗损失函数值,lreg是所述正则损失函数值,且是所述类监督损失函数值。

因此,通过基于如上所述的所述对抗损失函数值、所述正则损失函数值和所述类监督损失函数值来确定所述鉴别器损失函数值,由于所述正则损失函数值让所述第二神经网络得到更有价值的梯度,可以提高所述鉴别器网络的性能,并且,由于所述类监督损失函数值以扩展的标签输出来联合地预测“老师/学生”和类别,使得所述鉴别器网络进行的对抗学习更加稳定。

图5图示了根据本申请实施例的神经网络的训练方法中的第一知识提取向量的获得过程的示例的流程图。

如图5所示,在如图1所示的实施例的基础上,所述步骤s130进一步包括以下步骤。

如上所述,在步骤s130,可以通过多个所述第一注意力估计器分别从所述至少一个第一中间特征图和所述第一全局特征图获得至少一个第一知识提取向量。在本申请实施例中,每个所述第一注意力估计器从第一中间特征图和第一全局特征图获得第一知识提取向量的过程是相同的。因此,在以下描述中,仅以一个所述第一知识提取向量的获得过程为例进行说明。

在步骤s1301中,将所述第一全局特征图上采样为与所述第一中间特征图通道数相同的第一上采样特征图。这里,所述第一全局特征图的通道数小于所述第一中间特征图的通道数。例如,所述第一全局特征图的通道数为128,而所述第一中间特征图的通道数为256。因此,通过上采样,获得通道数为256的第一上采样特征图。

在步骤s1302中,将所述第一上采样特征图与所述第一全局特征图进行点加以获得第一点加特征图。也就是,对于所述第一上采样特征图和所述第一全局特征图,进行沿着通道的维度的逐元素的点加以获得所述第一点加特征图。

在步骤s1303中,将所述第一点加特征图与第一卷积核的卷积通过第一softmax激活函数以计算出第一注意力分数。这里,所述第一卷积核例如可以为1×c×1×1的卷积核,其中c是所述第一中间特征图的通道数目。然后,所述第一点加特征图与第一卷积核的卷积通过第一softmax激活函数获得所述第一注意力分数。

在步骤s1304中,将所述第一注意力分数与所述第一全局特征图点乘后进行平均池化以获得所述第一知识提取向量。也就是,所述第一注意力分数与所述第一全局特征图进行逐元素的点乘,然后在进行平均池化以获得所述第一知识提取向量。

这样,通过所述第一注意力估计器,可以通过与特定任务信息,即中间特征图的集成来以紧凑的形式转换神经网络中所包含的知识,从而实现了“压榨式”的知识提取。这样,能够以更加紧凑的方式来压缩用于中间监督的信息,从而促进经由中间监督的网络训练的收敛的稳定性。

图6图示了根据本申请实施例的神经网络的训练方法中的第二知识提取向量的获得过程的示例的流程图。

如图6所示,在如图1所示的实施例的基础上,所述步骤s140进一步包括以下步骤。

与以上关于所述第一注意力估计器的说明相同,在步骤s140,可以通过多个所述第二注意力估计器分别从所述至少一个第二中间特征图和所述第二全局特征图获得至少一个第二知识提取向量。在本申请实施例中,每个所述第二注意力估计器从第二中间特征图和第二全局特征图获得第二知识提取向量的过程是相同的。因此,在以下描述中,仅以一个所述第二知识提取向量的获得过程为例进行说明。

在步骤s1401中,将所述第二全局特征图上采样为与所述第二中间特征图通道数相同的第二上采样特征图。这里,所述第二全局特征图的通道数小于所述第二中间特征图的通道数。例如,所述第二全局特征图的通道数为16,而所述第二中间特征图的通道数为32。因此,通过上采样,获得通道数为32的第二上采样特征图。

在步骤s1402中,将所述第二上采样特征图与所述第二全局特征图进行点加以获得第二点加特征图。也就是,对于所述第二上采样特征图和所述第二全局特征图,进行沿着通道的维度的逐元素的点加以获得所述第二点加特征图。

在步骤s1403中,将所述第二点加特征图与第二卷积核的卷积通过第二softmax激活函数以计算出第二注意力分数。这里,所述第二卷积核例如可以为1×c×1×1的卷积核,其中c是所述第二中间特征图的通道数目。然后,所述第二点加特征图与第二卷积核的卷积通过第二softmax激活函数获得所述第二注意力分数。

在步骤s1404中,将所述第二注意力分数与所述第二全局特征图点乘后进行平均池化以获得所述第二知识提取向量。也就是,所述第二注意力分数与所述第二全局特征图进行逐元素的点乘,然后在进行平均池化以获得所述第二知识提取向量。

这样,通过所述第二注意力估计器,可以通过与特定任务信息,即中间特征图的集成来以紧凑的形式转换神经网络中所包含的知识,从而实现了“压榨式”的知识提取。这样,能够以更加紧凑的方式来压缩用于中间监督的信息,从而促进经由中间监督的网络训练的收敛的稳定性。

图7图示了根据本申请实施例的神经网络的训练方法中的第一注意力估计器的训练过程的示例的流程图。

如图7所示,在如图1所示的实施例的基础上,在步骤s110之前,可以进一步包括以下步骤。

步骤s101,将具有标签的输入图像输入所述第一神经网络以获得训练全局特征图。也就是,与图2所示的类似,将具有标签的输入图像输入所述第一神经网络以获得全局特征图。

步骤s102,获得所述第一神经网络的所述至少一个第一中间层输出的至少一个训练中间特征图。与上面所述的类似,从所述第一神经网络的至少一个第一中间层获得中间特征图。例如,在所述第一神经网络为60层的神经网络的情况下,分别从第20层和第40层获得中间特征图。

步骤s103,通过所述至少一个第一注意力估计器分别从所述至少一个训练中间特征图和所述训练全局特征图获得至少一个训练知识提取向量。这里,所述第一注意力估计器获得所述训练知识提取向量的过程可以与如图5所示的相同,这里为了避免冗余便不再赘述。

另外,在所述至少一个第一注意力估计器的训练过程中,所述第一注意力估计器可以包括附加的辅助层,例如一个全连接层和一个softmax输出层以帮助获得知识提取向量。并且,在所述第一注意力估计器的训练结束之后,在所述第二神经网络的训练过程中,从所述第一注意力估计器去掉上述辅助层。

步骤s104,计算所述训练全局特征图和所述至少一个训练知识提取向量的交叉熵损失函数值。

步骤s105,基于所述交叉熵损失函数值更新所述第一神经网络和所述至少一个第一注意力估计器的参数。

也就是,在根据本申请实施例的神经网络的训练方法中,可以采用两阶段训练方案,也就是,在第一阶段中,首先使用具有标签的数据来训练所述第一神经网络和所述第一注意力估计器,也就是,整个老师网络,然后在第二阶段中,固定所述第一神经网络和所述第一注意力估计器,也就是,整个老师网络的参数,训练所述第二神经网络和所述第二注意力估计器。这样,可以改进神经网络和注意力估计器的训练效果。

在根据本申请实施例的神经网络的训练方法中,可以优化训练过程中的超参数,例如所述第二神经网络和所述鉴别器网络的训练可以使用具有动量作为优化器的随机梯度下降的方式。其中,动量设置为0.9,且权重的衰减设置为1e-4。所述第二神经网络和所述鉴别器网络的学习速率初始化为1e-1和1e-3,且在训练过程中在三次特定迭代之后乘以0.1。所述第二神经网络和所述鉴别器网络都可以是随机初始化的。

示例性装置

图8图示了根据本申请实施例的神经网络的训练装置的框图。

如图8所示,根据本申请实施例的神经网络的训练装置200包括:全局特征图获得单元210,用于通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图;中间特征图获得单元220,用于获得所述第一神经网络的至少一个第一中间层输出的至少一个第一中间特征图,以及,获得所述第二神经网络与所述至少一个第一中间层对应的至少一个第二中间层输出的至少一个第二中间特征图;第一知识提取向量获得单元230,用于通过至少一个第一注意力估计器分别从所述中间特征图获得单元220所获得的所述至少一个第一中间特征图和所述全局特征图获得单元210所获得的所述第一全局特征图获得至少一个第一知识提取向量;第二知识提取向量获得单元240,用于通过至少一个第二注意力估计器分别从所述中间特征图获得单元220所获得的所述至少一个第二中间特征图和所述全局特征图获得单元210所获得的所述第二全局特征图获得至少一个第二知识提取向量;中间损失函数值计算单元250,用于基于所述第一知识提取向量获得单元230所获得的所述至少一个第一知识提取向量和所述第二知识提取向量获得单元240所获得的所述至少一个第二知识提取向量计算中间损失函数值;以及,第一参数更新单元260,用于基于所述中间损失函数值计算单元250计算的所述中间损失函数值更新所述第二神经网络和所述至少一个第二注意力估计器的参数。

图9图示了根据本申请实施例的神经网络的训练装置中的第一参数更新单元的示例的框图。

如图9所示,在如图8所示的实施例的基础上,所述第一参数更新单元260包括:全局损失函数值计算子单元2601,用于使用所述全局特征图获得单元210所获得的所述第一全局特征图的第一逻辑层输出和所述全局特征图获得单元210所获得的所述第二全局特征图的第二逻辑层输出计算全局损失函数值;鉴别器损失函数值计算子单元2602,用于将所述全局特征图获得单元210所获得的所述第一全局特征图的所述第一逻辑层输出和所述全局特征图获得单元210所获得的所述第二全局特征图的所述第二逻辑层输出输入鉴别器网络以计算出鉴别器损失函数值;以及,参数更新子单元2603,用于基于所述全局损失函数值计算子单元2601计算的所述全局损失函数值、所述鉴别器损失函数值计算子单元2602计算的所述鉴别器损失函数值和所述中间损失函数值计算单元250计算的所述中间损失函数值更新所述第二神经网络、所述至少一个第二注意力估计器和所述鉴别器网络的参数。

图10图示了根据本申请实施例的神经网络的训练装置中的鉴别器损失函数值计算子单元的示例的框图。

如图10所示,在如图9所示的实施例的基础上,所述鉴别器损失函数值计算子单元2602包括:对抗损失函数值计算模块26021,用于基于所述全局特征图获得单元210所获得的所述第一全局特征图的所述第一逻辑层输出和所述全局特征图获得单元210所获得的所述第二全局特征图的所述第二逻辑层输出计算出对抗损失函数值;正则损失函数值计算模块26022,用于基于所述全局特征图获得单元210所获得的所述第二全局特征图的所述第二逻辑层输出和所述鉴别器网络的参数计算出正则损失函数值;类监督损失函数值计算模块26023,用于基于所述第一神经网络和所述第二神经网络的输出标签计算出类监督损失函数值;以及,鉴别器损失函数值确定模块26024,用于基于所述对抗损失函数值计算模块26021计算的所述对抗损失函数值、所述正则损失函数值计算模块26022计算的所述正则损失函数值和所述类监督损失函数值计算模块26023计算的所述类监督损失函数值,确定所述鉴别器损失函数值。

图11图示了根据本申请实施例的神经网络的训练装置中的第一注意力估计器的示例的框图。

如图11所示,在如图7所示的实施例的基础上,所述第一知识提取向量获得单元230包括至少一个第一注意力估计器,以通过至少一个第一注意力估计器分别从所述中间特征图获得单元220所获得的所述至少一个第一中间特征图和所述全局特征图获得单元210所获得的所述第一全局特征图获得至少一个第一知识提取向量。其中,每个所述第一注意力估计器从一个第一中间特征图和第一全局特征图获得一个第一知识提取向量的过程均相同。因此,以下将仅以一个所述第一注意力估计器为例来进行说明。

如图11所示,所述第一注意力估计器包括:第一上采样子单元2301,用于将所述全局特征图获得单元210所获得的所述第一全局特征图上采样为与所述中间特征图获得单元220所获得的所述第一中间特征图通道数相同的第一上采样特征图;第一点加子单元2302,用于将所述第一上采样子单元2301所获得的所述第一上采样特征图与所述全局特征图获得单元210所获得的所述第一全局特征图进行点加以获得第一点加特征图;第一注意力计算子单元2303,用于将所述第一点加子单元2302所获得的所述第一点加特征图与第一卷积核的卷积通过第一softmax激活函数以计算出第一注意力分数;第一向量获得子单元2304,用于将所述第一注意力计算子单元2303所获得的所述第一注意力分数与所述全局特征图获得单元210所获得的所述第一全局特征图点乘后进行平均池化以获得所述第一知识提取向量。

图12图示了根据本申请实施例的神经网络的训练装置中的第二注意力估计器的示例的框图。

如图12所示,在如图7所示的实施例的基础上,所述第二知识提取向量获得单元240包括至少一个第二注意力估计器,以通过至少一个第二注意力估计器分别从所述中间特征图获得单元220所获得的所述至少一个第二中间特征图和所述全局特征图获得单元210所获得的所述第二全局特征图获得至少一个第二知识提取向量。其中,每个所述第二注意力估计器从一个第二中间特征图和第二全局特征图获得一个第二知识提取向量的过程均相同。因此,以下将仅以一个所述第二注意力估计器为例来进行说明。

如图12所示,所述第二注意力估计器包括:第二上采样子单元2401,用于将所述全局特征图获得单元210所获得的所述第二全局特征图上采样为与所述中间特征图获得单元220所获得的所述第二中间特征图通道数相同的第二上采样特征图;第二点加子单元2402,用于将所述第二上采样子单元2401所获得的所述第二上采样特征图与所述全局特征图获得单元210所获得的所述第二全局特征图进行点加以获得第二点加特征图;第二注意力计算子单元2403,用于将所述第二点加子单元2402所获得的所述第二点加特征图与第二卷积核的卷积通过第二softmax激活函数以计算出第二注意力分数;第二向量获得子单元2404,用于将所述第二注意力计算子单元2403所获得的所述第二注意力分数与所述全局特征图获得单元210所获得的所述第二全局特征图点乘后进行平均池化以获得所述第二知识提取向量。

图13图示了根据本申请实施例的神经网络的训练装置中的第一注意力估计器的训练示例的框图。

如图13所示,在如图7所示的实施例的基础上,为了训练所述第一注意力估计器,所述神经网络的训练装置200进一步包括:训练全局特征图获得单元201,用于在所述全局特征图获得单元210通过第一神经网络从输入图像获得第一全局特征图和通过第二神经网络从所述输入图像获得第二全局特征图之前,将具有标签的输入图像输入所述第一神经网络以获得训练全局特征图;训练中间特征图获得单元202,用于获得所述第一神经网络的所述至少一个第一中间层输出的至少一个训练中间特征图;训练知识提取向量获得单元203,用于通过所述至少一个第一注意力估计器分别从所述训练中间特征图获得单元202所获得的所述至少一个训练中间特征图和所述训练全局特征图获得单元201所获得的所述训练全局特征图获得至少一个训练知识提取向量;交叉熵损失函数值计算单元204,用于计算所述训练全局特征图获得单元201所获得的所述训练全局特征图和所述训练知识提取向量获得单元203所获得的所述至少一个训练知识提取向量的交叉熵损失函数值;以及,第二参数更新单元205,用于基于所述交叉熵损失函数值计算单元204计算的所述交叉熵损失函数值更新所述第一神经网络和所述至少一个第一注意力估计器的参数。

这里,本领域技术人员可以理解,上述神经网络的训练装置200中的各个单元和模块的具体功能和操作已经在上面参考图1到图7的神经网络的训练方法的描述中得到了详细介绍,并因此,将省略其重复描述。

如上所述,根据本申请实施例的神经网络的训练装置200可以实现在各种终端设备中,例如用于知识蒸馏的服务器等。在一个示例中,根据本申请实施例的神经网络的训练装置200可以作为一个软件模块和/或硬件模块而集成到终端设备中。例如,该神经网络的训练装置200可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该神经网络的训练装置200同样可以是该终端设备的众多硬件模块之一。

替换地,在另一示例中,该神经网络的训练装置200与该终端设备也可以是分立的设备,并且该神经网络的训练装置200可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。

示例性电子设备

下面,参考图14来描述根据本申请实施例的电子设备。

图14图示了根据本申请实施例的电子设备的框图。

如图14所示,电子设备10包括一个或多个处理器11和存储器12。

处理器13可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。

存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的神经网络的训练方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如全局特征图,中间特征图,知识提取向量等各种内容。

在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

该输入装置13可以包括例如键盘、鼠标等等。

该输出装置14可以向外部输出各种信息,包括训练好的第二神经网络等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图14中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的神经网络的训练方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的神经网络的训练方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1