掌桥专利:专业的专利平台
掌桥专利
首页

一种神经网络的量化方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:57:35


一种神经网络的量化方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机技术领域,尤其涉及一种神经网络的量化方法、装置、电子设备及存储介质。

背景技术

目前,深度卷积神经网络(deep convolution neural network,DCNN)在图像分类、语音识别以及目标检测等领域已经得到广泛应用。例如,可以将某一图片输入神经网络模型以得到该图片对应的类别。

由于神经网络模型占用的存储资源和所需的计算资源较大,如需在可移动设备(例如终端)中部署(或使用)该神经网络模型,通常需要压缩该神经网络模型以减小该神经网络模型的体积。具体的,可以将原始神经网络模型中的32位浮点数权重量化为8bit或4bit的权重,例如,可以将该原始神经网络中包括的权重值量化为-1或1两个值,即得到包括该两个值的量化神经网络模型。进而,可以通过该量化神经网络模型对输入的图片进行预测。

但是,上述对原始神经网络模型进行量化的方式可能不够合理,即可能不能合理、有效地确定出量化后的神经网络模型,进而可能导致预测结果不准确。

发明内容

本公开提供一种神经网络的量化方法、装置、电子设备及存储介质,解决了现有技术中量化方式不合理,进而导致量化后的模型预测结果不准确的技术问题。

本公开实施例的技术方案如下:

根据本公开实施例的第一方面,提供一种神经网络的量化方法。该方法可以包括:获取训练样本图像以及该训练样本图像的类型,并将该训练样本图像输入到第一模型,得到预测分类结果,该第一模型中网络层的初始权重是基于初始量化步长和参考模型中网络层的权重确定的;根据该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度;基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长;基于更新后的量化步长,调整该第一模型中的权重,以得到量化后的模型。

可选地,上述神经网络的量化方法还包括:执行第一操作,直到该第一操作的执行次数达到操作阈值为止,得到目标模型;该第一操作包括:获取目标图像以及该目标图像的类型;将该目标图像分别输入到当前待处理模型和该参考模型,分别得到第一分类结果和第二分类结果,当该第一操作为首次执行时,该当前待处理模型为该量化后的模型,当该第一操作为非首次执行时,该当前待处理模型为执行上一次第一操作后的当前待处理模型;根据该第一分类结果、该第二分类结果、该目标图像的类型、该当前待处理模型对应的权重以及该当前待处理模型对应的量化步长,确定第二梯度;基于该第二梯度、该当前待处理模型对应的量化步长以及该当前待处理模型对应的学习率更新该当前待处理模型对应的量化步长;基于更新后的量化步长,调整该当前待处理模型对应的权重。

可选地,上述根据该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度具体包括:根据该预测分类结果和该训练样本图像的类型确定第一损失,该第一损失用于表征该预测分类结果与该训练样本图像的类型之间的差异;根据该第一损失、该初始权重以及该初始量化步长,确定该第一梯度。

可选地,上述根据该第一损失、该初始权重以及该初始量化步长,确定该第一梯度具体包括:确定第三梯度和第四梯度,该第三梯度为该第一损失对该初始权重的梯度,该第四梯度为该初始权重对该初始量化步长的梯度;将该第三梯度与该第四梯度的乘积确定为该第一梯度。

可选地,上述神经网络的量化方法还包括:获取该参考模型;根据该初始量化步长和该参考模型中网络层的权重确定该初始权重。

可选地,上述根据该初始量化步长和该参考模型中网络层的权重确定该初始权重具体包括:确定该初始权重满足下述公式:

其中,w

可选地,上述根据该预测分类结果和该训练样本图像的类型确定第一损失具体包括:确定该第一损失满足下述公式:

其中,L

可选地,上述基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长具体包括:确定该更新后的量化步长满足下述公式:

其中,s

根据本公开实施例的第二方面,提供一种神经网络的量化装置。该装置可以包括:获取模块、处理模块以及确定模块;该获取模块,被配置为获取训练样本图像以及该训练样本图像的类型;该处理模块,被配置为将该训练样本图像输入到第一模型,得到预测分类结果,该第一模型中网络层的初始权重是基于初始量化步长和参考模型中网络层的权重确定的;该确定模块,被配置为根据该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度;该处理模块,还被配置为基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长;该处理模块,还被配置为基于更新后的量化步长,调整该第一模型中的权重,以得到量化后的模型。

可选地,该处理模块,还被配置为执行第一操作,直到该第一操作的执行次数达到操作阈值为止,得到目标模型;该第一操作包括下述S1-S5:S1、获取目标图像以及该目标图像的类型;S2、将该目标图像分别输入到当前待处理模型和该参考模型,分别得到第一分类结果和第二分类结果,当该第一操作为首次执行时,该当前待处理模型为该量化后的模型,当该第一操作为非首次执行时,该当前待处理模型为执行上一次第一操作后的当前待处理模型;S3、根据该第一分类结果、该第二分类结果、该目标图像的类型、该当前待处理模型对应的权重以及该当前待处理模型对应的量化步长,确定第二梯度;S4、基于该第二梯度、该当前待处理模型对应的量化步长以及该当前待处理模型对应的学习率更新该当前待处理模型对应的量化步长;S5、基于更新后的量化步长,调整该当前待处理模型对应的权重。

可选地,该确定模块,还被配置为根据该预测分类结果和该训练样本图像的类型确定第一损失,该第一损失用于表征该预测分类结果与该训练样本图像的类型之间的差异;该确定模块,还被配置为根据该第一损失、该初始权重以及该初始量化步长,确定该第一梯度。

可选地,该确定模块,还被配置为确定第三梯度和第四梯度,该第三梯度为该第一损失对该初始权重的梯度,该第四梯度为该初始权重对该初始量化步长的梯度;该确定模块,还被配置为将该第三梯度与该第四梯度的乘积确定为该第一梯度。

可选地,该获取模块,还被配置为获取该参考模型;该确定模块,还被配置为根据该初始量化步长和该参考模型中网络层的权重确定该初始权重。

可选地,该确定模块,还被配置为确定该初始权重满足下述公式:

其中,w

可选地,该确定模块,还被配置为确定该第一损失满足下述公式:

其中,L

可选地,该确定模块,还被配置为确定该更新后的量化步长满足下述公式:

其中,s

根据本公开实施例的第三方面,提供一种电子设备,可以包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地神经网络的量化方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由电子设备执行时,使得该电子设备能够执行上述第一方面中任一种可选地神经网络的量化方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面中任一种可选地神经网络的量化方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

基于上述任一方面,本公开中,电子设备可以获取训练样本图像以及该训练样本图像的类型,并将该训练样本图像输入到第一模型,以得到预测分类结果;然后,该电子设备基于该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度;并且,该电子设备基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长,以及基于更新后的量化步长,调整该第一模型中的权重,得到量化后的模型。本公开实施例中,电子设备可以基于第一模型的分类结果(即预测分类结果)和真实的分类结果(即训练样本图像的类型)等自动更新初始量化步长,进而调整(或更新)该第一模型中的权重,以得到量化后的模型,能够合理、有效地确定出量化后的模型,即在保障量化后的模型体积较小的同时,提升该量化后的模型的预测准确性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1示出了本公开实施例提供的一种神经网络的量化方法的流程示意图;

图2示出了本公开实施例提供的又一种神经网络的量化方法的流程示意图;

图3示出了本公开实施例提供的又一种神经网络的量化方法的流程示意图;

图4示出了本公开实施例提供的又一种神经网络的量化方法的流程示意图;

图5示出了本公开实施例提供的又一种神经网络的量化方法的流程示意图;

图6示出了本公开实施例提供的又一种神经网络的量化方法的流程示意图;

图7示出了本公开实施例提供的一种神经网络的量化装置的结构示意图;

图8示出了本公开实施例提供的又一种神经网络的量化装置的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

如背景技术中所描述,由于现有技术中,将原始神经网络模型进行量化的方式可能不能准确、合理地确定出量化后的神经网络模型,进而可能导致(量化后的神经网络模型的)预测结果不准确。

基于此,本公开实施例提供一种神经网络的量化方法,电子设备可以获取训练样本图像以及该训练样本图像的类型,并将该训练样本图像输入到第一模型,以得到预测分类结果;然后,该电子设备基于该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度;并且,该电子设备基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长,以及基于更新后的量化步长,调整该第一模型中的权重,得到量化后的模型。本公开实施例中,电子设备可以基于第一模型的分类结果(即预测分类结果)和真实的分类结果(即训练样本图像的类型)等自动更新初始量化步长,进而调整(或更新)该第一模型中的权重,以得到量化后的模型,能够合理、有效地确定出量化后的模型,即在保障量化后的模型体积较小的同时,提升该量化后的模型的预测准确性。

本公开实施例提供的神经网络的量化方法、装置、电子设备及存储介质,应用于需要对某一神经网络模型进行量化的场景中。当电子设备获取到第一模型、训练样本图像以及该训练样本图像的类型时,可以依据本公开实施例提供的方法,得到量化后的模型。

以下结合附图对本公开实施例提供的神经网络的量化方法进行示例性说明:

可以理解的是,执行本公开实施例提供的神经网络的量化方法的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personaldigital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtualreality,VR)设备等可以安装并使用内容社区应用(如快手)的设备,本公开对电子设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。

如图1所示,本公开实施例提供的神经网络的量化方法可以包括S101-S104。

S101、电子设备获取训练样本图像以及训练样本图像的类型,并将训练样本图像输入到第一模型,得到预测分类结果。

其中,该第一模型中网络层的初始权重是基于初始量化步长和参考模型中网络层的权重确定的。

应理解,该训练样本图像的数量可以为多个,本公开实施例中,电子设备可以获取该多个训练样本图像以及该多个训练样本图像各自的类型,即不同的训练样本图像可以对应不同的类型,该训练样本图像的类型可以理解为该训练样本图像对应的真实的分类结果。

可以理解的是,上述参考模型为已经训练完成的、预测精度(或准确度)较高的神经网络模型。该初始量化步长为将该参考模型中网络层的权重量化为该初始权重的量化步长。该参考模型中可以包括多个权重,该网络层的权重为该多个权重中的一个,本公开实施例中,电子设备可以基于该多个权重中的一个和上述初始量化步长确定初始权重,该初始权重为第一模型中包括的多个权重中的一个。

本公开实施例中,第一模型可以对输入的图像进行分类,具体的,当电子设备将训练样本图像输入到该第一模型时,可以得到该训练样本图像在该第一模型中对应的分类结果。

S102、电子设备根据预测分类结果、训练样本图像的类型、初始权重以及初始量化步长确定第一梯度。

结合上述实施例的描述,应理解,该预测分类结果为训练样本图像在第一模型中对应的分类结果,该训练样本图像的类型为该训练样本图像对应的真实的分类结果,该初始权重为该第一模型中包括的权重,该初始量化步长为将参考模型中网络层的权重量化为该初始权重的量化步长。本公开实施例中,电子设备可以根据该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长确定该第一梯度。

S103、电子设备基于第一梯度、初始量化步长以及第一模型对应的学习率更新初始量化步长。

应理解,电子设备在确定出上述第一梯度之后,需要结合该初始量化步长以及第一模型对应的学习率更新该初始量化步长,以得到更新后的量化步长。

S104、电子设备基于更新后的量化步长调整第一模型中的权重,以得到量化后的模型。

结合上述实施例的描述,应理解,第一模型中可以包括多个权重,初始权重为该多个权重中的一个。本公开实施例中,电子设备可以基于更新后的量化步长调整第一模型中的权重,例如可以将初始权重调整(或更新)为某一权重,该权重为量化后的模型中包括的一个权重。进而,电子设备可以确定出量化后的模型中包括的每一个权重,即得到该量化后的模型。

上述实施例提供的技术方案至少能够带来以下有益效果:由S101-S104可知,电子设备可以获取训练样本图像以及该训练样本图像的类型,并将该训练样本图像输入到第一模型,以得到预测分类结果;然后,该电子设备基于该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度;并且,该电子设备基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长,以及基于更新后的量化步长,调整该第一模型中的权重,得到量化后的模型。本公开实施例中,电子设备可以基于第一模型的分类结果(即预测分类结果)和真实的分类结果(即训练样本图像的类型)等自动更新初始量化步长,进而调整(或更新)该第一模型中的权重,以得到量化后的模型,能够合理、有效地确定出量化后的模型,即在保障量化后的模型体积较小的同时,提升该量化后的模型的预测准确性。

结合图1,如图2所示,在本公开实施例的一种实现方式中,上述S102具体包括S1021-S1022。

S1021、电子设备根据预测分类结果和训练样本图像的类型确定第一损失。

其中,该第一损失用于表征该预测分类结果与该训练样本图像的类型之间的差异。

应理解,训练样本图像在第一模型中对应的分类结果与训练样本图像对应的真实的分类结果之间会存在一定的差异。本公开实施例中,电子设备可以基于该第一模型中对应的分类结果和该实的分类结果确定该差异(即第一损失),进而确定出上述第一损失。

S1022、电子设备根据第一损失、初始权重以及初始量化步长,确定第一梯度。

可以理解的是,电子设备在确定出上述第一损失之后,可以结合上述初始权重和初始量化步长确定第一梯度,该第一梯度可以理解为该第一损失对该初始量化步长的梯度。

上述实施例提供的技术方案至少能够带来以下有益效果:由S1021-S1022可知,电子设备可以根据预测分类结果和训练样本图像的类型确定第一损失,并且根据该第一损失、初始权重以及初始量化步长确定第一梯度。本公开实施例中,电子设备可以确定训练样本图像在第一模型中对应的分类结果与该训练样本图像对应的真实的分类结果之间的差异(即第一损失),进而基于该第一损失、初始权重以及初始量化步长确定出第一梯度,能够准确地确定出该第一梯度,进而能够提升初始量化步长的更新效率。

在本公开实施例的一种实现方式中,上述S1021具体包括:

确定上述第一损失满足下述公式:

其中,L

应理解,该个训练样本图像可以被分为个类型,每一个(例如第个)训练样本图像可以分别对应一个预测分类结果(即在第一模型中对应的分类结果)和一个类型(即真实的分类结果)。

可选地,上述p

上述实施例提供的技术方案至少能够带来以下有益效果:电子设备可以根据多个训练样本图像中各个训练样本图像分别在第一模型中对应的分类结果和真实的分类结果确定上述第一损失。能够提升第一损失的确定效率,进而提升第一梯度的确定效率。

结合图2,如图3所示,在本公开实施例的一种实现方式中,上述S1022具体包括S1022a-S1022b。

S1022a、电子设备确定第三梯度和第四梯度。

其中,该第三梯度为第一损失对初始权重的梯度,该第四梯度为初始权重对初始量化步长的梯度。

S1022b、电子设备将第三梯度和第四梯度的乘积确定为第一梯度。

结合上述实施例的描述,应理解该第一梯度为第一损失对初始量化步长的梯度。

在本公开实施例的一种实现方式中,电子设备可以通过梯度估计器,例如直通估计器(straight through estimator,STE)确定该第一梯度。

具体的,上述第一梯度可以满足下述公式:

其中,L

应理解,量化网络模型(包括第一模型)是不能求导的,本公开实施例中,引入STE,即将参考模型中包括的梯度(即

在一种情况下,上述第四梯度满足下述公式:

应理解,符号「」可以表示向最近的整数取整,例如,

在另一种情况下,由于第一损失(即L

上述实施例提供的技术方案至少能够带来以下有益效果:由S1022a-S1022b可知,电子设备可以确定第三梯度和第四梯度,并且将该第三梯度与该第四梯度的乘积确定为第一梯度。本公开实施例中,电子设备可以基于第一损失度初始权重的梯度和该初始权重对初始量化步长的梯度确定出第一损失对初始量化步长的梯度,能够准确、合理地确定出第一梯度,进而能够提升神经网络模型的量化效率。

结合图1,如图4所示,在本发明实施例的一种实现方式中,在上述S101之前还可以包括S105-S106。

S105、电子设备获取参考模型。

结合上述实施例的描述,应理解,该参考模型为已经训练完成的、预测精度(或准确度)较高的神经网络模型。

S106、电子设备根据初始量化步长和参考模型中网络层的权重确定初始权重。

应理解,电子设备获取该参考模型,即可以获取到该参考模型中包括的多个权重,进而可以根据某一个权重和该初始量化步长确定出上述初始权重,同理,还可以基于相同的方式确定出上述第一模型中包括的其他权重。

上述实施例提供的技术方案至少能够带来以下有益效果:由S105-S106可知,电子设备可以获取参考模型,并且根据初始量化步长和参考模型中网络层的权重确定初始权重。本公开实施例中,电子设备可以基于已经训练完成的、预测精度较高的神经网络模型中包括的权重和相应的量化步长(例如初始量化步长)确定出初始权重,进而可以确定出第一模型中包括的全部权重,即可以得到该第一模型,能够提升第一模型的确定效率,进而提升上述量化后的模型的确定效率,提升用户体验。

在本公开实施例的一种实现方式中,上述S106具体包括:

确定上述初始权重满足下述公式:

其中,w

应理解,clip()(即clip函数)用于将

可选地,电子设备还可以基于上述确定初始权重的公式,确定(或量化)模型的激活值(或输入),即量化上述训练样本图像。具体的,在上述S101中电子设备还可以将训练样本图像量化,并将量化后的训练样本图像输入到第一模型,以得到上述预测分类结果。

上述实施例提供的技术方案至少能够带来以下有益效果:电子设备可以基于初始量化步长和参考模型中网络层的权重,并结合clip函数和round函数确定初始权重,能够合理准确地确定出初始权重,进而确定出第一模型中的全部权重,进而提升了确定出上述量化后的模型的准确性。

在本公开实施例的一种实现方式中,上述S103具体包括:

确定更新后的量化步长满足下述公式:

其中,s

上述实施例提供的技术方案至少能够带来以下有益效果:电子设备可以基于初始量化步长、第一模型对应的学习率、第一梯度以及上述公式确定出更新后的量化步长,能够合理、有效地更新相关量化步长,进而合理地调整第一模型中的权重。

结合图1,如图5所示,在本公开实施例的一种实现方式中,在上述S104之后,本公开实施例提供的神经网络的量化方法还可以包括S107。

S107、电子设备执行第一操作,直到第一操作的执行次数达到操作阈值为止,得到目标模型。

具体的,如图6所示,上述第一操作包括S1-S5。

S1、电子设备获取目标图像以及目标图像的类型。

应理解,该目标图像的类型为该目标图像对应的真实的分类结果。

S2、电子设备将目标图像分别输入当前待处理模型和参考模型,分别得到第一分类结果和第二分类结果。

其中,当该第一操作为首次执行时,该当前待处理模型为上述量化后的模型。当该第一操作为非首次执行时,该当前待处理模型为执行上一次第一操作后的当前待处理模型。

可以理解的是上述当前待处理模型可以为上述S104中的量化后的模型,也可以是对该量化后的模型继续量化后得到的模型(即执行至少一次第一操作后得到的量化模型)。该第一分类结果为目标图像在该当前待处理模型中对应的预测结果,该第二分类结果为目标图像在该参考模型中对应的预测结果,该参考模型为已经训练完成的、预测精度(或准确度)较高的神经网络模型。

S3、电子设备根据第一分类结果、第二分类结果、目标图像的类型、当前待处理模型对应的权重以及当前待处理模型对应的量化步长,确定第二梯度。

在本公开实施例的一种实现方式中,上述S3具体可以包括步骤A-步骤D。

步骤A、电子设备根据第一分类结果和目标图像的类型确定第二损失。

其中,该第二损失用于表征该第一分类结果与该目标图像的类型之间的差异。

步骤B、电子设备根据第一分类结果和第二分类结果确定第三损失。

其中,该第三损失用于表征该第一分类结果与该第二分类结果之间的差异。

需要说明的是,电子设备确定第二损失和第三损失的过程与上述确定第一损失的过程是相同或类似的,关于确定该第二损失和该第三损失的描述可以参见上述确定第一损失的解释说明,此处不再赘述。

步骤C、电子设备基于第二损失和第三损失确定目标损失。

在本公开实施例的一种实现方式中,上述目标损失满足下述公式:

L=w

其中,L表示该目标损失,w

应理解,电子设备可以为第二损失和第三损失分别分配一个权重参数,进而基于该两个损失和两个权重参数确定该目标损失。

可选地,上述w

步骤D、电子设备根据目标损失、当前待处理模型对应的权重以及当前待处理模型对应的量化步长确定第二梯度。

需要说明的是,电子设备确定第二梯度的过程与上述确定第一梯度的过程是相同或类型的,关于电子设备确定该第二梯度的解释说明可以参见上述电子设备确定第一梯度中的描述,此处不再赘述。

S4、电子设备基于第二梯度、当前待处理模型对应的量化步长以及当前待处理模型对应的学习率更新当前待处理模型对应的量化步长。

S5、电子设备基于更新后的量化步长,调整当前待处理模型对应的权重。

可以理解的是,上述S4-S5中的过程与上述S103-S104中的过程是相同或类似的,此处不再赘述。

应理解,电子设备执行一次上述第一操作,即更新一次当前待处理模型对应的量化步长,并调整该当前待处理模型对应的权重,如此,完成一次当前待处理模型的量化过程。当该第一操作的执行次数达到操作阈值(例如100次)时,说明从量化第一次的当前待处理模型开始,已经量化(或迭代)了100次,如此,可以得到目标量化模型,即目标模型。

上述实施例提供的技术方案至少能够带来以下有益效果:由S107可知,电子设备可以执行第一操作,直到该第一操作的执行次数达到操作阈值为止,得到目标模型。该第一操作包括;电子设备获取目标图像和该目标图像的类型,并且将该目标图像分别输入到当前待处理模型和参考模型,分别得到第一分类结果和第二分类结果;该电子设备根据该第一分类结果、第二分类结果、该目标图像的类型、该当前待处理模型对应的权重以及该当前待处理模型对应的量化步长,确定第二梯度;然后,基于该第二梯度,该当前待处理模型对应的量化步长以及该当前待处理模型对应学习率更新该当前待处理模型对应的量化步长;并且,基于该更新后的量化步长,调整该当前待处理模型对应的权重。本公开实施例中,电子设备可以基于目标图像在待处理模型中的预测结果(即第一分类结果)、目标图像在参考模型中的预测结果(即第二分类结果)以及目标图像对应的真实的分类结果(即目标图像的类型)等自动更新当前待处理模型对应的量化步长,并且调整(或更新)该当前待处理模型对应的权重,进而在第一操作执行(或迭代)到操作阈值时,完成相关量化过程,得到目标模型。能够准确地确定出量化后的目标模型,即能够合理有效地降低模型的体积,并且提升目标模型的预测精度。

可以理解的,在实际实施时,本公开实施例所述的电子设备可以包含有用于实现前述对应神经网络的量化方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

基于这样的理解,本公开实施例还对应提供一种神经网络的量化装置,图7示出了本公开实施例提供的神经网络的量化装置的结构示意图。如图7所示,该神经网络的量化装置10可以包括:获取模块101、处理模块102以及确定模块103。

获取模块101,被配置为获取训练样本图像以及该训练样本图像的类型。

处理模块102,被配置为将该训练样本图像输入到第一模型,得到预测分类结果,该第一模型中网络层的初始权重是基于初始量化步长和参考模型中网络层的权重确定的。

确定模块103,被配置为根据该预测分类结果、该训练样本图像的类型、该初始权重以及该初始量化步长,确定第一梯度。

处理模块102,还被配置为基于该第一梯度、该初始量化步长以及该第一模型对应的学习率更新该初始量化步长。

处理模块102,还被配置为基于更新后的量化步长,调整该第一模型中的权重,以得到量化后的模型。

可选地,处理模块102,还被配置为执行第一操作,直到该第一操作的执行次数达到操作阈值为止,得到目标模型。该第一操作包括下述S1-S5:

S1、获取目标图像以及该目标图像的类型。

S2、将该目标图像分别输入到当前待处理模型和该参考模型,分别得到第一分类结果和第二分类结果,当该第一操作为首次执行时,该当前待处理模型为该量化后的模型,当该第一操作为非首次执行时,该当前待处理模型为执行上一次第一操作后的当前待处理模型。

S3、根据该第一分类结果、该第二分类结果、该目标图像的类型、该当前待处理模型对应的权重以及该当前待处理模型对应的量化步长,确定第二梯度。

S4、基于该第二梯度、该当前待处理模型对应的量化步长以及该当前待处理模型对应的学习率更新该当前待处理模型对应的量化步长。

S5、基于更新后的量化步长,调整该当前待处理模型对应的权重。

可选地,确定模块103,还被配置为根据该预测分类结果和该训练样本图像的类型确定第一损失,该第一损失用于表征该预测分类结果与该训练样本图像的类型之间的差异。

确定模块103,还被配置为根据该第一损失、该初始权重以及该初始量化步长,确定该第一梯度。

可选地,确定模块103,还被配置为确定第三梯度和第四梯度,该第三梯度为该第一损失对该初始权重的梯度,该第四梯度为该初始权重对该初始量化步长的梯度。

确定模块103,还被配置为将该第三梯度与该第四梯度的乘积确定为该第一梯度。

可选地,获取模块101,还被配置为获取该参考模型。

确定模块103,还被配置为根据该初始量化步长和该参考模型中网络层的权重确定该初始权重。

可选地,确定模块103,还被配置为确定该初始权重满足下述公式:

其中,w

可选地,确定模块103,还被配置为确定该第一损失满足下述公式:

其中,L

可选地,确定模块103,还被配置为确定该更新后的量化步长满足下述公式:

其中,s

如上所述,本公开实施例可以根据上述方法示例对神经网络的量化装置进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。

关于上述实施例中的神经网络的量化装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。

图8是本公开提供的另一种神经网络的量化装置的结构示意图。如图8,该神经网络的量化装置20可以包括至少一个处理器201以及用于存储处理器可执行指令的存储器203。其中,处理器201被配置为执行存储器203中的指令,以实现上述实施例中的神经网络的量化方法。

另外,神经网络的量化装置20还可以包括通信总线202以及至少一个通信接口204。

处理器201可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线202可包括一通路,在上述组件之间传送信息。

通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。

存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器203用于存储执行本公开方案的指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的指令,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图8中的CPU0和CPU1。

在具体实现中,作为一种实施例,神经网络的量化装置20可以包括多个处理器,例如图8中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,神经网络的量化装置20还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emittingdiode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

本领域技术人员可以理解,图8中示出的结构并不构成对神经网络的量化装置的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的神经网络的量化方法。

另外,本公开还提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的神经网络的量化方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

相关技术
  • 一种神经网络的量化方法、装置、电子设备及存储介质
  • 卷积神经网络量化方法、装置、电子设备和存储介质
技术分类

06120113115661