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

文档序号:17727380发布日期:2019-05-22 02:36阅读:196来源:国知局
神经网络的训练方法、装置和电子设备与流程

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



背景技术:

目前,随着人工智能技术的快速发展,期望能够通过终端,例如智能手机来提供越来越多的人工智能服务,例如数字助理和实时翻译等,从而存在对于可用于神经网络计算的高性能芯片的日益增长的需求。

在实际应用中,芯片的计算速度主要有两个关键瓶颈,一是计算速度,二是数据的传输延时。为了提高计算速度,可以通过增加计算单元的数量、提高主频等方法。而为了降低数据传输的延时,可以通过增大带宽或者减少传输的数据量。

因此,为了满足对于高性能芯片的需求,一方面期望提高硬件性能,包括芯片本身的性能和传输带宽,而另一方面也期望通过神经网络的优化来减小传输的数据量。

因此,需要改进的能够减小传输的数据量以提高芯片的计算速度的神经网络的训练方法。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种神经网络的训练方法、神经网络的训练装置和电子设备,其能够实现神经网络输出的特征图的稀疏化,以减小传输的数据量进而提高芯片的计算速度。

根据本申请的一个方面,提供了一种神经网络的训练方法,包括:通过样本数据对待训练的第一神经网络进行训练;确定所述第一神经网络在本次训练过程中的指标参数;若所述指标参数符合预设条件,确定与所述预设条件相对应的更新方式;以及,基于所述更新方式更新所述第一神经网络中的批处理归一化层的参数。

根据本申请的另一方面,提供了一种神经网络的训练装置,包括:网络训练单元,用于通过样本数据对待训练的第一神经网络进行训练;参数确定单元,用于确定所述网络训练单元所训练的所述第一神经网络在本次训练过程中的指标参数;更新确定单元,用于若所述参数确定单元所确定的所述指标参数符合预设条件,确定与所述预设条件相对应的更新方式;以及。参数更新单元,用于基于所述更新确定单元所确定的所述更新方式更新所述第一神经网络中的批处理归一化层的参数。

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

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

本申请提供的神经网络的训练方法、神经网络的训练装置和电子设备能够确定神经网络在训练过程的指标参数是否符合预设条件,并进而以与预设条件对应的更新方式来更新批处理归一化层的参数,从而通过批处理归一化层的参数的更新来调整激活函数的输入条件,以减少神经网络输出的特征图中的零元素的个数,实现神经网络输出的特征图的稀疏化。

通过特征图的稀疏化,可以提高神经网络的数据的压缩比例,减少数据的传输量,进而减小数据传输的延时和传输次数。因此,通过减少数据的传输量,可以使用较小的片上存储,从而降低成本。并且,通过减小数据传输的延时和传输次数,可以显著加快芯片的计算速度。

附图说明

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

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

图2图示了典型的卷积神经网络的结构框图。

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

图4图示了根据本申请实施例的神经网络的训练方法的预设条件判断的示意图。

图5图示了根据本申请实施例的神经网络的训练方法中的监督训练的实例的示意图。

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

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

图8的(a)到(d)图示了根据本申请实施例的神经网络的训练装置的参数确定单元和更新确定单元的第二示例的框图。

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

图10图示了根据本申请实施例的神经网络的训练装置的参数确定单元的示例的框图。

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

具体实施方式

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

申请概述

如上所述,通过减小传输的数据量,可以提高芯片的计算速度。例如,可以通过增大片上存储,从而减少数据传输的次数的方式来减小传输的数据量。但是,片上存储的成本高,并且增大片上存储也会增加硬件设计的复杂度。

针对上述技术问题,本申请的发明人发现在卷积神经网络中,特征图的数据量显著高于模型参数的数据量,因此,通过特征图的稀疏化和提高数据的压缩比例可以减少传输的数据量,进而降低数据传输的延时和传输次数,从而显著提高芯片的整体计算速度。

针对上述技术问题,本申请的基本构思是确定神经网络在训练过程的指标参数是否符合预设条件,并进而以与预设条件对应的更新方式来更新批处理归一化层的参数,从而实现神经网络输出的特征图的稀疏化。

具体地,本申请的神经网络的训练方法、神经网络的训练装置和电子设备首先通过样本数据对待训练的第一神经网络进行训练,再确定所述第一神经网络在本次训练过程中的指标参数,然后若所述指标参数符合预设条件,则确定与所述预设条件相对应的更新方式,最后基于所述更新方式更新所述第一神经网络中的批处理归一化层的参数。

这样,本申请的神经网络的训练方法、神经网络的训练装置和电子设备能够通过批处理归一化层的参数的更新来调整激活函数的输入条件,以增加神经网络输出的特征图中的零元素的个数,实现神经网络输出的特征图的稀疏化。

通过特征图的稀疏化,可以提高神经网络的数据的压缩比例,减少数据的传输量,进而减小数据在乘法器/乘加器(mac)与存储单元(例如,sram)之间传输的延时和传输次数。因此,通过减少数据的传输量,可以使用较小的片上存储,从而降低成本。并且,通过减小数据传输的延时和传输次数,可以显著加快芯片的计算速度。

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

示例性方法

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

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

在步骤s110中,通过样本数据对待训练的第一神经网络进行训练。这里,所述待训练的第一神经网络可以是各种类型的神经网络,例如卷积神经网络,并且可以用于诸如图像识别等任务。例如,所述待训练的第一神经网络可以应用于自动驾驶场景下,对图像中的行人或者其它物体等进行识别。相应地,在自动驾驶场景下,所述样本数据为包括街道场景等的图像集,所述第一神经网络用于通过所述图像集进行训练,以识别出街道场景下的行人、车辆、车道线、交通标志牌等。

在步骤s120中,确定所述第一神经网络在本次训练过程中的指标参数。如上所述,根据本申请实施例的神经网络的训练方法的目的在于通过批处理归一化层的参数的更新来实现所述第一神经网络输出的特征图的稀疏化,即,增加所述特征图中的零元素的个数。但是,为了能够使得训练过程稳定,例如使得训练过程稳定收敛,或者为了保持训练后的神经网络的精度,都需要设置更新条件。这里,所述指标参数可以是比如批处理归一化层的参数、第一神经网络的已训练次数等各种参数,将在下文中进一步具体说明。

在步骤s130中,若所述指标参数符合预设条件,确定与所述预设条件相对应的更新方式。也就是,如果通过确定所述指标参数符合预设条件而确定所述第一神经网络符合更新条件,则更新所述第一神经网络中的批处理归一化层的参数,以增加输出的特征图中的零元素的个数,从而实现特征图的稀疏化。

图2图示了典型的卷积神经网络的结构框图。如图2所示,典型的卷积神经网络在卷积层conv之后,包括批处理归一化层bn,这里,bn层用于缩小输入空间以降低调参难度,并且防止梯度爆炸/消失以加速网络收敛。例如,bn层首先计算批处理数据的均值和方差,再对该批数据进行归一化,最后乘上缩放矩阵并加上平移向量。进一步地,在bn层之后,包括激活函数层以得到卷积神经网络输出的特征图。

以激活函数为relu激活函数为例,特征图的稀疏化等效于降低在relu层之后输出的零元素的个数,即增加零元素的个数。如上所述,bn层的计算过程为:

其中,e表示均值,δ表示标准差,α是缩放参数,β是平移参数,两个参数的引入是为了保证bn非线性的获得,对变换后的满足均值为0方差为1的x进行了scale(α)和shift(β)的操作,即,y=scale(α)*x+shift(β)。

因此,通过神经网络的每个特征层计算得到的特征图增加了两个参数α和β,这两个参数是通过训练学习到的,能够通过scale(α)和shift(β)把特征图上的每一个特征值从标准正态分布左移或者右移并且进行缩放,每个特征图上的特征值挪动的程度不一样,这样等价于非线性函数的值从正中心周围的线性区往非线性区移动。

并且,relu层的计算过程为

relu(x)=max(0,x)

那么,为了增加relu层的计算结果中零元素的个数,就需要增加输入到relu层中小于0的元素的个数,也就是要增加bn层输出的数据中小于0的元素的个数。因此,在如图2所示的卷积神经网络中,根据本申请实施例的神经网络的训练方法所确定的与所述预设条件相对应的更新方式是要更新所述批处理归一化层的参数,以增加经过所述批处理归一化层后输出的数据中小于0的元素的个数。

当然,本领域技术人员可以理解,取决于神经网络的具体结构,例如bn层之后的激活函数层中的激活函数的类型,以及bn层之后到最终输出特征图的层数和类型,例如除激活函数层之外进一步包括其它层,比如全连接层等,与所述预设条件相对应的更新方式可以是所述批处理归一化层的参数的其它更新方式,比如增加经过所述批处理归一化层后输出的数据中大于0或者等于0的元素的个数,或者使其元素满足其它条件等。

在步骤s140中,基于所述更新方式更新所述第一神经网络中的批处理归一化层的参数。也就是,通过以上面所述确定的更新方式来更新所述第一神经网络中的批处理归一化层的参数,可以增加最终输出的特征图中的零元素的个数,从而实现神经网络输出的特征图的稀疏化。

通过特征图的稀疏化,可以提高所述第一神经网络的数据的压缩比例,减少数据的传输量,进而减小数据传输的延时和传输次数。因此,通过减少数据的传输量,可以使用较小的片上存储,从而降低成本。并且,通过减小数据传输的延时和传输次数,可以显著加快芯片的计算速度。

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

如图3所示,在如图1所示的实施例的基础上,所述步骤s130可包括如下步骤。

在步骤s131中,确定所述指标参数是否符合预设条件,并且,取决于具体使用的指标参数,例如批处理归一化层的参数、已训练次数等,对应不同的预设条件,例如,批处理归一化层的参数大于第一预定阈值,或者,已训练次数大于第二预定阈值等。

在步骤s132中,响应于所述步骤s131的确定结果为否,即所述指标参数不符合预设条件,确定所述更新方式为以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数,即:

β=β-ηδβ

其中,δβ表示每次训练反向传播时更新的梯度,η表示每次训练反向传播时更新的学习率。

在步骤s133中,响应于所述步骤s131的确定结果为是,即所述指标参数符合预设条件,确定所述更新方式为以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数,即:

β=β-ηδβ-ε

其中,ε是惩罚参数。

因此,通过按照如上所述的更新方式来更新所述批处理归一化层的参数,可以在所述第一神经网络的训练过程中通过逐步惩罚批处理归一化层中的平移值,使得批处理归一化层的输出以较大的概率小于0,从而实现特征图的稀疏化。

这里,通过以惩罚参数减小所述批处理归一化层的平移参数的方式,可以简单并有效地使得批处理归一化层的输出小于0,使得训练过程的成本低且效率高。

图4图示了根据本申请实施例的神经网络的训练方法的预设条件判断的示意图。

如图4所示,在如图1所示的实施例的基础上,取决于所述指标参数的不同,所述步骤s120可包括如下步骤。并且,相应地,不同的指标参数对应于不同的预设条件判断方式,即,所述步骤s130可以包括如下步骤。

在步骤s120a中,所述指标参数为所述第一神经网络在本次训练过程中所述批处理归一化层的平移参数。因为如果无限制的惩罚,会导致bn层的输出数据中小于0的元素的个数过多而导致神经网络的表达能力不够,最终无法获取一个高精度的神经网络,所以,本申请实施例会设置平移参数的下限,即惩罚上限,例如,如果β>-1则进行惩罚,否则,如果β<=-1则进行常规的参数更新,例如以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数。

相应地,在步骤s130a中,若所述平移参数大于预定平移阈值,则确定与所述预设条件相对应的更新方式。例如,如上所述,以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数。这样,可以确保bn层的输出数据中小于0的元素的个数不会过多而保证神经网络的足够的表达能力,从而获得高精度的神经网络。

在步骤s120b中,所述指标参数为所述第一神经网络在本次训练过程中的已训练次数。因为在神经网络的训练过程中,在训练开始阶段,训练的收敛过程有可能不稳定。所以,本申请实施例会设置已训练次数的下限,即惩罚开始条件,例如,可以在训练完成了n个迭代周期,即,全部样本数据的n次迭代之后开始惩罚,否则,在前面的训练过程中,进行常规的参数更新,例如以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数。

相应地,在步骤s130b中,若所述已训练次数大于预定次数阈值,则确定与所述预设条件相对应的更新方式。例如,如上所述,以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数。这样,可以保证训练的收敛过程稳定。

在步骤s120c中,所述指标参数为所述第一神经网络在本次训练过程中的训练精度。与上面所述的相同,因为在神经网络的训练过程中,在训练开始阶段,训练的收敛过程有可能不稳定。所以,本申请实施例会设置网络精度的下限,即惩罚开始条件,例如,可以在训练过程中的训练精度达到某个标准之后开始惩罚,否则,在前面的训练过程中,进行常规的参数更新,例如以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数。

相应地,在步骤s130c中,若所述训练精度大于预定精度阈值,则确定与所述预设条件相对应的更新方式。例如,如上所述,以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数。这样,可以保证训练的收敛过程稳定。

在步骤s120d中,所述指标参数为所述第一神经网络在本次训练过程中的一层或多层输出的特征图中的零元素相对于所有元素的比率。因为特征图中的零元素的个数过多会导致神经网络的表达能力不够,最终无法获取一个高精度的神经网络,所以,本申请实施例会设置特征图中的零元素相对于所有元素的比率的上限,即惩罚目标,例如,如果零元素相对于所有元素的的占比小于90%,即非零元素相对于所有元素的占比大于10%则进行惩罚,否则如果零元素相对于所有元素的占比大于90%则进行常规的参数更新,例如以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数。

相应地,在步骤s130d中,若所述零元素相对于所有元素的比率小于第一比率阈值,则确定与所述预设条件相对应的更新方式。例如,如上所述,以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数。这样,可以确保输出的特征图中0元素的个数不会过多而保证神经网络的足够的表达能力,从而获得高精度的神经网络。

这里,本领域技术人员可以理解,在步骤s120a和130a中,是通过限制bn层输出的小于0的元素的个数来保证神经网络的精度,而在步骤s120d和130d中,是通过限制最终输出的特征图中的零元素相对于所有元素的比率来保证神经网络的精度,其相比步骤s120a和130a更加直接。

并且,虽然如图4所示,步骤s120包括步骤s120a到s120d,但是本领域技术人员可以理解,步骤s120可以包括步骤s120a到s120d中的一个或多个,也就是,可以选择上述四种指标参数及其预设条件的任意组合,且相应地,步骤s130也包括步骤s130a到s130d中的一个或多个。

另外,步骤s120d和130d中的惩罚目标的设置方式是最为简单的一种设置方式,即使用单一的惩罚目标,例如90%的输出0元素相对于所有元素的比率。但是,该方式比较激进,使得训练过程不容易管控,因此,在本申请实施例中,可以使用另外一种惩罚目标设置方式。具体地,在该惩罚目标设置方式中,每一次参数更新时的目标稀疏度是和具体的训练过程相关的,例如,随着迭代次数的增加,从初始稀疏度逐步提升惩罚目标直到最终的惩罚目标。该惩罚目标设置方式能够防止由于惩罚目标一次性设置得太高导致训练不稳定。

另外,可以按照训练过程分阶段设置惩罚目标,例如,每隔n个迭代周期更新一次惩罚目标,从而使得神经网络可以纠正因为惩罚导致的网络性能下降。当然,也可以结合上述两种方式,或者使用其它条件,例如网络精度来判定是否增大惩罚目标。

因此,在如上所述的根据本申请实施例的神经网络的训练方法中,若所述指标参数符合预设条件,确定与所述预设条件相对应的更新方式包括:若所述零元素相对于所有元素的比率大于第一比率阈值,则确定所述零元素相对于所有元素的比率是否小于第二比率阈值,所述第二比率阈值大于所述第一比率阈值;以及,若所述零元素相对于所有元素的比率小于第二比率阈值,则确定与所述预设条件相对应的更新方式。

图5图示了根据本申请实施例的神经网络的训练方法中的监督训练的实例的示意图。

根据本申请实施例的神经网络的训练方法在具体训练过程中,由于某些条件的设置不合理可能导致神经网络的性能(例如准确率)的轻微下降,对此,可以通过各种知识蒸馏的方式来提升神经网络的性能。

如图5所示,使用已训练的第二神经网络t来监督训练第一神经网络s,其中,t和s可以是相同的神经网络。例如,t具有卷积层cnn1、bn层bn1和relu激活函数层relu1。并且,s具有卷积层cnn2、bn层bn2和relu激活函数层relu2。将样本数据,例如图像集d经过预处理过程p得到d’,并将d’输入到所述第二神经网络t的cnn1和第一神经网络s的cnn2。

为了使用所述第二神经网络t监督所述第一神经网络s的训练,从所述第一神经网络s的预定层,例如如图5所示的bn层bn1得到第一特征图f1,并且从所述第二神经网络t的对应的预定层,例如如图5所示的bn层bn2得到第二特征图f2。并且,所述bn层bn1和所述bn层bn2的计算过程需要相同。这里,也可以从所述第一神经网络s和所述第二神经网络t的其它层,例如relu激活函数层,或者卷积层中的某一层得到所述第一特征图和所述第二特征图,只要是所述第一神经网络s和所述第二神经网络t中对应的预定层即可。

然后,计算所述第一特征图f1和所述第二特征图f2的损失函数值,例如交叉熵损失函数值,再使用所述损失函数值来通过例如反向传播的方式训练所述第一神经网络s,以更新所述第一神经网络s的参数。然后,确定更新后的所述第一神经网络的指标参数,例如,bn层的平移参数。

并且,在所述第一神经网络s的训练结束之后,可以使用更新后的所述第一神经网络s作为初始的所述第一神经网络s,继续以所述第二神经网络t来对所述第一神经网络s进行训练,从而通过迭代训练的方式进一步提高训练后的所述第一神经网络s的精度。

也就是,在根据本申请实施例的神经网络的训练方法中,确定所述第一神经网络在本次训练过程中的指标参数,包括:通过所述第一神经网络在本次训练过程中的预定层输出所述样本数据的第一特征图;通过已训练的第二神经网络的对应的预定层输出所述样本数据的第二特征图;基于所述第一特征图和所述第二特征图之间的损失函数值,确定所述第一神经网络在本次训练过程中的指标参数。

这样,通过使用所述已训练的第二神经网络监督所述第一神经网络的训练,可以提升所述第一神经网络的性能,例如准确率。

示例性装置

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

如图6所示,根据本申请实施例的神经网络的训练装置200包括:网络训练单元210,用于通过样本数据对待训练的第一神经网络进行训练;参数确定单元220,用于确定所述网络训练单元210所训练的所述第一神经网络在本次训练过程中的指标参数;更新确定单元230,用于若所述参数确定单元220所确定的所述指标参数符合预设条件,确定与所述预设条件相对应的更新方式;以及。参数更新单元240,用于基于所述更新确定单元230所确定的所述更新方式更新所述第一神经网络中的批处理归一化层的参数。

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

如图7所示,在如图6所示的实施例的基础上,所述更新确定单元230包括:否定确定子单元231,用于若所述参数确定单元220所确定的所述指标参数不符合预设条件,确定所述更新方式为以每次训练反向传播时更新的梯度与学习率的乘积减小所述批处理归一化层的平移参数;以及,肯定确定子单元232,用于若所述参数确定单元220所确定的所述指标参数符合预设条件,确定所述更新方式为以每次训练反向传播时更新的梯度与学习率的乘积与惩罚参数之和减小所述批处理归一化层的平移参数。

图8的(a)到(d)图示了根据本申请实施例的神经网络的训练装置的参数确定单元和更新确定单元的第二示例的框图。

如图8的(a)所示,在如图6所示的实施例的基础上,所述参数确定单元220包括:第一确定子单元220a,用于确定所述网络训练单元210所训练的所述第一神经网络在本次训练过程中所述批处理归一化层的平移参数;以及所述更新确定单元230包括:第一更新子单元230a,用于若所述第一确定子单元220a确定所述平移参数大于预定阈值,则确定与所述预设条件相对应的更新方式。

如图8的(b)所示,在如图6所示的实施例的基础上,所述参数确定单元220包括:第二确定子单元220b,用于确定所述网络训练单元210所训练的所述第一神经网络在本次训练过程中的已训练次数;以及所述更新确定单元230包括:第二更新子单元230b,用于若所述第二确定子单元220b确定所述已训练次数大于预定次数阈值,则确定与所述预设条件相对应的更新方式。

如图8的(c)所示,在如图6所示的实施例的基础上,所述参数确定单元220包括:第三确定子单元220c,用于确定所述网络训练单元210所训练的所述第一神经网络在本次训练过程中的训练精度;以及所述更新确定单元230包括:第三更新子单元230c,用于若所述第三确定子单元220c确定所述训练精度大于预定精度阈值,则确定与所述预设条件相对应的更新方式。

如图8的(d)所示,在如图6所示的实施例的基础上,所述参数确定单元220包括:第四确定子单元220d,用于确定所述网络训练单元210所训练的所述第一神经网络在本次训练过程中的一层或多层输出的特征图中的零元素相对于所有元素的比率;以及所述更新确定单元230包括:第四更新子单元230d,用于若所述第四确定子单元220d确定所述零元素相对于所有元素的比率小于第一比率阈值,则确定与所述预设条件相对应的更新方式。

这里,本领域技术人员可以理解,与之前所述的相同,根据本申请实施例的参数确定单元220可以包括第一确定子单元220a到第四确定子单元220d中的一个或多个,且相应地,根据本申请实施例的更新确定单元230也可以包括第一更新子单元230a到第四更新子单元230d中的一个或多个。

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

如图9所示,在如图8的(d)所示的实施例的基础上,所述更新确定单元230进一步包括:阈值确定子单元230e,用于若所述第四确定子单元230d确定所述零元素相对于所有元素的比率大于第一比率阈值,则确定所述零元素相对于所有元素的比率是否小于第二比率阈值,所述第二比率阈值大于所述第一比率阈值;以及,第五更新子单元230f,用于若所述阈值确定子单元230e确定所述零元素相对于所有元素的比率小于第二比率阈值,则确定与所述预设条件相对应的更新方式。

图10图示了根据本申请实施例的神经网络的训练装置的参数确定单元的示例的框图。

如图10所示,在如图6所示的实施例的基础上,所述参数确定单元220包括:第一特征图获得子单元221,用于通过所述网络训练单元210所训练的所述第一神经网络在本次训练过程中的预定层输出所述样本数据的第一特征图;第二特征图获得子单元222,用于通过已训练的第二神经网络的对应的预定层输出所述样本数据的第二特征图;指标参数确定子单元223,用于基于所述第一特征图获得子单元221所获得的所述第一特征图和所述第二特征图获得子单元222所获得的所述第二特征图之间的损失函数值,确定所述第一神经网络在本次训练过程中的指标参数。

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

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

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

示例性电子设备

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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