CN111091184B - 一种深度神经网络的量化方法、装置、电子设备及介质 - Google Patents
一种深度神经网络的量化方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111091184B CN111091184B CN201911320012.1A CN201911320012A CN111091184B CN 111091184 B CN111091184 B CN 111091184B CN 201911320012 A CN201911320012 A CN 201911320012A CN 111091184 B CN111091184 B CN 111091184B
- Authority
- CN
- China
- Prior art keywords
- quantization
- neural network
- deep neural
- determining
- weight parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种深度神经网络的量化方法、装置、电子设备及计算机可读存储介质,该方法包括:获取预训练生成的深度神经网络的浮点型模型;计算深度神经网络中各量化单元的重要性评估值;量化单元的类型包括深度神经网络的权重参数通道和/或隐含层,权重参数通道作为量化单元时用于进行权重参数量化,隐含层作为量化单元时用于进行激活输出量化;确定各个量化单元分别对应的量化位数;量化位数与各个量化单元的重要性评估值正向变化;根据量化位数对浮点型模型进行量化。本申请为不同权重参数通道和/或隐含层分别设置了与信息重要性相关变化的量化位数,在保障精度的同时进行了最大限度地量化压缩,减少了数据处理量并加快了计算。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种深度神经网络的量化方法、装置、电子设备及计算机可读存储介质。
背景技术
随着人工智能技术的不断发展,人工智能技术已逐渐应用于我们的生活中。在人工智能技术领域,深度学习是较典型的技术之一。虽然深度神经网络在图像分类,检测等方面的能力已接近或超越人类,但在实际部署中,仍然存在模型大,计算复杂度高等问题,对硬件成本要求较高。而在实际应用中多将神经网络部署于一些终端设备或者边缘设备上,而终端设备或边缘设备一般只有较低的计算能力,而且内存和电量消耗也都受限。因此真正实现深度神经网络模型的部署,在保证模型精度不变的情况下将模型变小,使其推理更快、耗电更低是非常有必要的,深度神经网络的训练后量化由此得到了推广应用。
但是,现有技术中在对深度神经网络进行训练后量化时,并未考虑到训练生成的网络结构本身所存在的冗余信息,这些冗余信息对最终推理结果的影响不大,但却增大了计算处理复杂度和速度。
鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种深度神经网络的量化方法、装置、电子设备及计算机可读存储介质,以便在保障深度神经网络精确度的基础上有效简化训练后量化的处理速度和计算量。
为解决上述技术问题,第一方面,本申请公开了一种深度神经网络的量化方法,包括:
获取预训练生成的深度神经网络的浮点型模型;
计算所述深度神经网络中各量化单元的重要性评估值;所述量化单元的类型包括所述深度神经网络的权重参数通道和/或隐含层,所述权重参数通道作为量化单元时用于进行权重参数量化,所述隐含层作为量化单元时用于进行激活输出量化;
确定各个所述量化单元分别对应的量化位数;所述量化位数与各个所述量化单元的所述重要性评估值正向变化;
根据所述量化位数对所述浮点型模型进行量化。
可选地,当所述量化单元的类型为所述深度神经网络的权重参数通道时,
所述计算所述深度神经网络中各量化单元的重要性评估值包括:计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将所述平均值作为对应权重参数通道的所述重要性评估值;
所述确定各个所述量化单元分别对应的量化位数包括:确定各个权重参数通道分别对应的通道量化位数。
可选地,所述确定各个权重参数通道分别对应的通道量化位数,包括:
判断所述平均值是否高于第一预设重要性阈值;
若是,则将对应权重参数通道的通道量化位数确定为第一位数;
若否,则将对应权重参数通道的通道量化位数确定为第二位数;
其中,所述第一位数大于所述第二位数。
可选地,当所述量化单元的类型为所述深度神经网络的隐含层时,所述计算所述深度神经网络中各量化单元的重要性评估值,包括:
将标定图片输入至所述浮点型模型中运行以计算各隐含层的特征图;
计算各隐含层的特征图与上一层网络的特征图的相似度;
将所述相似度取反后作为对应隐含层的所述重要性评估值;
所述确定各个所述量化单元分别对应的量化位数包括:确定各个隐含层分别对应的层量化位数。
可选地,所述确定各个隐含层分别对应的层量化位数,包括:
判断所述重要性评估值是否大于第二预设重要性阈值;
若是,则将对应隐含层的层量化位数确定为第三位数;
若否,则将对应隐含层的层量化位数确定为第四位数;
其中,所述第三位数大于所述第四位数。
可选地,所述计算各隐含层的特征图与上一层网络的特征图的相似度,包括:
计算各隐含层的特征图与上一层网络的特征图的直方图相似度。
第二方面,本申请还公开了一种深度神经网络的量化装置,包括:
训练模块,用于预先训练生成深度神经网络的浮点型模型;
计算模块,用于计算所述深度神经网络中各量化单元的重要性评估值;所述量化单元的类型包括所述深度神经网络的权重参数通道和/或隐含层,所述权重参数通道作为量化单元时用于进行权重参数量化,所述隐含层作为量化单元时用于进行激活输出量化;
确定模块,用于确定各个所述量化单元分别对应的量化位数;所述量化位数与各个所述量化单元的所述重要性评估值正向变化;
量化模块,用于根据所述量化位数对所述浮点型模型进行量化。
可选地,当所述量化单元的类型包括所述深度神经网络的权重参数通道时,所述计算模块包括第一计算单元,用于计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将所述平均值作为对应权重参数通道的所述重要性评估值;
所述确定模块包括第一确定单元,用于确定各个权重参数通道分别对应的通道量化位数。
可选地,所述第一确定单元具体用于:
判断所述平均值是否高于第一预设重要性阈值;若是,则将对应权重参数通道的通道量化位数确定为第一位数;若否,则将对应权重参数通道的通道量化位数确定为第二位数;其中,所述第一位数大于所述第二位数。
可选地,当所述量化单元的类型包括所述深度神经网络的隐含层时,所述计算模块包括第二计算单元,用于将标定图片输入至所述浮点型模型中运行以计算各隐含层的特征图;计算各隐含层的特征图与上一层网络的特征图的相似度;将所述相似度取反后作为对应隐含层的所述重要性评估值;
所述确定模块包括第二确定单元,用于确定各个隐含层分别对应的层量化位数。
可选地,所述第二确定单元具体用于:判断所述重要性评估值是否大于第二预设重要性阈值;若是,则将对应隐含层的层量化位数确定为第三位数;若否,则将对应隐含层的层量化位数确定为第四位数;其中,所述第三位数大于所述第四位数。
可选地,所述第二计算单元具体用于:计算各隐含层的特征图与上一层网络的特征图的直方图相似度。
第三方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种深度神经网络的量化方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种深度神经网络的量化方法的步骤。
本申请所提供的深度神经网络的量化方法包括:获取预训练生成的深度神经网络的浮点型模型;计算所述深度神经网络中各量化单元的重要性评估值;所述量化单元的类型包括所述深度神经网络的权重参数通道和/或隐含层;确定各个所述量化单元分别对应的量化位数;所述量化位数与各个所述量化单元的所述重要性评估值正向变化;根据所述量化位数对所述浮点型模型进行量化。
可见,本申请结合深度神经网络的自身结构特点,对深度神经网络中各部分结构的信息重要性进行了评估,进而为不同隐含层和/或不同权重参数通道分别设置了与重要性评估值相关变化的量化位数,能够在不影响深度神经网络的计算结果精度的情况下,对深度神经网络的浮点型模型进行最大限度地量化压缩,从而减少数据处理量并加快网络计算,帮助实现深度神经网络在低硬件配置设备上的模型部署。本申请所提供的深度神经网络的量化装置、电子设备及计算机可读存储介质同样具有上述有益效果。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请实施例公开的一种深度神经网络的量化方法的流程图;
图2为本申请实施例提供的一种确定通道量化位数的应用示例图;
图3为本申请实施例提供的一种确定层量化位数的应用示例图;
图4为本申请实施例公开的一种深度神经网络的量化装置的结构框图;
图5为本申请实施例公开的一种电子设备的结构框图。
具体实施方式
本申请的核心在于提供一种深度神经网络的量化方法、装置、电子设备及计算机可读存储介质,以便在保障深度神经网络精确度的基础上有效简化训练后量化的处理速度和计算量。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,随着人工智能技术的不断发展,深度神经网络等人工智能技术已逐渐应用于人们的生活中,特别是在图像处理的应用中。为真正实现深度神经网络模型在硬件计算能力有限的设备上的部署,深度神经网络的训练后量化得到了推广应用。但是,现有技术中在对深度神经网络进行训练后量化时,并未考虑到训练生成的网络结构本身所存在的冗余信息,这些冗余信息对最终推理结果的影响不大,但却增大了计算处理复杂度和速度。鉴于此,本申请提供了一种深度神经网络的量化方案,可有效解决上述问题。
参见图1所示,本申请实施例公开了一种深度神经网络的量化方法,主要包括:
S101:获取预训练生成的深度神经网络的浮点型模型。
首先需要说明的是,神经网络一般包括有输入层、隐含层、输出层,深度神经网络(Deep Neural Networks,DNN)为具有多个隐藏层的神经网络,又被称为深度前馈网络(Deep Feedback Networks,DFN),或者多层感知机(Multi-Layer Perceptron,MLP)。
预训练生成的深度神经网络尚未经过量化,其数据为浮点数据,所以未经量化的深度神经网络即为其浮点型模型。
S102:计算深度神经网络中各量化单元的重要性评估值。其中,量化单元的类型包括深度神经网络的权重参数通道和/或隐含层,权重参数通道作为量化单元时用于进行权重参数量化,隐含层作为量化单元时用于进行激活输出量化。
在对深度神经网路进行量化时,本申请实施例所提供的量化方法可具体进行权重参数量化和/或激活输出量化。其中,权重参数量化是指对各个权重参数通道的权重参数进行量化,量化单元为深度神经网络中的各个权重参数通道;激活输出量化是指对各个隐含层的输出结果进行激活输出量化,量化单元为深度神经网络的各个隐含层。
S103:确定各个量化单元分别对应的量化位数;量化位数与各个量化单元的重要性评估值正向变化。
需要指出的是,量化位数的选择决定了量化的精确度,因此,本申请实施例具体为权重参数量化和/或激活输出量化过程中所采用的量化位数进行了调整和设置。具体地,对于同类型量化单元而言,考虑到不同量化单元的重要性可能不同,因此本申请实施例分别为不同量化单元采用了不同的量化位数,量化位数的大小与量化单元的重要性评估值正向变化。
对于权重参数通道而言,权重参数通道重要性越高,表明该权重参数通道对特征提取的贡献越大,可选择较大的量化位数;权重参数通道重要性越低,表明该权重参数通道对特征提取的贡献越小,可选择较小的量化位数。即,权重参数通道重要性越高,则量化位数越高,权重参数通道重要性越低,则量化位数越低。
类似地,对于隐含层而言,隐含层重要性越高,表明该层网络对特征提取的贡献越大,可提取到关键特征,因此可选择较大的量化位数;隐含层重要性越低,表明该层网络对特征提取的贡献越小,可选择较小的量化位数。即,隐含层重要性越高,则量化位数越高,隐含层重要性越低,则量化位数越低。
S104:根据量化位数对浮点型模型进行量化。
具体地,若确定了通道量化位数,便可对深度神经网络的浮点型模型进行权重参数量化,以压缩深度神经网络结构大小。若确定了层量化位数,便可以对深度神经网络的浮点型模型进行激活输出量化,以降低计算处理复杂度。量化后的模型可后续用于基于深度神经网络的推理工作,如图像分类,图像检测,图像识别等。
需要补充的是,当权重参数量化和激活输出量化均进行后,浮点型模型将转换为定点型模型。此时获取到的定点型模型,具有混合精度的滤波器权重参数,并采用混合精度的特征图计算。
本申请实施例所提供的深度神经网络的量化方法包括:获取预训练生成的深度神经网络的浮点型模型;计算深度神经网络中各量化单元的重要性评估值;量化单元的类型包括深度神经网络的权重参数通道和/或隐含层;确定各个量化单元分别对应的量化位数;量化位数与各个量化单元的重要性评估值正向变化;根据量化位数对浮点型模型进行量化。
可见,本申请结合深度神经网络的自身结构特点,对深度神经网络中各部分结构的信息重要性进行了评估,进而为不同隐含层和/或不同权重参数通道分别设置了与重要性评估值相关变化的量化位数,能够在不影响深度神经网络的计算结果精度的情况下,对深度神经网络的浮点型模型进行最大限度地量化压缩,从而减少数据处理量并加快网络计算,帮助实现深度神经网络在低硬件配置设备上的模型部署。
作为一种具体实施例,本申请实施例所提供的深度神经网络的量化方法在上述内容的基础上,当量化单元的类型为深度神经网络的权重参数通道时,计算深度神经网络中各量化单元的重要性评估值包括:计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将平均值作为对应权重参数通道的重要性评估值;
确定各个量化单元分别对应的量化位数包括:确定各个权重参数通道分别对应的通道量化位数。
具体地,权重参数量化的量化单位是深度神经网络中的各个权重参数通道。当获取了深度神经网络的浮点型模型后,以权重参数通道为基本单位,根据该权重参数通道中所有滤波器的权重参数对权重参数通道进行重要性评估,以确定该权重参数通道的量化位数。
各个权重参数通道的重要性评估值可为本权重参数通道中各滤波器权重参数的目标范数的平均值,例如,若深度神经网络的第i层的第j个权重参数通道共有N个滤波器,filteri,j,k表示第i层第j个权重参数通道中第k个滤波器的权重参数的目标范数,则有:
其中,si,j表示第i层第j个权重参数通道的重要性评估值。
其中,进一步地,目标范数可具体为L1范数。具体地,L1范数为给定向量的各个元素的绝对值之和。
作为一种具体实施例,本申请实施例所提供的深度神经网络的量化方法在上述内容的基础上,确定各个权重参数通道分别对应的通道量化位数包括:
判断平均值是否高于第一预设重要性阈值;
若是,则将对应权重参数通道的通道量化位数确定为第一位数;
若否,则将对应权重参数通道的通道量化位数确定为第二位数;
其中,第一位数大于第二位数。
具体地,本实施例中,通道量化位数可设置两种:高位宽的第一位数与低位宽的第二位数。例如,第一位数可设置为8bit或16bit,第二位数可设置为4bit,2bit或1bit。当第一位数为8位时,对应的量化数据范围分布为[-27-1,27-1];当第二位数具体为4位时,对应的量化数据范围分布为[-23-1,23-1]。
其中,第一预设重要性阈值可根据整个深度神经网络中的权重参数的分布水平而确定。
参见图2,图2为本申请实施例提供的一种确定通道量化位数的应用示例图。本实施例中,第一预设重要性阈值具体设置为1;权重参数通道重要性评估值大于1的权重参数通道选用8位量化位,权重参数通道重要性评估值不大于1的权重参数通道选用4位量化位。
作为一种具体实施例,本申请实施例所提供的深度神经网络的量化方法在上述内容的基础上,当量化单元的类型为深度神经网络的隐含层时,计算深度神经网络中各量化单元的重要性评估值,包括:
将标定图片输入至浮点型模型中运行以计算各隐含层的特征图;
计算各隐含层的特征图与上一层网络的特征图的相似度;
将相似度取反后作为对应隐含层的重要性评估值;
确定各个量化单元分别对应的量化位数包括:确定各个隐含层分别对应的层量化位数。
容易理解的是,第n个隐含层的上一层网络具体为第n-1个隐含层,而特殊的,第1个隐含层的上一层网络具体为输出层。
具体地,激活输出量化的量化单元为深度神经网络的各个隐含层。可以以隐含层为基本单位,通过将标定图片输入至浮点型模型中运行,根据在各隐含层得到的特征图的冗余性对本隐含层的重要性进行评估,进而确定该隐含层的量化位数。
其中,层量化位数与特征图相似度反向变化,即:与相邻的上一层网络的特征图相似度越高,说明本隐含层的区别度较低,冗余性较高,相邻两层间的特征分布较接近,因此可选用较低的量化位数;与相邻的上一层网络的特征图相似度越低,说明本隐含层的区别度较高,冗余性较低,相邻两层间的特征分布不接近,因此可选用较高的量化位数。
作为一种具体实施例,本申请实施例所提供的深度神经网络的量化方法在上述内容的基础上,确定各个隐含层分别对应的层量化位数,包括:
判断重要性评估值是否大于第二预设重要性阈值;
若是,则将对应隐含层的层量化位数确定为第三位数;
若否,则将对应隐含层的层量化位数确定为第四位数;
其中,第三位数大于第四位数。
具体地,本实施例中,层量化位数可设置两种:高位宽的第三位数与低位宽的第四位数。例如,第三位数可设置为8bit或16bit,第四位数可设置为4bit,2bit或1bit。当第三位数具体为4位时,对应的量化数据范围分布为[-23-1,23-1];当第四位数具体为8位时,对应的量化数据范围分布为[-27-1,27-1]。
第二预设重要性阈值可根据整个深度神经网络中的权重参数而确定。本领域技术人员可根据硬件参数设置合理的量化位数标准,来平衡硬件性能和模型精度。
参见图3,图3为本申请实施例提供的一种确定层量化位数的应用示例图。
本实施例在将样本数据即标定图片输入到浮点型模型后,计算获取各隐含层的特征图(feature maps),然后统计各层特征图的数据特征以计算相邻两层间的特征图相似性。
对于某个隐含层,若其与上一隐含层的特征图相似性越高,说明两层特征图的图像特征越接近,特征图之间没有存在大跳变,采用低位宽进行特征表征便能有效保留当前层的图像特征,而不会引起关键特征丢失,因此该隐含层的量化位数可采用位数较小的第三位数;与上一隐含层的特征图相似性越低,说明这两层特征图的图像特征变化越大,当前隐含层中很可能提取到了新图像特征,因此应尽可能保留这些关键特征,可对当前层采用高位宽进行特征表达,因此该隐含层的量化位数可采用位数较大的第四位数。其中,高位宽可设置为8bit或16bit,低位宽可设置为4bit,2bit或1bit。
作为一种具体实施例,本申请实施例所提供的深度神经网络的量化方法在上述内容的基础上,在计算各隐含层的特征图与上一层网络的特征图的相似度时,可具体计算各隐含层的特征图与上一层网络的特征图的直方图相似度。
具体地,相邻两个隐含层的特征图相似性,可采用直方图的形式进行相似性度量。
参见图4所示,本申请实施例公开了一种深度神经网络的量化装置,主要包括:
训练模块201,用于预先训练生成深度神经网络的浮点型模型;
计算模块202,用于计算深度神经网络中各量化单元的重要性评估值;量化单元的类型包括深度神经网络的权重参数通道和/或隐含层,权重参数通道作为量化单元时用于进行权重参数量化,隐含层作为量化单元时用于进行激活输出量化;
确定模块203,用于确定各个量化单元分别对应的量化位数;量化位数与各个量化单元的重要性评估值正向变化;
量化模块204,用于根据量化位数对浮点型模型进行量化。
可见,本申请实施例所公开的深度神经网络的量化装置,结合深度神经网络的自身结构特点,对深度神经网络中各部分结构的信息重要性进行了评估,进而为不同隐含层和/或不同权重参数通道分别设置了与重要性评估值相关变化的量化位数,能够在不影响深度神经网络的计算结果精度的情况下,对深度神经网络的浮点型模型进行最大限度地量化压缩,从而减少数据处理量并加快网络计算,帮助实现深度神经网络在低硬件配置设备上的模型部署。
关于上述深度神经网络的量化装置的具体内容,可参考前述关于深度神经网络的量化方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的深度神经网络的量化装置在上述内容的基础上,当量化单元的类型包括深度神经网络的权重参数通道时,计算模块202包括第一计算单元,用于计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将平均值作为对应权重参数通道的重要性评估值;
确定模块203包括第一确定单元,用于确定各个权重参数通道分别对应的通道量化位数。
作为一种具体实施例,本申请实施例所公开的深度神经网络的量化装置在上述内容的基础上,第一确定单元具体用于:
判断平均值是否高于第一预设重要性阈值;若是,则将对应权重参数通道的通道量化位数确定为第一位数;若否,则将对应权重参数通道的通道量化位数确定为第二位数;其中,第一位数大于第二位数。
作为一种具体实施例,本申请实施例所公开的深度神经网络的量化装置在上述内容的基础上,当量化单元的类型包括深度神经网络的隐含层时,计算模块202包括第二计算单元,用于将标定图片输入至浮点型模型中运行以计算各隐含层的特征图;计算各隐含层的特征图与上一层网络的特征图的相似度;将相似度取反后作为对应隐含层的重要性评估值;
确定模块203包括第二确定单元,用于确定各个隐含层分别对应的层量化位数。
作为一种具体实施例,本申请实施例所公开的深度神经网络的量化装置在上述内容的基础上,第二确定单元具体用于:判断重要性评估值是否大于第二预设重要性阈值;若是,则将对应隐含层的层量化位数确定为第三位数;若否,则将对应隐含层的层量化位数确定为第四位数;其中,第三位数大于第四位数。
作为一种具体实施例,本申请实施例所公开的深度神经网络的量化装置在上述内容的基础上,所述第二计算单元具体用于:计算各隐含层的特征图与上一层网络的特征图的直方图相似度。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行所述计算机程序以实现如上所述的任一种深度神经网络的量化方法的步骤。
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种深度神经网络的量化方法的步骤。
关于上述电子设备和计算机可读存储介质的具体内容,可参考前述关于深度神经网络的量化方法的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (7)
1.一种深度神经网络的量化方法,其特征在于,包括:
获取预训练生成的深度神经网络的浮点型模型;
计算所述深度神经网络中各量化单元的重要性评估值;所述量化单元的类型包括所述深度神经网络的权重参数通道和/或隐含层,所述权重参数通道作为量化单元时用于进行权重参数量化,所述隐含层作为量化单元时用于进行激活输出量化;
确定各个所述量化单元分别对应的量化位数;所述量化位数与各个所述量化单元的所述重要性评估值正向变化;
根据所述量化位数对所述浮点型模型进行量化;
其中,当所述量化单元的类型为所述深度神经网络的权重参数通道时,所述计算所述深度神经网络中各量化单元的重要性评估值包括:计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将所述平均值作为对应权重参数通道的所述重要性评估值;
所述确定各个所述量化单元分别对应的量化位数包括:确定各个权重参数通道分别对应的通道量化位数;
当所述量化单元的类型为所述深度神经网络的隐含层时,所述计算所述深度神经网络中各量化单元的重要性评估值,包括:将标定图片输入至所述浮点型模型中运行以计算各隐含层的特征图;计算各隐含层的特征图与上一层网络的特征图的相似度;将所述相似度取反后作为对应隐含层的所述重要性评估值;
所述确定各个所述量化单元分别对应的量化位数包括:确定各个隐含层分别对应的层量化位数。
2.根据权利要求1所述的深度神经网络的量化方法,其特征在于,所述确定各个权重参数通道分别对应的通道量化位数,包括:
判断所述平均值是否高于第一预设重要性阈值;
若是,则将对应权重参数通道的通道量化位数确定为第一位数;
若否,则将对应权重参数通道的通道量化位数确定为第二位数;
其中,所述第一位数大于所述第二位数。
3.根据权利要求1所述的深度神经网络的量化方法,其特征在于,所述确定各个隐含层分别对应的层量化位数,包括:
判断所述重要性评估值是否大于第二预设重要性阈值;
若是,则将对应隐含层的层量化位数确定为第三位数;
若否,则将对应隐含层的层量化位数确定为第四位数;
其中,所述第三位数大于所述第四位数。
4.根据权利要求1所述的深度神经网络的量化方法,其特征在于,所述计算各隐含层的特征图与上一层网络的特征图的相似度,包括:
计算各隐含层的特征图与上一层网络的特征图的直方图相似度。
5.一种深度神经网络的量化装置,其特征在于,包括:
训练模块,用于预先训练生成深度神经网络的浮点型模型;
计算模块,用于计算所述深度神经网络中各量化单元的重要性评估值;所述量化单元的类型包括所述深度神经网络的权重参数通道和/或隐含层,所述权重参数通道作为量化单元时用于进行权重参数量化,所述隐含层作为量化单元时用于进行激活输出量化;
确定模块,用于确定各个所述量化单元分别对应的量化位数;所述量化位数与各个所述量化单元的所述重要性评估值正向变化;
量化模块,用于根据所述量化位数对所述浮点型模型进行量化;
其中,所述计算模块包括第一计算单元,用于当所述量化单元的类型为所述深度神经网络的权重参数通道时,计算各权重参数通道中的滤波器权重参数的目标范数的平均值,将所述平均值作为对应权重参数通道的所述重要性评估值;
所述确定模块包括第一确定单元,用于确定各个权重参数通道分别对应的通道量化位数;
所述计算模块包括第二计算单元,用于当所述量化单元的类型为所述深度神经网络的隐含层时,将标定图片输入至所述浮点型模型中运行以计算各隐含层的特征图;计算各隐含层的特征图与上一层网络的特征图的相似度;将所述相似度取反后作为对应隐含层的所述重要性评估值;
所述确定模块包括第二确定单元,用于确定各个隐含层分别对应的层量化位数。
6.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任一项所述的深度神经网络的量化方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至4任一项所述的深度神经网络的量化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320012.1A CN111091184B (zh) | 2019-12-19 | 2019-12-19 | 一种深度神经网络的量化方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320012.1A CN111091184B (zh) | 2019-12-19 | 2019-12-19 | 一种深度神经网络的量化方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111091184A CN111091184A (zh) | 2020-05-01 |
CN111091184B true CN111091184B (zh) | 2022-03-22 |
Family
ID=70396484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911320012.1A Active CN111091184B (zh) | 2019-12-19 | 2019-12-19 | 一种深度神经网络的量化方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111091184B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582229A (zh) * | 2020-05-21 | 2020-08-25 | 中国科学院空天信息创新研究院 | 一种网络自适应半精度量化的图像处理方法和系统 |
CN112101543A (zh) * | 2020-07-29 | 2020-12-18 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
CN114065904A (zh) * | 2020-08-07 | 2022-02-18 | 嘉楠明芯(北京)科技有限公司 | 神经网络模型量化方法以及装置 |
CN112598020A (zh) * | 2020-11-24 | 2021-04-02 | 深兰人工智能(深圳)有限公司 | 目标识别方法及系统 |
CN112329923B (zh) * | 2020-11-24 | 2024-05-28 | 杭州海康威视数字技术股份有限公司 | 一种模型压缩方法、装置、电子设备及可读存储介质 |
CN112906883B (zh) * | 2021-02-04 | 2024-09-03 | 云从科技集团股份有限公司 | 用于深度神经网络的混合精度量化策略确定方法和系统 |
CN113065638A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种神经网络压缩方法及其相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
CN109086866A (zh) * | 2018-07-02 | 2018-12-25 | 重庆大学 | 一种适用于嵌入式设备的部分二值卷积方法 |
CN109615068A (zh) * | 2018-11-08 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对模型中的特征向量进行量化的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795836B2 (en) * | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
-
2019
- 2019-12-19 CN CN201911320012.1A patent/CN111091184B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
CN109086866A (zh) * | 2018-07-02 | 2018-12-25 | 重庆大学 | 一种适用于嵌入式设备的部分二值卷积方法 |
CN109615068A (zh) * | 2018-11-08 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对模型中的特征向量进行量化的方法和装置 |
Non-Patent Citations (2)
Title |
---|
"Learning Deep Binary Descriptor with Multi-Quantization";Yueqi Duan et al.;《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》;20190831;第1924-1938页 * |
"一种基于动态量化编码的深度神经网络压缩方法";饶川 等;《自动化学报》;20191031;第1960-1968页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111091184A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111091184B (zh) | 一种深度神经网络的量化方法、装置、电子设备及介质 | |
CN111538827B (zh) | 基于内容和图神经网络的判例推荐方法、装置及存储介质 | |
CN110782021B (zh) | 一种图像分类方法、装置、设备及计算机可读存储介质 | |
CN112287986A (zh) | 一种图像处理方法、装置、设备及可读存储介质 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
EP4200762A1 (en) | Method and system for training a neural network model using gradual knowledge distillation | |
CN115238893B (zh) | 面向自然语言处理的神经网络模型量化方法和装置 | |
CN114707637A (zh) | 一种神经网络量化部署方法、系统及存储介质 | |
CN114239861A (zh) | 基于多教师联合指导量化的模型压缩方法及系统 | |
CN113361707A (zh) | 一种模型压缩方法、系统及计算机可读介质 | |
CN110503182A (zh) | 深度神经网络中的网络层运算方法及装置 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
CN115963420A (zh) | 一种电池soh影响因素分析方法 | |
CN115393633A (zh) | 数据处理方法、电子设备、存储介质及程序产品 | |
CN116884398B (zh) | 语音识别方法、装置、设备和介质 | |
CN112634870B (zh) | 关键词检测方法、装置、设备和存储介质 | |
KR20170088165A (ko) | 심층 신경망 기반 음성인식 방법 및 그 장치 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
CN112800813B (zh) | 一种目标识别方法及装置 | |
CN116956997A (zh) | 用于时序数据处理的lstm模型量化重训练方法、系统及设备 | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
CN113850374B (zh) | 神经网络模型的量化方法、电子设备及介质 | |
CN115905546A (zh) | 基于阻变存储器的图卷积网络文献识别装置与方法 | |
CN117348837A (zh) | 浮点精度模型的量化方法、装置、电子设备以及存储介质 | |
CN112488291B (zh) | 一种神经网络8比特量化压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |