神经网络训练方法、装置、图像分类方法、设备和介质与流程

文档序号:21085980发布日期:2020-06-12 16:53阅读:230来源:国知局
神经网络训练方法、装置、图像分类方法、设备和介质与流程

本公开涉及机器学习技术领域,更具体地,涉及一种神经网络训练方法、装置、图像分类方法、设备和介质。



背景技术:

迁移学习作为机器学习的一个分支,其主要目标是将神经网络基于源域(或者称为源领域)习得的知识和方法迁移到目标域(或者称为目标领域),类似于人脑进行举一反三的学习能力,一般地,目标域中的数据量小于源域中的数据量。对于计算机而言,所谓迁移学习,就是能让现有的模型算法稍加调整即可应用于一个新的领域和功能的技术。例如,基于局部领域自适应的训练方法可以使得神经网络实现所述迁移学习。然而,现有的基于局部领域自适应的训练方法存在学习效果较差的缺陷,不能很好的表征源域与目标域之间的差异,进一步的,按照所述训练方法进行神经网络训练的过程具有较大的运行开销以及冗余性,训练速率较低。



技术实现要素:

本公开提供一种基于局部领域自适应和网络压缩的神经网络训练方法,用于将局部领域自适应和网络压缩统一于一个完整训练过程,以实现源域到目标域的迁移学习。

根据本公开的一方面,提供了一种基于局部领域自适应和网络压缩的神经网络训练方法,包括:获取源域和目标域,所述源域中包括多个第一样本,所述目标域中包括多个第二样本;分别确定对应于源域和目标域的各个类别的类别权重,并基于所述类别权重计算所述源域和目标域的软权重最大均值差异;基于所述神经网络的批归一化层系数,计算用于网络压缩的冗余值;以及基于所述软权重最大均值差异和所述冗余值来训练所述神经网络。

根据本公开的一些实施例,所述源域中的第一样本对应于m个类别,所述目标域中的第二样本对应于n个类别,所述n个类别属于所述m个类别的子集。

根据本公开的一些实施例,所述分别确定对应于源域和目标域的各个类别的类别权重包括:对于源域,基于所述源域中的第一样本在各个类别所占的比重来确定对应于源域的各个类别的类别权重;对于目标域,利用所述神经网络对所述目标域中的第二样本进行处理以得到概率分布,基于所述概率分布确定对应于目标域的各个类别的类别权重。

根据本公开的一些实施例,所述方法还包括:基于所述概率分布确定所述第二样本的类别权重:基于所述概率分布确定所述第二样本的类别标签;将所述第二样本的类别标签所对应的类别的类别权重确定为所述第二样本的类别权重。

根据本公开的一些实施例,所述计算所述源域和目标域的软权重最大均值差异包括:基于所述对应于源域和目标域的各个类别的类别权重确定权重比;计算所述第一样本到再生核希尔伯特空间的特征映射,并利用所述权重比进行加权,以得到第一映射;计算所述第二样本到再生核希尔伯特空间的特征映射,以得到第二映射;基于所述第一映射和所述第二映射确定所述源域和目标域的软权重最大均值差异,其中,所述再生核希尔伯特空间与高斯核相关联。

根据本公开的一些实施例,所述神经网络包括多个通道,每个通道中包括批归一化层,所述计算用于网络压缩的冗余值包括:对于所述多个通道中的每个通道,基于该通道的批归一化层系数计算该通道的冗余值;所述基于所述软权重最大均值差异和所述冗余值来训练所述神经网络包括:对于冗余值小于阈值的通道,将该通道设置为零以进行网络压缩;以及将所述软权重最大均值差异作为损失函数来训练经过网络压缩的所述神经网络。

根据本公开的一些实施例,所述计算冗余值包括:基于所述批归一化层系数的梯度与所述批归一化层系数的乘积确定所述冗余值。

根据本公开的另一方面,还提供了一种图像分类方法,包括:获取待分类的图像样本,其中,所述待分类的图像样本属于目标域;利用分类神经网络对所述图像样本进行图像处理,其中,所述分类神经网络是按照如上所述的基于局部领域自适应和网络压缩的神经网络训练方法进行训练得到的;以及输出所述待分类的图像样本的图像类别标签。

根据本公开的另一方面,还提供了一种基于局部领域自适应和模型压缩的神经网络训练装置,包括:获取单元,配置成获取源域和目标域,其中,所述源域中包括多个第一样本,所述目标域中包括多个第二样本;差异计算单元,配置成分别确定对应于源域和目标域的各个类别的类别权重,并基于所述类别权重计算所述源域和目标域的软权重最大均值差异;冗余值计算单元,配置成基于所述神经网络的批归一化层系数,计算用于网络压缩的冗余值;以及训练单元,配置成基于所述软权重最大均值差异和所述冗余值来训练所述神经网络。

根据本公开的一些实施例,所述源域中的第一样本对应于m个类别,所述目标域中的第二样本对应于n个类别,所述n个类别属于所述m个类别的子集。根据本公开的一些实施例,所述差异计算单元配置成:对于源域,基于所述源域中的第一样本在各个类别所占的比重来确定对应于源域的各个类别的类别权重;对于目标域,利用所述神经网络对所述目标域中的第二样本进行处理以得到概率分布,基于所述概率分布确定对应于目标域的各个类别的类别权重。

根据本公开的一些实施例,所述差异计算单元还配置成基于所述概率分布确定所述第二样本的类别权重:基于所述概率分布确定所述第二样本的类别标签;将所述第二样本的类别标签所对应的类别的类别权重确定为所述第二样本的类别权重。

根据本公开的一些实施例,所述差异计算单元配置成:基于所述对应于源域和目标域的各个类别的类别权重确定权重比;计算所述第一样本到再生核希尔伯特空间的特征映射,并利用所述权重比进行加权,以得到第一映射;计算所述第二样本到再生核希尔伯特空间的特征映射,以得到第二映射;基于所述第一映射和所述第二映射确定所述源域和目标域的软权重最大均值差异,其中,所述再生核希尔伯特空间与高斯核相关联。

根据本公开的一些实施例,所述神经网络包括多个通道,每个通道中包括批归一化层,所述冗余值计算单元配置成:对于所述多个通道中的每个通道,基于该通道的批归一化层系数计算该通道的冗余值;所述训练单元配置成:对于冗余值小于阈值的通道,将该通道设置为零以进行网络压缩;以及将所述软权重最大均值差异作为损失函数来训练经过网络压缩的所述神经网络。

根据本公开的一些实施例,所述冗余值计算单元配置成:基于所述批归一化层系数的梯度与所述批归一化层系数的乘积确定所述冗余值。

根据本公开的又一方面,还提供了一种电子设备,包括:处理器;存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码当由所述处理器运行时,执行如上所述的基于局部领域自适应和模型压缩的神经网络训练方法,或者执行如上所述的图像分类方法。

根据本公开的又一方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如上所述的基于局部领域自适应和模型压缩的神经网络训练方法,或者执行如上所述的图像分类方法。

利用本公开提供的基于局部领域自适应和模型压缩的神经网络训练方法,使得在神经网络训练的过程中,实现在局部领域自适应的同时进行网络压缩。具体的,通过计算源域与目标域之间的软权重最大均值差异来判断域间数据分布差异,以提高局部领域自适应的迁移学习效果,与此同时,基于神经网络中的批归一化层系数来计算冗余值以进行网络压缩,降低神经网络的冗余性,从而降低训练过程的运行开销并提高训练速率。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了局部领域自适应的示意图;

图2a示出了根据本公开实施例的基于局部领域自适应和网络压缩的神经网络训练方法的流程示意图;

图2b示出了根据本公开实施例的训练方法的场景示意图;

图2c示出了根据本公开实施例的图像分类方法的流程图;

图3示出了根据本公开实施例的基于局部领域自适应和网络压缩的神经网络训练装置的示意性框图;

图4示出了根据本公开实施例的电子设备的示意性框图;

图5示出了根据本公开实施例的示例性计算设备的架构的示意图;

图6示出了根据本公开实施例的计算机存储介质的示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。通过深度神经网络,例如可以进行目标识别等,以对被识别的目标进行诸如分类等的处理。

在应用神经网络进行任务处理之前,需要利用带有真实标签的训练数据对网络参数进行训练,以使网络学习到进行任务处理的能力。作为示例,所述任务处理例如可以是图像分类、音频识别等,本文对所述神经网络进行的具体任务以及网络结构不作限制,其可以是任意类型的神经网络。

然而,获得带有真实标签的训练数据的过程需要投入较大的人力成本,并且所需的训练数据的数据量通常也比较庞大。由此产生出迁移学习的需求,即,将神经网络基于源域习得的知识迁移到数据量小于源域的目标域,其中,所述源域可以包括具有真实标签的训练样本,所述目标域包括与源域样本相似的样本,并且不带有真实标签。通过迁移学习,可以使得经过源域训练的神经网络能够应用于对目标域的任务处理,而无需基于目标域重新进行训练,这样避免了重复训练的过程,并且避免了对于目标域样本的标签标注的过程,降低了神经网络的训练成本。

例如,基于局部领域自适应的训练方法可以使得神经网络实现上述迁移学习的效果。所述局部领域自适应涉及源域与目标域,其中,源域中的样本带有真实标签,目标域中的样本不带有标签。所述局部领域自适应的核心思想是学习域不变表示,以便可以解决跨域分布不一致的问题。

图1示出了局部领域自适应的示意图,其中以利用卷积神经网络(convolutionalneuralnetwork,cnn)识别图像的类别作为具体示例进行说明。如图1所示,源域包括杯子、笔以及笔记本电脑这三个类别的样本图像,并且该源域中的样本带有真实的类别标签,即样本图像的真实类别对于网络而言是已知的。其中,示意性地,杯子类别以方块表示,笔类别以三角形表示,笔记本电脑类别以圆形表示。进一步的,所述目标域对应于所述源域的子集,这表示为目标域中包括的样本类别属于源域中包括的样本类别的子集,即,目标域中的样本类别少于源域中的样本类别。如图1所示出的,目标域包括杯子以及笔记本电脑这两个类别的样本图像,并且,目标域中的样本图像是不带有类别标签的,即,其真实类别对于网络而言是未知的。

利用源域中带有类别标签的样本图像可以对cnn进行训练,所述训练可以表示为调整神经网络中的参数。经过训练的cnn可以识别上述三个类别。为了使得经过训练的cnn可以迁移应用到目标域,可以进行基于局部领域自适应的训练过程,使得神经网络将基于源域习得的知识(例如,网络中的参数)迁移到目标域,以实现对于目标域样本的识别。

然而,如上所述的,现有的基于局部领域自适应的训练方法存在学习效果较差的缺陷,不能很好的表征源域与目标域之间的差异,如图1中所示出的,cnn的处理结果不能准确的识别图像类别,从而得到错误的分类结果。进一步的,现有基于局部领域自适应的训练过程仅依赖于现有的神经网络架构,在迁移学习的过程中,并未对神经网络的结构本身进行优化处理。换句话说,对源域进行处理的神经网络与对目标域进行处理的神经网络的尺寸以及参数量均相同。这使得网络训练具有较大的运行开销以及冗余性,降低了训练的速率。

为解决上述问题,本公开提供了一种基于局部领域自适应和模型压缩的神经网络训练方法,在神经网络训练的过程中,同时实现局部领域自适应和网络压缩。图2a示出了根据本公开实施例的基于局部领域自适应和网络压缩的神经网络训练方法的流程示意图。

首先,在步骤s101,获取源域和目标域。所述源域中包括多个第一样本,所述目标域中包括多个第二样本。所述样本是神经网络的待处理对象,例如,所述样本可以是如图1中示出的图像,也可以是音频等,在此不作限制。

根据本公开实施例,所述源域中的第一样本对应于m个类别,所述目标域中的第二样本对应于n个类别,所述n个类别属于所述m个类别的子集。例如,如以上结合图1所示出的,源域包括杯子、笔以及笔记本电脑这三个类别(即,m=3)的样本图像,并且该源域中的样本带有真实的类别标签,目标域包括杯子以及笔记本电脑这两个类别(即,n=2)的样本图像,即,目标域中包括的图像类别属于源域中包括的图像类别的子集。其中,上述n个类别用于表示目标域中真实包括的类别。

接着,在步骤s102,分别确定对应于源域和目标域的各个类别的类别权重,并基于所述类别权重计算所述源域和目标域的软权重最大均值差异。在步骤s103,基于所述神经网络的批归一化层系数,计算用于网络压缩的冗余值;以及在步骤s104,基于所述软权重最大均值差异和所述冗余值来训练所述神经网络。

在根据本公开实施例的训练方法中,通过计算源域与目标域之间的软权重最大均值差异来判断域间数据分布差异,以提高局部领域自适应的迁移学习效果,关于基于软权重最大均值差异进行局部领域自适应的过程将在下文详细描述。与此同时,基于神经网络的批归一化层系数来计算冗余值以进行网络压缩,降低神经网络的冗余性,从而降低训练过程的运行开销并提高训练速率。根据本公开提供的训练方法能够使得,将局部领域自适应和网络压缩这两个过程用一个完整的训练过程统一起来,即,通过一次完整地训练过程便可以同时达到局部领域自适应和网络压缩这两个目标。

图2b示出了根据本公开实施例的训练方法的场景示意图,其中,利用根据本公开提供的方法可以提高迁移学习的效果,使得神经网络的处理结果更准确,例如,更准确的识别图像类别,此外,经过基于冗余值压缩的cnn相比于图1中示出的cnn具有更简单的网络结构,有利于提高训练速率以及降低运行开销,同时保证经过压缩过的cnn具有较好的识别能力。

接下来,将具体描述实现上述步骤s102-s104的过程。

根据本公开实施例,对应于所述源域的各个类别的类别权重表征在源域中各个类别所占的比重,此外,对应于所述目标域的各个类别的类别权重表征在目标域中各个类别所占的比重。所述类别权重用于计算权重比,以在确定源域与目标域之间的域间特征差异的过程中对源域的样本进行加权。

根据本公开实施例,所述分别确定对应于源域和目标域的各个类别的类别权重包括:对于源域,基于所述源域中的第一样本在各个类别所占的比重来确定对应于源域的各个类别的类别权重。

具体的,以源域包括a、b、c三个类别为例来说明分别确定上述a、b、c三个类别的类别权重。例如,可以统计所述源域中属于各个类别的样本的数目,即,统计每个类别在源域中所占的比重,将该比重作为该类别的类别权重。进一步的,对于来自源域的第一样本,还可以确定第一样本的类别权重,例如,可以将所述第一样本的类别标签所对应的类别的类别权重确定为所述第一样本的类别权重。假设,源域中共包括10个第一样本,其中,属于类别a的第一样本为6个,属于类别b的第一样本为3个,属于类别c的第一样本为1个,由此可以得到类别a、b、c在源域中所占的比重为6:3:1,归一化后的各个类别的类别权重可以表示为0.6:0.3:0.1。按照如上所述的方式可以确定对应于源域的各个类别的类别权重。此外,对于类别标签为类别a的第一样本,还可以确定该样本的类别权重为0.6。

根据本公开实施例,所述分别确定对应于源域和目标域的各个类别的类别权重还包括:对于目标域,利用所述神经网络对所述目标域中的第二样本进行处理以得到概率分布,基于所述概率分布确定对应于目标域的各个类别的类别权重。根据本公开实施例,所述方法还包括:基于所述概率分布确定所述第二样本的类别权重:基于所述概率分布确定所述第二样本的类别标签;将所述第二样本的类别标签所对应的类别的类别权重确定为所述第二样本的类别权重。

对于目标域中的第二样本,其不具有类别标签,即,其所属的类别是未知的。根据本公开实施例,可以利用所述神经网络对所述第二样本进行处理以得到概率分布,例如,可以利用神经网络中的分类器的输出,结合softmax函数来得到归一化后的概率分布。所述概率分布表示神经网络得到的该被处理的样本分别属于各个类别的概率。例如,对于目标域中的样本1,得到的概率分布可以表示为[0.5,0.3,0.2],这表示样本1属于上述类别a、b、c的概率分别是0.5、0.3、0.2。基于该概率分布,可以确定所述第二样本的类别标签,例如,将概率值最大的类别确定为样本1的类别标签,在此示例中为类别a。需要注意的是,相比于源域中的样本的真实类别标签,按照上述方式获得的目标域中的样本1的类别标签并非其真实标签,其表示神经网络识别的该样本1的标签,可以将其称为“伪标签”。

接着,可以分别确定目标域中的其他样本的概率分布,并进而基于目标域中各个样本的概率分布来分别确定每个类别的权重。以目标域包括两个样本(例如,样本1和样本2)作为示例,对于目标域中的另一样本2,其概率分布可以是[0.3,0.3,0.4],表示该样本2属于上述类别a、b、c的概率分别是0.3、0.3、0.4。可以对目标域中的样本1和样本2的概率分布进行平均,以得到对应于目标域的各个类别的类别权重的估计值。例如,目标域中的样本1与样本2的平均后的比重可以是[0.4,0.3,0.3],以作为对应于目标域的各个类别的类别权重。

接着,还可以将所述第二样本的类别标签所对应的类别的权重确定为所述第二样本的类别权重。由此,样本1的类别标签是类别a,其类别权重是0.4,样本2的类别标签是类别c,其类别权重是0.3。需要注意的是,此处仅以目标域包括两个样本为例以便于描述根据本公开的方法,在实际应用中,目标域可以包括多个样本,在此不作限制。

上述确定对应于目标域的类别权重的过程可以表示为以下公式(1):

其中,w(t)表示对应于目标域的类别的类别权重,nt表示目标域中的样本的个数,表示利用神经网络对目标域中的样本进行处理得到概率分布,xj表示目标域中的样本,w表示神经网络,f(w,xj)表示神经网络w对样本进行处理,softmax函数用于对神经网络得到的结果进行归一化。基于上述公式(1),可以确定目标域中各个类别的类别权重,进一步的,还可以得到目标域中的样本的类别权重。

上文中提到,对于局部领域自适应,源域包括m个类别,目标域包括n个类别,并且,目标域包括的n个类别属于源域包括的m个类别的子集,其中的n个类别表示该目标域实际包括的类别的数目。而此处的概率分布表示神经网络识别得到的类别,尽管目标域中实际包括的类别数目小于源域,但是由于对源域和目标域进行处理神经网络为同一网络,其输出的概率分布中包括的类别的数目相同,例如,均包括3个类别。换句话说,神经网络对输入的样本均判断以上3个类别的概率,尽管目标域中的样本实际仅对应于2个类别。

根据本公开实施例,在分别确定对应于源域和目标域的各个类别的类别权重之后,所述计算所述源域和目标域的软权重最大均值差异包括:基于所述对应于源域和目标域的各个类别的类别权重确定权重比;计算所述第一样本到再生核希尔伯特空间的特征映射,并利用所述权重比进行加权,以得到第一映射;计算所述第二样本到再生核希尔伯特空间的特征映射,以得到第二映射;基于所述第一映射和所述第二映射确定所述源域和目标域的软权重最大均值差异,其中,所述再生核希尔伯特空间与高斯核相关联。

计算所述源域和目标域的软权重最大均值差异可以表示为以下公式(2):

r=w(t)/w(s)(3)

其中,swmmd2(ds,dt)表示所述源域与目标域之间的软权重最大均值差异,ds表示源域,xi表示源域中的样本,dt表示目标域,xj表示目标域中的样本。表示源域中的类别yi的权重比,用于对样本进行加权。例如,可以按照以上公式(3)确定所述权重比,其中,w(t)表示对应于目标域的类别权重,w(s)表示对应于源域的类别权重。表示样本x到再生核希尔伯特空间(reproducingkernelhilbertspace)的特征映射,并与高斯核相关联。其中,表示上述经过权重比加权的第一映射,表示上述第二映射。关于再生核希尔伯特空间的特征映射的过程可以参照现有的方法进行,在此不做具体描述。

具体的,上述权重比用于对源域中的样本进行加权。作为一个示例,类别a、b、c在源域中所占的权重分别为0.6、0.3、0.1,类别a、b、c在目标域中所占的权重分别为0.4、0.3、0.3。由此,类别a的权重比为2/3,类别b的权重比为1,类别c的权重比为3。

在进行局部领域自适应的过程中,源域实际包括的类别数目多于目标域中实际包括的类别数目。对于神经网络而言,其可以是经过源域中的样本训练得到的,换句话说,其被训练用于识别诸如3个类别(类别a、b、c),而在将该神经网络迁移至目标域的过程中,其实际需要识别的类别数目少于3个类别,诸如2个类别(类别a、b),此处可以理解为,神经网络在迁移后需要实现的任务难度小于迁移之前,这是由于其实际需要判断的类别的数目减少了。由此,对于神经网络而言,其通过处理属于类别c的源域中的样本所习得的知识对于目标域而言是无用的,因为,应用于目标域的神经网络无需确定该类别c,更进一步地,基于属于类别c的样本所习得的知识会降低其对于目标域中的样本的类别识别的准确性。

由此,根据本公开的方法利用上述公式(3)中的权重比对源域中的样本进行加权。作为一个示例,对于目标域中实际不具有的类别c,神经网络基于目标域中的样本获得的该类别的类别权重较小,甚至为0,从而使得类别c的权重比r的值较小,这将降低源域中属于类别c的样本对于神经网络的参数的影响。而对于目标域中对应于类别a和类别b的样本,相应地提高其对于神经网络的参数的影响。

基于上述权重比计算得到的软权重最大均值差异表征源域与目标域之间的域间数据分布差异,以用于局部领域自适应,从而提高迁移学习的效果。具体的,参考以上关于软权重最大均值差异的公式(2),软权重表示利用基于源域与目标域的类别权重计算得到的权重比对源域样本进行特征加权。

根据本公开的一些实施例,可以将上述软权重最大均值差异作为神经网络的损失函数来进行训练,以实现局部领域自适应。

根据本公开的另一些实施例,所述损失函数还可以包括的交叉熵损失以及熵最小化损失。用于网络训练的损失函数可以表示为以下公式(4)

l=lcl+βswmmd2(ds,dt)+γlen(4)

其中,l表示损失函数,lcl表示交叉熵损失,swmmd2(ds,dt)表示按照以上公式(2)计算得到的软权重最大均值差异,len表示所述熵最小化损失。β、γ表示自定义的超参数。

具体的,交叉熵损失lcl可以由源域中带有真实标签的样本计算产生,表示为以下公式(5):

其中,ns表示目标域中的样本的个数,c表示样本的类别,表示利用神经网络对源域的样本进行处理得到概率分布,表示类别c的预测概率,表示源域样本的独热编码标签。

所述熵最小化损失len可以由目标域的样本以及由神经网络得到的该样本的伪标签计算产生,表示为以下公式(6):

其中,nt表示源域中的样本的个数,c表示样本的类别,表示利用神经网络对目标域的样本进行处理得到概率分布,表示类别c的预测概率,表示目标域样本的独热编码标签。

基于源域和目标域中的样本,按照如上所述的损失函数可以对神经网络进行训练,实现局部领域自适应,从而得到迁移学习的神经网络。

根据本公开实施例,所述神经网络包括多个通道,每个通道中包括批归一化层(batchnormalization,bn)。在神经网络中加入bn层属于深度神经网络训练的一种技巧,其可以在加快模型的收敛速度的同时,在一定程度缓解深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易和稳定。具体的,bn层用于对神经网络中的一批数据进行归一化,所述一批数据例如可以对应于神经网络中的某一通道内的网络参数,所述网络参数可以表示为一个矩阵。所述bn层对于进行局部领域自适应具有促进作用。

如上文所解释的,在进行局部领域自适应的过程中,对于神经网络而言,其在迁移后需要实现的任务难度小于迁移之前,这是由于其实际需要判断的类别的数目减少了。由此,对于神经网络而言,其通过处理属于类别c的源域中的样本所习得的知识对于目标域而言是无用的,因为,应用于目标域的神经网络无需确定该类别c,更进一步地,基于属于类别c的样本所习得的知识会降低其对于目标域中的样本的类别识别的准确性。基于以上分析可知,应用于源域的神经网络,即迁移前的网络相比于迁移后的网络存在冗余。换句话说,由于迁移前的网络进行的任务难度低于迁移后的网络,迁移前的网络所需的网络结构更加复杂,例如包括更多的通道,这些多出来的通道构成迁移后的网络的冗余通道。

具体的,一个通道的冗余性可以定义为删除这个通道之后对现有网络的损失值的影响。可以计算删除通道前后的损失差值来表征通道的冗余性。损失差值越小表示删除该通道对神经网络的影响越小,即通道的冗余性越大。然而,直接按照上述损失函数计算所述损失差值计算量较大,增加网络的运行开销。

在根据本公开实施例提供的训练方法中,提出利用神经网络中的批归一化层系数来确定通道的冗余值。根据本公开实施例,所述计算用于网络压缩的冗余值包括:对于所述多个通道中的每个通道,基于该通道的批归一化层系数计算该通道的冗余值。具体的,所述计算冗余值包括:基于所述批归一化层系数的梯度与所述批归一化层系数的乘积确定所述冗余值。

本公开提供了一种结合泰勒级数展开公式来快速估计冗余值的方法。首先,泰勒级数展开公式可以写作以下公式(7):

可以按照上述泰勒级数展开公式(7)来展开损失函数,表示为:

其中,l(w,γi,j)表示未经压缩的神经网络w的损失值,γi,j表示批归一化层系数。其中,取a为γi,j=0的情形,p=0。通过上述公式(9)可以得到冗余值的近似值。具体的,冗余值表示为未经压缩的网络损失值与经过压缩的网络损失值之间的差值,所述经过压缩可以通过将通道设置为0实现(表示为γi,j=0),即,将该通道从网络中移除,可以按照以下公式(10)推导得到冗余值:

其中,h(γi,j)表示冗余值,l1(w,γi,j=0)表示一阶导数,进一步地,可以删除以上公式中的高阶小量r1(γi,j),得到近似的冗余值:

基于以上公式(11),可以快速的得到通道的冗余值。其中,所述冗余值表示反向传播过程中得到的的批归一化层系数的梯度与批归一化层系数的乘积,以确定通道的冗余性。

基于计算得到软权重最大均值差异以及冗余值可以对神经网络进行统一的训练。即在基于软权重最大均值差异进行局部领域自适应的同时,基于冗余值进行网络压缩。

根据本公开实施例,所述基于所述软权重最大均值差异和所述冗余值来训练所述神经网络包括:对于冗余值小于阈值的通道,将该通道设置为0以进行网络压缩;以及将所述软权重最大均值差异作为损失函数来训练经过网络压缩的所述神经网络。

具体的,在训练过程中使用的损失函数包括根据本公开实施例的方法确定软权重最大均值差异。接着,可以利用该损失函数按照以上公式(11)来确定神经网络中各个通道的冗余值。接着,可以基于设定的阈值来确定冗余通道,例如,将冗余值小于阈值的通道认定为冗余通道。对于确定的冗余通道可以对其进行剪枝以实现网络压缩,具体实现为将该通道设置为0,即,将该通道从神经网络中移除。换句话说,使得该通道对神经网络的输出结果不产生影响。进一步的,可以将所述软权重最大均值差异作为损失函数来训练经过网络压缩的所述神经网络。

利用本公开提供的基于局部领域自适应和模型压缩的神经网络训练方法,使得在神经网络训练的过程中,实现局部领域自适应的同时进行网络压缩。具体的,通过计算源域与目标域之间的软权重最大均值差异来判断域间数据分布差异,以提高局部领域自适应的迁移学习效果,与此同时,基于神经网络的批归一化层系数来计算冗余值以进行网络压缩,降低神经网络的冗余性,从而降低训练过程的运行开销并提高训练速率。根据本公开提供的训练方法能够使得,将局部领域自适应和网络压缩这两个过程用一个完整的训练过程统一起来,即,通过一次完整地训练过程便可以同时达到局部领域自适应和网络压缩这两个目标。

本公开还提供了一种图像分类方法,图2c示出了根据本公开提供的图像分类方法的示意图。

如图2c所示,在步骤s201,获取待分类的图像样本,其中,所述待分类的图像样本属于目标域。接着,在步骤s202,利用分类神经网络对所述图像样本进行图像处理。根据本公开实施例,所述分类神经网络是按照如上所述的基于局部领域自适应和网络压缩的神经网络训练方法进行训练得到的。在步骤s203,输出所述待分类的图像样本的图像类别标签。

根据本公开的一些实施例,所述源域中包括多个第一图像样本,所述目标域中包括多个第二图像样本。所述第二图像样本是分类神经网络的待处理对象,以用于经过分类神经网络的处理以确定该图像样本的类别。例如,所述类别可以是基于图像内容的类别(诸如,图1中示出的杯子、笔、笔记本电脑等类别)、基于图像风格的类别(诸如,素描画、油画等类别)、基于人脸表情的类别(诸如,开心、难过、生气等类别),或者还可以是对于其他类别的识别,在此不作限制。

根据本公开的一些实施例,所述分类神经网络可以是对用于实现图像类别识别的网络按照如上所述的基于局部领域自适应和网络压缩的神经网络训练方法训练得到的。例如,未经过训练的所述分类神经网络可以具有vgg-16网络模型、resnet-50网络模型等的网络结构,并且所述分类神经网络可以是基于源域中的第一图像样本进行初始训练得到的。为了使得经过初始训练的分类神经网络可以更好的应用于目标域中的第二图像样本的类别识别,可以按照根据本公开提供的训练方法对所述分类神经网络进行进一步的训练,即,实现迁移学习,以实现对于目标域中的第二图像样本的类别识别。在上述迁移学习的训练步骤包括:分别确定对应于源域和目标域的各个类别的类别权重,并基于所述类别权重计算所述源域和目标域的软权重最大均值差异;基于所述分类神经网络的批归一化层系数,计算用于网络压缩的冗余值;以及基于所述软权重最大均值差异和所述冗余值来训练所述分类神经网络。

对于经过训练的分类神经网络,由于迁移学习而更适用于对于目标域内的图像样本的类别识别。具体的,通过计算源域与目标域之间的软权重最大均值差异来判断域间数据分布差异,以提高局部领域自适应的迁移学习效果,从而使得所述分类神经网络在上述步骤s203中输出的图像类别标签具有更高的准确性。

与此同时,基于分类神经网络的批归一化层系数来计算冗余值以进行网络压缩,有利于降低分类神经网络的冗余性,从而降低训练过程的运行开销并提高训练速率。作为一个示例,所述分类神经网络是vgg-16,在office-31数据集上,上述训练方法能将vgg-16的网络模型压缩到原有的62%(通过关闭某些冗余通道),同时将浮点计算数量(flops)减少至原有的78%。作为另一示例,所述分类神经网络是resnet-50,在office-31数据集上,上述训练方法能将resnet-50压缩到原有的70%,同时将浮点计算数量减少至原有的62%。此外,需要注意的是,所述分类神经网络还可以具有其他的网络结构。本公开还提供了一种基于局部领域自适应和网络压缩的神经网络训练装置。具体的,图3示出了根据本公开实施例的基于局部领域自适应和网络压缩的神经网络训练装置的示意性框图。

如图3所示,所述装置1000可以包括获取单元1010、差异计算单元1020、冗余值计算单元1030以及训练单元1040。

根据本公开实施例,所述获取单元1010可以配置成获取源域和目标域,其中,所述源域中包括多个第一样本,所述目标域中包括多个第二样本。所述差异计算单元1020可以配置成分别确定对应于源域和目标域的各个类别的类别权重,并基于所述类别权重计算所述源域和目标域的软权重最大均值差异。所述冗余值计算单元1030可以配置成基于所述神经网络的批归一化层系数,计算用于网络压缩的冗余值。以及训练单元1040可以配置成基于所述软权重最大均值差异和所述冗余值来训练所述神经网络。

根据本公开实施例,所述源域中的第一样本对应于m个类别,所述目标域中的第二样本对应于n个类别,所述n个类别属于所述m个类别的子集。

根据本公开的一些实施例,所述差异计算单元1020可以配置成:对于源域,基于所述源域中的第一样本在各个类别所占的比重来确定对应于源域的各个类别的类别权重;对于目标域,利用所述神经网络对所述目标域中的第二样本进行处理以得到概率分布,基于所述概率分布确定对应于目标域的各个类别的类别权重。

根据本公开的一些实施例,所述差异计算单元1020还可以配置成基于所述概率分布确定所述第二样本的类别权重:基于所述概率分布确定所述第二样本的类别标签;将所述第二样本的类别标签所对应的类别的类别权重确定为所述第二样本的类别权重。

根据本公开的一些实施例,所述差异计算单元1020配置成:基于所述对应于源域和目标域的各个类别的类别权重确定权重比;计算所述第一样本到再生核希尔伯特空间的特征映射,并利用所述权重比进行加权,以得到第一映射;计算所述第二样本到再生核希尔伯特空间的特征映射,以得到第二映射;基于所述第一映射和所述第二映射确定所述源域和目标域的软权重最大均值差异,其中,所述再生核希尔伯特空间与高斯核相关联。

根据本公开实施例,所述神经网络包括多个通道,每个通道中包括批归一化层。所述冗余值计算单元1030可以配置成:对于所述多个通道中的每个通道,基于该通道的批归一化层系数计算该通道的冗余值;所述训练单元配置成:对于冗余值小于阈值的通道,将该通道设置为零以进行网络压缩;以及将所述软权重最大均值差异作为损失函数来训练经过网络压缩的所述神经网络。

根据本公开实施例,所述冗余值计算单元1030可以配置成:基于所述批归一化层系数的梯度与所述批归一化层系数的乘积确定所述冗余值。

根据本公开实施例,如图3中示出的基于局部领域自适应和模型压缩的神经网络训练装置可以参照以上结合图1描述的神经网络训练方法来对神经网络进行训练,使得在网络训练的过程中,实现局部领域自适应的同时进行网络压缩。具体的,通过计算源域与目标域之间的软权重最大均值差异来判断域间数据分布差异,以进行局部领域自适应,与此同时,利用神经网络中的批归一化层系数及其梯度信息来确定冗余的通道并进行网络压缩。根据本公开提供的训练方法或者实现上述方法的装置能够使得,将局部领域自适应和网络压缩这两个过程用一个完整的训练过程统一起来,即,通过一次完整地训练过程便可以同时达到局部领域自适应和网络压缩这两个目标。

根据本公开的又一方面,还提供了一种电子设备。图4示出了根据本公开实施例的电子设备的示意性框图。

如图4所示,所述设备2000可以包括处理器2010以及存储器2020。根据本公开实施例,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述处理器2010运行时,执行如上所述的基于局部领域自适应和网络压缩的神经网络训练方法,或者执行如上所述的图像分类方法。

处理器2010可以根据存储在存储器2020中的程序执行各种动作和处理。具体地,处理器2010可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x86架构或者是arm架构等。

存储器2020存储有计算机可执行指令代码,该指令代码在被处理器2010执行时用于实现根据本公开实施例的基于局部领域自适应和网络压缩的神经网络训练方法,或者用于实现根据本公开实施例的图像分类方法。存储器2020可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、增强型同步动态随机存取存储器(esdram)、同步连接动态随机存取存储器(sldram)和直接内存总线随机存取存储器(drram)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

根据本公开实施例的方法或装置也可以借助于图5所示的计算设备3000的架构来实现。如图5所示,计算设备3000可以包括总线3010、一个或多个cpu3020、只读存储器(rom)3030、随机存取存储器(ram)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如rom3030或硬盘3070可以存储本公开提供的基于局部领域自适应和网络压缩的神经网络训练方法或者图像分类方法的处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图5所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图5示出的计算设备中的一个或多个组件。

根据本公开的又一方面,还提供了一种计算机可读存储介质。图6示出了根据本公开的存储介质的示意图4000。

如图6所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的基于局部领域自适应和网络压缩的神经网络训练方法,或者执行根据本公开实施例的图像分类方法,从而实现利用经过训练的分类神经网络进行图像类别的识别。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。例如,所述计算机存储介质4020可以连接于诸如计算机等的计算设备,接着,在所述计算设备运行所述计算机存储介质4020上存储的计算机可读指令4010的情况下,可以进行如上所述的根据本公开提供的基于局部领域自适应和网络压缩的神经网络训练方法,或者执行根据本公开实施例的图像分类方法。

本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。

此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。

本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。

除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。

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