神经网络的处理方法及装置、存储介质、电子装置与流程

文档序号:16581074发布日期:2019-01-14 17:58阅读:145来源:国知局
神经网络的处理方法及装置、存储介质、电子装置与流程

本发明涉及通信领域,具体而言,涉及一种神经网络的处理方法及装置、存储介质、电子装置。



背景技术:

现有技术中的卷积神经网络,随着卷积神经网络的层数加深,网络的复杂度也变得越来越大,比如说现在流行的resnet神经网络,其卷积层数量可以超过1000层,此外所有卷积层的计算量几乎占据了整个网络计算量的80%。这就导致类似的卷积神经网络不能够运行在监控摄像头等嵌入式设备上。为了降低卷积层的计算复杂度,现有的技术通过直接对神经网络的浮点权重和浮点激活进行二值化操作。

图1是本发明现有技术中卷积神经网络的权重高斯分布示意图,如图1所示,卷积神经网络的每一层权重wl的分布一般都0左右,接近高斯分布,所以如果直接对权重强行进行二值化操作,就会导致二值化后的权重和原始权重wl相差较大,导致在使用随机梯度下降算法对卷积神经网络进行优化时,会产生振荡,从而导致收敛变慢,精度不高。同理,卷积神经网络的每一层输出激活值也近似于高斯分布,如果强行进行二值化量化,会导致量化前后的值差异较大。

针对现有技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种神经网络的处理方法及装置、存储介质、电子装置。

根据本发明的一个实施例,提供了一种神经网络的处理方法,包括:确定卷积神经网络中的目标函数,其中,所述目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;根据预设正则约束系数对所述初始网络权值进行处理得到目标网络权值;在所述目标函数中使用所述目标网络权值和输入值得到输出值。

可选地,根据预设正则约束系数对所述初始网络权值进行处理得到目标网络权值包括:对所述目标函数每一层的初始网络权值添加所述预设正则约束系数得到二级网络权值;对所述二级网络权值进行二值化操作,得到所述目标网络权值。

可选地,对所述二级网络权值进行二值化操作,得到所述目标网络权值,包括:判断所述二级网络权值是否大于或等于0;在所述二级网络权值大于或等于0时,确定所述目标网络权值为1,在所述二级网络权值小于0时,确定所述目标网络权值为-1。

可选地,对所述目标函数每一层的初始网络权值添加所述预设正则约束系数得到二级网络权值包括:使用以下公式得到所述二级网络权值:

其中,n为所述目标函数的层数,r(w)为所述预设正则约束系数,α为可调参数,wl为所述初始网络权值,li为所述目标函数各层原本损失函数,l(w)为总损失函数,其中,在所述l(w)取最小值时,对应的w为所述二级网络权值。

可选地,在在所述目标函数中使用所述目标网络权值和输入值得到输出值之前,所述方法还包括:对所述目标函数的激活函数进行二值化操作。

根据本发明的另一个实施例,提供了一种神经网络的处理装置,包括:确定模块,用于确定卷积神经网络中的目标函数,其中,所述目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;计算模块,用于根据预设正则约束系数对所述初始网络权值进行处理得到目标网络权值;处理模块,用于在所述目标函数中使用所述目标网络权值和输入值得到输出值。

可选地,所述计算模块包括:添加单元,用于对所述目标函数每一层的初始网络权值添加所述预设正则约束系数得到二级网络权值;计算单元,用于对所述二级网络权值进行二值化操作,得到所述目标网络权值。

可选地,所述添加单元对所述目标函数每一层的初始网络权值添加所述预设正则约束系数得到二级网络权值包括:

使用以下公式得到所述二级网络权值:

其中,n为所述目标函数的层数,r(w)为所述预设正则约束系数,α为可调参数,wl为所述初始网络权值,li为所述目标函数各层原本损失函数,l(w)为总损失函数,其中,在所述l(w)取最小值时,对应的w为所述二级网络权值。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过对卷积神经网络中的目标函数的初始网络权值使用预设正则约束系数处理,可以减少初始网络权值在二值化处理时的误差,解决了现有技术中卷积神经网络收敛慢,以及精度低的技术问题,使得卷积神经网络模型在优化空间中接近最优目标。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明现有技术中卷积神经网络的权重高斯分布示意图;

图2是本发明实施例的一种神经网络的训练方法的网络终端的硬件结构框图;

图3是根据本发明实施例的神经网络的处理方法的流程图;

图4是根据本发明实施例的神经网络的训练处理的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

本申请实施例一所提供的方法实施例可以在服务器,网络终端、计算机终端或者类似的运算装置中执行。以运行在网络终端上为例,图2是本发明实施例的一种神经网络的训练方法的网络终端的硬件结构框图。如图2所示,网络终端10可以包括一个或多个(图2中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述网络终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述网络终端的结构造成限定。例如,网络终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的神经网络的训练方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至网络终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括网络终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种神经网络的训练方法,图3是根据本发明实施例的神经网络的处理方法的流程图,如图3所示,该流程包括如下步骤:

步骤s302,确定卷积神经网络中的目标函数,其中,目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;

步骤s304,根据预设正则约束系数对初始网络权值进行处理得到目标网络权值;

步骤s306,在目标函数中使用目标网络权值和输入值得到输出值。

通过上述步骤,通过对卷积神经网络中的目标函数的初始网络权值使用预设正则约束系数处理,可以减少初始网络权值在二值化处理时的误差,解决了现有技术中卷积神经网络收敛慢,以及精度低的技术问题,使得卷积神经网络模型在优化空间中接近最优目标。

可选地,上述步骤的执行主体可以为数据处理设备,服务器,终端等,具体可以是处理器,算法模块等,但不限于此。

本实施例的应用场景,可以应用在人脸识别、车辆检测、物体识别等人工智能的场景中,卷积神经网络可以是深度卷积神经网络,本实施例的方案可以具体运行在如监控摄像头等嵌入式设备上。

在本实施例的一个示例中,根据预设正则约束系数对初始网络权值进行处理得到目标网络权值包括:

s11,对目标函数每一层的初始网络权值添加预设正则约束系数得到二级网络权值;

1、s12,对二级网络权值进行二值化操作,得到目标网络权值。通过使用预设正则约束系数,实现对初始网络权值的精确估算,可以减少二值化操作前后网络权值的误差,loss曲线更加平滑,达到快速收敛的目的。

在本实施例的一个实施方式中,对二级网络权值进行二值化操作,得到目标网络权值,包括:

s11,判断二级网络权值是否大于或等于0;

s12,在二级网络权值大于或等于0时,确定目标网络权值为1,在二级网络权值小于0时,确定目标网络权值为-1。

在本实施方式中,二值化操作是对一个给定的卷积神经网络ω进行估算操作。在一个示例中,第i层的输入向量是xl,第i层的权重是wl,则第i层的输出(即第i+1层的输入)为那么对第i层的权重wl的二值化方式如下公式所示:

通过上述公式的量化之后原来的权重wl变成了二值权重

可选的,对目标函数每一层的初始网络权值添加预设正则约束系数得到二级网络权值包括:

使用以下公式得到二级网络权值:

其中,n为目标函数的层数,r(w)为预设正则约束系数,α为可调参数,wl为初始网络权值,li为目标函数各层原本损失函数,l(w)为总损失函数,其中,在所述l(w)取最小值时,对应的w为所述二级网络权值。通过在目标函数内对每一层初始网络权值wl添加r(w),迫使权重在优化过程中倾向于+1或者-1。

对应的,在对二级网络权值进行二值化操作时,可以通过以下公式来实现:

其中,

可选的,在在目标函数中使用目标网络权值和输入值得到输出值之前,方法还包括:对目标函数的激活函数进行二值化操作。激活函数可以设置在目标函数在一个或者多层,可以用于拟合卷积神经网络等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

实施例2

在本实施例中还提供了一种神经网络的训练装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的神经网络的训练处理的结构框图,如图4所示,该装置包括:

确定模块40,用于确定卷积神经网络中的目标函数,其中,目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;

计算模块42,用于根据预设正则约束系数对初始网络权值进行处理得到目标网络权值;

处理模块44,用于在目标函数中使用目标网络权值和输入值得到输出值。

可选的,计算模块包括:添加单元,用于对目标函数每一层的初始网络权值添加预设正则约束系数得到二级网络权值;计算单元,用于对二级网络权值进行二值化操作,得到目标网络权值。

可选的,添加单元对目标函数每一层的初始网络权值添加预设正则约束系数得到二级网络权值包括:使用以下公式得到二级网络权值:

其中,n为目标函数的层数,r(w)为预设正则约束系数,α为可调参数,wl为初始网络权值,li为目标函数各层原本损失函数,l(w)为总损失函数,其中,在所述l(w)取最小值时,对应的w为所述二级网络权值。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,确定卷积神经网络中的目标函数,其中,目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;

s2,根据预设正则约束系数对初始网络权值进行处理得到目标网络权值;

s3,在目标函数中使用目标网络权值和输入值得到输出值。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,确定卷积神经网络中的目标函数,其中,目标函数的每一层对应一个初始网络权值,其中,所述卷积神经网络应用在以下至少之一:人脸识别、车辆检测、物体识别;

s2,根据预设正则约束系数对初始网络权值进行处理得到目标网络权值;

s3,在目标函数中使用目标网络权值和输入值得到输出值。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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